Software Debt & Design Debt Overview

Join the Technical Debt bloggers in discussions about their thoughts on Software Debt, its impact on code and on the business. If you are interested in blogging for us, let us know!

Defining Technical Debt: What It Is and What It Is Not

By Frances Lash | November 23, 2015

There is always a battle between the amount of time you have to get things done and the amount of work you have to do to get those things done. There is usually less time than what you need to complete all that work. This time vs. work dynamic is what creates technical debt. Hitting ... read more

The Case Against Letting Go of Technical Debt

By Frances Lash | October 28, 2015

When starting a new project, it’s assumed that you begin with optimal code. Then when you add a feature, it take E amount of effort. But what if the code you’re writing on for the new feature is less than optimal? The effort it will take is E + T (T = technical debt). This ... read more

The Symptoms and Causes of Technical Debt

By Frances Lash | October 5, 2015

In the development cycle there are many places where technical debt can rear its head and cause problems down the line for the product you’re developing. In order to tackle the problem of technical debt first teams need to know what it’s comprised of, how to identify it, and, then, how to address it’s presence ... read more

The Prisoner’s Dilemma and Technical Debt

By Frances Lash | October 1, 2015

Screen Shot 2015-09-25 at 9.03.32 PM
The prisoner’s dilemma is a great theoretical game showing the value in cooperation. If you’re new to the concept it works like this: Two prisoner’s are held in two different rooms each being questioned for the same crime. Each one is told that if they sell out the other they will be set free and the ... read more

Technical Debt Build-Up Fueled By Unfettered DevOps Practices

By Frances Lash | July 30, 2015

What would you do if you found out that a major American automobile manufacturer knowingly picked from 27 versions of outdated, under-performing, and poorly built mufflers to place in a brand new model of a car? You would most likely respond in outrage if the product you are purchasing is being compromised by one component that ... read more

Technical Debt, Transparency, and the Iron Triangle of Development

By Frances Lash | July 21, 2015

Technical debt, Software Development, Software Quality
There are a lot of blog posts floating around out there that try to talk about technical debt in a new and interesting way. Few actually achieve this goal. There’s not much you can add to a concept that has been explained over and over again. This podcast with Microsoft veteran exec, Bill Bliss, gives ... read more

How the Public Sector is Dealing with their Legacy Systems

By Frances Lash | July 20, 2015

There’s a new wind blowing in technology, specifically in the public sector, on how to handle the crossroads between systems that have been around for decades and upgrading to the latest wave of new technologies. While this is a concern in every organization where technology is central to their functions (which in this day and age ... read more

Technical Debt is not only a “Technical” Problem

By Frances Lash | July 6, 2015

A question that is not asked often, and less often answered, about technical debt is: who must you pay and how? This question is vital to answer – because it also gives you an idea of who you are borrowing from when you take on technical debt. Often times technical debt analyses miss this critical part ... read more

When Technical Debt Is Better Than Clean Code

By Frances Lash | June 22, 2015

Follow Up to Technical Debt as a Tool
It is often mentioned, when reading about technical debt, that taking on debt can be appropriate and even beneficial in certain situations. However, what are the criteria that can be used to define which scenario is good for technical debt and which is not? This post gives a good answer to that question. There are ... read more

Is DevOps Good or Bad for Technical Debt Reduction?

By Frances Lash | June 18, 2015

Continuous delivery and deployment pipelines force the clean-up of inconsistencies and holes in deployment through consistent automation. It also allows for work to happen between development, test, and production phases, which makes code easier to manage and reduces the risk of a security or operations issues. The DevOps approach can also enable the easy payment ... read more