The Science of Maintenance

Maintenance projects are the lifeline of most IT companies around the world, let alone India. Development (especially in the current economy) projects are rare. When this is the case, the mentalities of developers working on Maintenance and Development should be different. There needs to be proper grooming in each areas.

Maintenance is typically considered to be run-of-the-mill stuff – nothing great. A few tickets are raised every month – analysis of the defects lead to confusion between the users on the way a specific logic needs to be written. The genuine bugs are closed in the subsequent month. Is that it? The focus (around innovation) on developing applications is much greater than maintaining similar applications. How do we make applications easy to maintain? Are there enough tools?

When one is maintaining a large application for a long time, it becomes a monster all of a sudden – starts to acquire character and attitude!!! This might be because of the lack of continuity in the project. Those who had conceptualized it in the beginning (Business Analysts, Developers, Project Managers) could have moved on to other projects. Documentation is redundant – updates to the initial document are probably not done for a long time. Reverse-engineering of the source-code is one idea. But, it should probably be a continuous process. The tools available (atleast the Open Source ones) are not that great though.

Does it matter if the initial set of developers who wrote the application are the best to maintain it? Dont think so. The mindset is different and it might irk off developers to maybe leave the project or worse, the organization. Maybe then, it is a decision to be taken by the Program Manager every five years. Is the application worth being in the state it is? Is more money being pumped into the application every month? Typically, technology changes might mean that the same application can be implemented in a better way at a lower cost if it was rewritten today. However, this might be more pertinent to bespoke applications. The IT group might also consider the investment that has gone in so far and take a calculated decision to continue.

Whichever way you see it, yesterday’s development is today’s maintenance. What happens tomorrow – is it a rewrite? My enterprise friends might say ‘SOA’ or ‘AIA’. My answer would be ‘It depends’.


Tags: , , , , , ,

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: