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.