background preloader

Technical Debt

Facebook Twitter

Analyze and measure application software to control risk and improve productivity - CAST. The Ticking Time Bombing Of Technical Debt. The timer flashes red 5:32, 5:31, 5:30 counting down to its final terrible conclusion. James Bond calmly leans over the device, “So is it the red or green wire, let’s go with lucky red”, snip. The counter jumps from 5:24 to 0:30. ”Ahh not so lucky red, lets try the green”, snip. The counter stops, 0:07 “humm my lucky number” says our hero. And that’s the way it is in the movies; the hero disarms the bomb with 3 seconds to spare on the clock and is home in time for tea, while the world sleeps soundly in its bed. But this is not the movies, the ticking time bomb of technical debt is ticking louder and louder, and the clock is counting down faster and faster, so where is James Bond when you need him?

But lets be fair it’s not just the trend of outsourcing that has generated the technical debt crisis, technical debt started with the very first program 60 years ago, the first “I’ll fix that later”, the first “the design’s not great but it will do”, the first cry of “just get it out the door”. The Two-Minute Guide to Technical Debt.

Companies that understand their level of “technical debt” typically make more informed IT investment and portfolio management decisions than those who don’t. The notion of technical debt is gaining renewed interest among technology executives, who view the concept as a way to help justify IT investments to the business. Technical debt describes the problems that result when IT organizations take shortcuts, such as skipping a software update or using unsophisticated development techniques. The problems may include system outages, lengthy software maintenance cycles, and high maintenance costs. High levels of technical debt can seriously hamper a company’s ability to innovate and grow because it limits the resources available to implement new technology.

Companies focused on growth and innovation should commit to paying down their technical debt and develop a plan for keeping it in check. SQALE. SQALE (Software Quality Assessment based on Lifecycle Expectations) is a method to support the evaluation of a software application source code. It is a generic method, independent of the language and source code analysis tools, licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported license.[1] Software editors can freely use and implement the SQALE method.

The SQALE method was developed by inspearit France (formerly DNV ITGS France). It is used by many organizations for applications of any type and any size. This method is implemented by several static code analysis tools that produce the defined indices and indicators. In addition, this method allows doing the precise management of design debt for Agile software development projects. History[edit] The SQALE method has been developed to answer a general need for assessing the quality of source code. What is the quality of the source code delivered by the developers? Fundamental principles[edit] Details[edit] SonarQube. SonarQube (formerly Sonar[1]) is an open source platform for Continuous Inspection of code quality.

Features[edit] Reception[edit] In 2009 Sonar received the Jolt Awards under testing tools category.[9][10] Featured in continuous integration tools.[11] Used by the Andalusian Autonomous Government,[12] eXo Platform,[13] Apache Software Foundation,[14] Eclipse Foundation,[15] Marvelution.[16] References[edit] External links[edit] Further reading[edit] See also[edit] List of tools for static code analysis. SQuORE. Common uses[edit] The main goal of software analysis is the assessment of quality characteristics like maintainability, reliability or maturity. Software quality is subject to many definitions and debates; hence evaluation, sub-characteristics and metrics used will differ depending on the context of the analysis: e.g. critical flight systems, medical devices, desktop products. Contract management may rely on code analysis to define levels of quality between contractors: e.g. cloning ratio, complexity of functions, specific ratings.

By using such constraints stakeholders may accept or refuse a delivery based on the analysis result of the product. See also[edit] References[edit] External links[edit] NDepend | Achieve higher .NET code quality with ndepend. Code quality - How can I quantify the amount of technical debt that exists in a project. Code quality - How can I quantify the amount of technical debt that exists in a project.