Software Maintainability & Changeability Metrics

The demand for high quality and maintainability of software is increasing, setting it as a differentiator for the success or failure of a software product. Join the Technical Debt bloggers in discussions about how Technical Debt affects the functionality and the software maintainability factors of a system, and how these attributes can be measured. If you are interested in blogging for us, let us know!

Move Fast, Minimize Technical Debt

By Frances Lash | December 17, 2014

This is post with some tips for start-ups to minimize their technical debt. First, it needs to be decided which code is going to be kept. Start-ups will often make code that is temporary and some code that will definitely be around later. Therefore, when code needs to switch from temporary to sustainable the developer ... read more

Inheriting Bad Code: How to Fix and Prevent it

By Frances Lash | December 16, 2014

In this presentation by Kimber Lockhart, as part of the Hack Summit (the virtual conference for programers), she discusses what to do once you’ve inherited bad code. She speaks less about the source of bad code (low budget, high pressure to meet deadlines, company’s decision to hire poor developers) and more on the steps to ... read more

Economics of Quality: Technical Liability and Self-insuring Software – A CISQ Presentation

By Frances Lash | December 3, 2014

Screen Shot 2014-10-22 at 10.26.31 PM
CISQ is the Consortium for IT Software Quality, a special interest group of the Object Management Group organized to create standards for measuring software quality, including the definition of technical debt and factors that influence it: security, performance, reliability, and maintainability.  In this presentation from CISQ, by Murray Cantor senior consultant at the Cutter Consortium, the ... read more

Technical Debt: What it is and why should you care?

By Frances Lash | December 1, 2014

Screen Shot 2014-11-28 at 11.13.17 PM
Technical debt is often directly responsible for many problems that occur when building high quality software quickly – especially as companies move towards more agile methodologies. Technical debt is generally the sacrifice of quality for speed, so when cutting corners to meet a deadline you are accruing technical debt . This debt taken on was ... read more

Pay Yourself First: The Art Of Reducing Technical Debt

By Frances Lash | November 17, 2014

Screen Shot 2014-11-15 at 7.53.57 PM
Technical debt acts as negative interest on your time that continues to accrue while you work. Here is a post that goes beyond this definition in order to come up with a ‘pay yourself first’ technique to reducing technical debt overtime. The example of technical debt given in this post is when in one case software ... read more

Measuring and Managing Technical Debt – A CISQ Presentation

By Frances Lash | October 23, 2014

Screen Shot 2014-10-22 at 10.26.31 PM
CISQ is the Consortium for IT Software Quality, a special interest group of the Object Management Group organized to create standards for measuring software quality, including the definition of technical debt and factors that influence it: security, performance, reliability, and maintainability.  A few months ago the Consortium for IT Software Quality (CISQ) had a presentation on ... read more

Managing Technical Debt with Agile: Care About Your Code

By Frances Lash | October 14, 2014

Screen Shot 2014-10-13 at 10.32.00 PM
Managing technical debt is easiest when there is an outline to help your development team discuss how classify and prevent technical debt. This post does just that. Technical debt is classified in several ways according to Martin Fowler’s tech debt quadrant (prudent and deliberate debt; reckless and deliberate debt; reckless and inadvertent debt; prudent and ... read more

Paying Down Technical Debt: Work Smarter Not Harder

By Frances Lash | September 24, 2014

Screen Shot 2014-09-24 at 12.02.26 AM
This post starts off with an illuminating comparison: between IT shops that work strenuously trying to complete 2 weeks worth of work in 6 days and achieve very little, and other organizations that seem to make much more progress in their work with less hours. The idea of working smarter – not harder – comes ... read more

Using Agile Techniques to Pay Back Technical Debt

By Frances Lash | September 19, 2014

ee819135.Laribee_Figure1(en-us,MSDN.10)
Acknowledging that some form of technical debt exists in every codebase is paramount to managing debt and staying in “the black”. Asides from the fact that technical debt kills productivity thus leading to economic downsides, there exists a psychological downside to technical debt. If a developer dreads dealing with code that is brittle and filled ... read more

When Code is Considered Technical Debt

By Frances Lash | September 8, 2014

This post tries to explain when code should be considered technical debt, rather than define the term by itself. For example, the post explains that technical debt is often described as code that is difficult to maintain or does not fall under the idea of ‘good code’. The belief that there is technical debt in ... read more