Developing Software in Maintenance Mode

Software Maintenance is making changes to the software after delivery, in order to correct faults and deficiencies found during usage, or to improve performance or any other attribute as well as to adapt the product to a new environment.

The software maintenance is generally classified as:

due to…
Corrective …error detections
Adaptive …change in environment
Perfective …improving quality (e.g. performance)
Evolutive …changing user requirements
Preventive …due to forseeable errors but with no immediate benefit (e.g. Y2K problem)

Regarding the future maintenance of the software, we can find two types of projects, with very different behaviours:

  1. Short-term approach: The software is developed as soon as possible, taking into account only the cost (and the profit) of the current project, regardless its future maintenance and growth. In that case, software maintenance is not given the priority it deserves and as such it is often neglected by the management.
  2. Long-term approach: The software is developed incrementally, as part of a much bigger vision, taking into account the future maintenance and growth of the product.

The final user or company who has paid for the product must to know how maintainable is the software that they have acquired.

With short-term approaches there is usually big Technical Debt inside the code, that impairs or prevents the growth of the product at a reasonable cost and schedule.

Technical Debt for the software maintenance cost is like an iceberg: 90% of the cost is unknow. There are big hidden costs.

Therefore, software must to be built using always a long-term approach because always the maintainability must to be a priority in every project, in order to avoid future hidden costs.

The best way to lower maintenance effort is to build quality in from the start. Quality is eliminate Technical Debt. Quality is release a Minimum Viable Product, receive feedback from the final users and work in short iterations to add new functionality. Quality is developing always in “maintenance mode” so we are improving and adapting the product continuously.

More information:

the place for my daily writing
Do you remember what you did last week? and what about how you felt? and last month? and last year?
sign up free 


Leave a Reply

Your email address will not be published. Required fields are marked *