Any piece of software, whether product or in-house application, has two distinct phases in its life - developing stage and maintenance stage. While there are plenty of models, rules, and standards that address the development of software, there are hardly any that address the need to manage them post-development.

Application management encompasses quite a few activities in the application's lifecycle:

Code maintenance
Minor enhancements and code stabilization (the formal term for bug-fixing) are a critical part of managing an application post-release

Migrations
Changing market conditions, or in-house policy changes, often necessitate the migration of applications to different platforms, migrate the databases (along with the data) to different databases, change user interfaces, etc.

Re-engineering
Sometimes, mere code enhancements or platform migrations do not provide the answer to changing the way an application needs to behave to suit the changing needs of its users. A classical example is the trend towards Web-based models from desktop-based models for applications - a trend that was important enough for Microsoft to develop the .NET platform. Moving towards a Web-based model does not just mean a technology migration or increased security features, but a sea change in the business logic of the application.

At Siri, we not only recognized the special needs of application management, but went ahead and built our own models and defined our own processes for turning application management from an ad hoc exercise into a practice as formal as application development.

STReaM (Software Testing & Risk Management), our ISO 9001:2000 certified process for testing and development risk mitigation, covers the various aspects of code stabilization - from bug-tracking and reporting mechanisms to code coverage tests post-development. Enhancements are executed as per the standard development methodologies, like RUP, waterfall method, etc.

SMaRT (Software Migration & Re-engineering Technologies), the first process at Siri to be certified ISO 9001, is a comprehensive set of tools (some developed in-house) and process definitions that helps formalize the processes of migrations and re-engineering. A major advantage of formalizing these processes is that it enables quick validation of the objectives of the migration or re-engineering exercise.

Our application development and management services are designed for accelerated time-to-market and reduced costs. Our offshore center in India has talented software and domain professionals with good understanding of business processes.