Nowadays there are a variety of tools and services available that provide insight into the quality of the code. In order to quantify quality a number of metrics are collected and used to create a maintainability index number. Visual Studio Team System gathers metrics to put a number on the quality of your code. While Omnext offers code is a company which offers services around providing insight into the functioning, quality, and size of software. Now what to do once you have a number? What does it really mean, other than wanting to be good and not score low on a report?
I offer a basic solution:
A project which scores high on maintainability can be maintained by junior to medior skilled developers.
A project that scores low requires senior developers to maintain the application and effectively do what a junior could do on a better code base.
This leads to a simple mathematical deduction.
A senior developer costs 30% to 40% more than a junior. Therefore a bad system will cost 30% to 40% more to maintain than a good system. Of course the increase is not quite linear so if we put it on a sliding scale/table we get:
| Maintainability Index | Increase in maintenance cost |
| 0 | n/a |
| 10 | n/a |
| 20 | 60% |
| 30 | 40% |
| 40 | 30% |
| 50 | 22.5% |
| 60 | 15% |
| 70 | 10% |
| 80 | 5% |
| 90 | 2.5% |
| 100 | 0% |
Feel free to refer to this as the Blomsma Code Metrics Cost Factor.
