Thursday, October 23, 2014

Manage maintenance operations


Managing Software Maintenance
Maintenance operation are requires a special management strategy. The typical problem with maintenance is the software entropy. On other words, the older your code gets the more lines of code it accumulates, the more closely coupled modules become and the higher the effort to maintain and evolve your product. So, what should we do with old software?


Rewrite it: Just throw it away. When maintenance cost is very high and the source code doesn’t have any economic value, this is the best option.  Even though this could seem an easy task, duplicate a system behavior is almost impossible and very expensive for big products, so this is a hard decision. On the other hand, if this is the only possible option, it means that you did something wrong in your maintenance strategy. So think twice.

Harvest from it: A piece of software could be old but we can always learn from it since it may contain solid parts that have been working for years of real use. Study the software to reuse most of its ideas or design in a new system is also known as Software Archaeology.

Wrap it up: The most common problem with old great software is that it needs to be integrated with newer technologies. So, you can also consider take that good code, put a wrapper around it and move on. From the inside the great old code, from the outside ready to be integrated with modern technologies.

Transform it: Most of the software will be in this category for most of its product lifecycle. The maintenance cost is not high and product keeps evolving to provide more business value. The key factor is be able to keep the software in this stage as long as possible doing a trade off to control the technical debt.

No comments:

Post a Comment