Urgency of Software Maintainability

Within time, software systems will deteriorate and changes will be required. It is one of the very goals from software architects to build systems that are understandable and maintainable. Software maintainability is the ability of a computer program to be retained in its original form, and to be restored to that form in case of a failure. Typical enterprise business application spends at least 80% of its time in maintenance. Producing software that is easy to maintain may potentially save large costs.

Few main reasons why is it important to have software maintainability in place are:

  1. Software Deterioration. Although software exists in digital form which is not subjected to decay, software must still adapt when the environment of the system is changing. Software deteriorates as it ages and is being maintained.
  2. Defect Fixing. A common situation when software was about to go from development to production implementation.
  3. New business requirements. The stage of system development can experience changes in clients’ requirement which leads to requirement changes in the software development once it goes into production.
  4. Architecture-Level. It is likely that in future more and more software is built from different components. Therefore it is important to prepare and estimate the maintainability on the early architectural level.
  5. Changes to the software’s execution context. This refers to the hardware and other software required for a business application to run. The context includes items such as operating system, database, application/web server, programming libraries, and network.

It is important to plan the maintainability estimation in early stage of software development. Maintainability sometimes increases or decreases. In order to keep the traceability, it is advised to use waterfall development methodology with the requirements fixed up front in the requirements phase. In this way, clients will have a backlog of changes, which makes the software traceable. It is important that the maintainability of the software is kept with minimal risk and impact to existing users. Research that highlight the important of measuring software maintainability is spreading which is emphasised more the urgency of software maintainability.

References

  1. http://www.businessdictionary.com/definition/software-maintainability.html (accessed 12 July 2010)
  2. Measurements of Software Maintainability. http://www.artes.uu.se/events/gsconf02/papers/Land_Maintainability.pdf (accessed 12 July 2010)
  3. The Importance of Maintaibable Software. http://www.basilv.com/psd/blog/2006/the-importance-of-maintainable-software (accessed 12 July 2010)
Skip to toolbar