The True Cost of Technical Debt

The True Cost of Technical Debt

In this article we'll take a look at a fictitious piece of technical debt from inception to resolution and examine the true cost of technical ... Read More
Tracking .NET Code Quality with NDepend

Tracking .NET Code Quality with NDepend

Let me introduce you to my go-to code visualization and analysis tool for .NET: NDepend. NDepend lets me see dependencies, issues, and quality over time ... Read More
Less Code == More Quality

Less Code == More Quality

Less is more. We've all heard it, but when it comes to software quality, it's definitely true. Less code means more quality ... Read More
Functional Debt: The Price of "Yes"

Functional Debt: The Price of “Yes”

Functional Debt is the direct result of previous business decisions that causes a degraded ability to address current or future business goals ... Read More
Addressing Tech Debt without Killing Quality

Addressing Tech Debt without Killing Quality

So you’re going to start fixing some of your technical debt? Great! Just remember the one cardinal rule: Don’t break the application. Think about it — when ... Read More
Strategies for Paying Off Technical Debt

Strategies for Paying Off Technical Debt

Technical debt: We all have it and every developer worth their salt wants to pay it down, but how do we actually manage this process? ... Read More
Communicating Tech Debt

Communicating Tech Debt

Many developers feel that product management and executive leadership don’t “get it” when we talk about technical debt. At the same time, if you ask ... Read More
Fun with Feature Flags

Fun with Feature Flags

Feature flags are a simple technique that let you toggle whether a new piece of functionality is available in your software or some aspect of ... Read More
Facades should not have Working Plumbing

Facades should not have Working Plumbing

In this short article we discuss the role of facades in application architecture and some common problems and solutions. A facade is a user-facing entry ... Read More
Making Defects Impossible

Making Defects Impossible

Certainly we can’t eliminate all types of issues, but the types of issues we can strategically address at the design or language level is growing ... Read More
Pay down Tech Debt Plank by Plank

Pay down Tech Debt Plank by Plank

A year ago I learned of the thought experiment “The Ship of Theseus” and, particularly, how it might apply to software development. In a nutshell, ... Read More