Technical Debt and the Titanic?
Almost everyone has heard about the Titanic and the sinking of the unsinkable. I guess if you assume your ship is unsinkable, having only 20 lifeboats for a few thousands people seems reasonable. Maybe it gets overlooked when there are so many important “features” to get right on the maiden voyage. I’m sure the pressure to ensure the comfort of hundreds of VIP’s must have been immense. Sometimes it takes a real disaster for change to take place.
Shortly after the sinking of the Titanic, the US Coast Guard formed the IIP “International Ice Patrol” in response to this tragic event. The IIP has continuously provided ships traveling off the coast of Newfoundland with iceberg information, avoidance best practices and technology to spot trouble before it is too late. Shorty after the Second World War, the IIP began using radar to locate possible ice masses that could cause danger. Over time this technology has continuously improved, leveraging Doppler imaging techniques, and is now very effective in distinguishing threating ice masses from other vessels at sea.
In the world of Application Development there are similar pressures to get code out the door quickly. Recently, there have been numerous articles published on “technical debt” which quantifies the technology defects inherent in software development and often is magnified by fast delivery cycles and business pressure. What’s interesting is that Application measurement and analysis tools are available today that are capable of identifying source code violations leading to defects but, in many cases they are not used.
Systematically measuring Technical Debt is analogous to Radar - Doppler imaging systems that have been in use by sea vessels, for many years. Tools like Application Intelligence Platform “AIP” are being utilized by many progressive development organizations and ISV’s to alert Application Development and Maintenance teams of impending structural dangers in a large sea of code. Many ISV’s now offer Structural Quality Gates as part of their standard ADM methodologies and customer offering to get a deeper vision of where danger lurks in software applications and portfolios. Increasing visibility and insight into your organizations critical application’s is good business and could help you avoid a real disaster.