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!

Technical Debt vs. Product Design Debt

By Frances Lash | March 31, 2015

This post speaks about two different types of development debt that are caused by various agile practices or incrementalism. The outcome of these practices are best exemplified in sayings like: “deploy early and often”, “fail fast”, and “ship and iterate”. Although this method of development is lauded, a bit into the product cycle there will ... read more

Technical Debt: A Framework for Product Managers

By Frances Lash | March 26, 2015

Here is a post that discusses why and how product managers must access and manage technical debt. Technical debt often first considered as solely theory, until the pressures of time and customer desires create the need for compromise and quick and dirty shortcuts. Once the results of these pressures start to build up and create ... read more

Technical Debt – It Is Not Inevitable

By Frances Lash | March 25, 2015

Screen Shot 2015-03-24 at 11.46.42 PM
This post beings with an interesting statement: that in a start up environment technical debt often feels inevitable. Technical debt can be seen as a function of moving fast, minimum variable products (MVP), prototypes, agile practices, and of releasing the product to market as soon as possible. The idea of using a minimum variable product to ... read more

Technical Debt: What It Is, and What It Means for Your Web Project

By Frances Lash | March 23, 2015

Screen Shot 2015-03-23 at 7.14.53 PM
If any piece of software is seen as an investment for your business than it is best to not think about driving costs down to a base minimum. It is better to focus on the return that the money and time invested can generate. This sort of financial metaphor is helpful to understanding technical debt. ... read more

Technical Debt: A Repayment Plan

By Frances Lash | March 13, 2015

Screen Shot 2015-03-12 at 1.59.38 PM
Technical debt is usually incurred when a team consciously makes the decision to put in less than optimal technical work for the short term gain of their project. For example, the team may not put in depth automated tests into their code in order to get the product to market sooner. The key to technical ... read more

Is Tracking Technical Debt A Waste Of Time?

By Frances Lash | February 26, 2015

mh_dzone_logo
Tracking technical debt in the development backlog is meant to make the costs and risks of the technical debt taken on visible; prioritizing debt payments with other work is supposed to ensure that the payments get made. This post argues that tracking debt is not worth it. These are the reasons listed: Some code often isn’t worth ... read more

How To Calculate Technical Debt: A Top-Down Approach

By Frances Lash | February 25, 2015

Screen Shot 2015-02-24 at 5.16.09 PM
As business leaders become more involved with IT investment decisions many CIOs have found it more difficult to receive funding for maintenance of applications and infrastructure. The result of this is that technical debt has become an even more useful term to explain to business stakeholders the importance of IT maintenance investments. This post goes ... read more

Is Technical Debt breaking the Software Development bank balance?

By Frances Lash | February 2, 2015

Screen Shot 2015-01-31 at 5.40.44 PM
Is technical debt still a valid metaphor in the present global software development world? The answer is yes, and this post goes on to present the benefits of such a metaphor while explaining just what technical debt is exactly. There is a growing concern on tech debt not simply because of the costs associated with ... read more

The Technical Debt Singularity

By Frances Lash | January 23, 2015

Screen Shot 2015-01-22 at 2.28.50 PM
A technology singularity, in terms laid out by this post on technical debt, is a point when technology created by humans reaches the point where it can no longer be understood by its creators. A mathematical singularity is a point beyond which odd or unpredictable behaviours can be recognized. In formulating the hypothesis for this ... read more

Is Refactoring “Needless Rework”? – Refactoring for Design Level Smells

By Frances Lash | January 19, 2015

Here’s a post that delves into the necessity of refactoring in software engineering, comparing the practicality of refactoring in software to restructuring in urban planning. It begins by stating that when running software projects that span millions of lines of code the original design is usually good, over a period of time, however, the design ... read more