Architecture

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 […]

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 […]

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 […]