Software Maintainability – Traits of Good Maintainability – Software Characteristics

What makes software maintainable?  As noted before, some people give a two part answer to this question: 1) the software characteristics and 2) the maintenance and development processes.  The previous post shed a little (minimal) light on processes, and this one addresses software characteristics. In Demystifying Maintainability by Manfred Broy et al, the authors start with the maintenance branch of the software characteristics tree as first described by Barry Boehm almost three decades ago: The blocks highlighted in green are actual software characteristics.  These are obviously at...

read more

Software Maintainability – Foundation for Policies

What makes software maintainable?  We can all think of things that make it unmaintainable, but is it possible to define the things that make it maintainable?  It seems there is as yet no solid agreement among software scientists on this question. I was reading a paper on this topic, Demystifying Maintainability, by Manfred Broy et al.  The authors offer some good insights, the first of which is that if we attempt to create a set of policies that define good maintainability, those policies must have two important characteristics.  They must be: Well-founded – in other words, the...

read more

Software Maintainability – Is Anyone Managing This?

As noted in an earlier post, “the act itself of maintaining software causes it to degrade.”  (Alain April, Software Maintenance Management)  The continual decline of software has also been noted in the Laws of Software Evolution, as conceived by Professor Meir Lehman. Can anything be done about this?  Should anything be done?  Is it worth the cost and effort to keep software healthy and maintainable?  I don’t think the science of software maintenance has advanced enough yet to consistently provide the methods for answering those questions, but I was reading some interesting...

read more