Less is more. We’ve all heard it, but when it comes to software quality, it’s definitely true. Less code means more quality.
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.
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 we get to take on technical debt the business paying an opportunity cost for us to refactor code instead of making new features or even […]
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? Implementing a Crop Rotation In my article on communicating technical debt I compared paying down technical debt to the importance of crop rotations in farming. If […]
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 developers about factors vital to the long-term success of a project, paying down technical debt is high on the list. So, how can we communicate […]
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 how it behaves. In this article, I’ll discuss why this isn’t as crazy of an idea as it sounds, how you can implement a simple […]
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 point holding many internal components Like fake buildings on a movie set, facades in software are a nice exterior representation of something complex. In terms […]
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 every year.
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, the Ship of Theseus refers to an old wooden sailing ship sailed by Theseus. Over the course of its voyage, every piece of the ship […]