It's estimated that the federal government spends about $80 billion a year on IT; over 70% of this goes to maintaining legacy systems with the remaining 30% going to new investment in next-generation systems. This keeps old systems running but it creates a problem by exposing them to risk as the costs of maintenance grows and money for new systems is further limited. There's an emerging conflict between new and older systems, resulting in a dangerous status-quo.
Mark Ryland, Amazon Web Services' chief architect, spoke to House Committee on Oversight and Government Reform's subcommittee on IT in September and explained the danger of continual funding of older systems. This balance, between funding old systems vs. new systems is just part of the conversation that policy makers are having with regards to dealing with technical debt.
Bill Curtis, Executive Director at the Consortium for IT Software Quality (CISQ) states that this debt is the result of building software that has some errors in it, and waiting to fix these errors. The time between when these errors were made and when they are fixed is what amounts to debt. As technical debt mounts customer's will begin to complain about slow delivery, which in turn will result in more quick and dirty practices and more technical debt. This becomes a vicious cycle that needs to be managed.
There are now new tactics to address this problem: employing a uniform set of standards for software quality. This can be done by including standards contracts and service agreements. Software standards makers, like CISQ, want to use their measurements like performance, efficiency, ,maintainability, reliability, and security as the base for estimating technical debt in a system.
If you can analyze your code to determine the amount of effort needed to fix the aforementioned measurements, you can also measure technical debt in a system. CAST provides a product that is designed for analyzing code while under development. This includes levels of complexity in programming projects - Booz Allen Hamilton, which often has more than 300 software development projects underway in one day, uses CAST in order to measure coding practices in their systems.
While Booz Allen uses the CAST tool to analyze its internal projects, government agencies have also inquired the agency on the tool to see how it would impact of new users to their legacy systems. The tool can also be used for gauging certain service level agreements; certain request for proposals can be based on CAST service levels.
Dr. Bill Curtis also said that CISQ intends on delivering a standard for technical debt, at a future meeting of the Object Management Group standards consortium, that concerns structural quality of code, or in other words, how well a system is built. Technical debt has huge costs associated with it, in order to improve the efficiency of a system it needs to be addressed; software quality tools may just be the answer.
To read the full post visit here.