Since requests arrive at an unpredictable rate, the ability to consolidate multiple small requests into a larger patch request will be important. The attempt should organize and staff the team so there is a steady group that can handle a predefined number of small requests and application issues. Fixes or changes that are waiting for a release need to be eliminated to the extent possible.
In the maintenance context, the major reasons for the defects are:
Introducing these activities in the maintenance process, besides estimating adequate time for these activities will ensure that your defect rates are minimized to a significant extent. There are no short cuts to achieving this. It will take discipline, communication and leadership to ensure that these issues are addressed effectively.
The concept of conveyance in manufacturing is the unnecessary movement of a part during production. Conveyance brings to mind porting and migration projects on the one hand, and the operating system, or database, or compiler upgrades that happen due to obsolescence.
The quality of the original code is a major input into these costs.
Questioning the need to migrate and port is the first weapon that you have in reducing conveyance costs. The second is to ensure that all of your code complies with standards that all compilers in that language or database management system must adhere to. The third defense is to plan early for all your migration/porting needs.
Waiting until the last minute puts your team under tremendous pressure. Raising the question of migration and upgrades early with your vendors will ensure that there are appropriate solutions provided. You then will have the leverage to negotiate better with your customers and your product vendors.
Application maintenance can take up nearly 70% of the total application lifecycle effort. By applying the principle of lean manufacturing to your application portfolio, your IT organization will realize increased quality and productivity while reducing unnecessary costs.
Ramesh Dorairaj is head of Application Management Services for MindTree Consulting. Ramesh has more than 18 years of industry experience across domains such as banking, commercial markets, retail, utilities and manufacturing. He currently advises MindTree customer on better management of their application portfolio, establishing appropriate support organization structures, implementing quality frameworks like CMMi and scaling up IT organizations to meet growth challenges.