Why did TIOBE partner up with TÜViT towards a quality model for maintainability?
The full article is available as pdf.
Complex software systems tend to be very large nowadays. For instance, a modern car contains more than 100 million lines of code, and this is expected to increase to 1 billion lines in the next few years due to autonomous driving and security measures in the code. Imagine that 100 million lines of code is 1.8 million pages of text, which would stack twice as high as Big Ben in London if printed out. Who is able to maintain such a vast amount of pages? With this in mind, it shouldn’t come as a surprise that the maintenance costs of a software system take about 90% of the total software lifetime. In conclusion, maintainability is an important quality characteristic that needs to be taken seriously.
ISO/IEC 25010 standard on software product quality is the most well-know standard when it comes to software maintainability. This standard defines 8 main quality characteristics, maintainability being one of them. The standard defines maintainability as “The degree of effectiveness and efficiency with which the product can be modified.” To measure maintainability and determine which degree of maintainability is acceptable, the TIOBE / TÜViT Trusted Product Maintainability ISO/IEC 25010 Quality Model has been created. Based on scientific research on the topic of software maintainability, we have selected five metrics that are proven to affect software maintainability: Compiler Warning, Cyclomatic Complexity, Coding Standards, Fan-Out and Code Duplication.