technical debt

software development

Paying Down Your Technical Debt

Every software project I've ever worked on has accrued technical debt [http://martinfowler.com/bliki/TechnicalDebt.html] over time: > Technical Debt is a wonderful metaphor developed by Ward Cunningham [http://www.c2.com/cgi/wiki?TechnicalDebt] to help us think about this problem. In this metaphor, doing

By Jeff Atwood ·
Comments

software development concepts

The Big Ball of Mud and Other Architectural Disasters

Mistakes are inevitable on any software project. But mistakes, if handled appropriately, are OK. Mistakes can be intercepted, adjusted, and ultimately addressed. The root of deep, fatal software project problems is not knowing when you’re making a mistake. These types of mistakes tend to fester into massive, systemic project

By Jeff Atwood ·
Comments

software development concepts

Following the Instructions on the Paint Can

I was chatting on the phone with a friend of mine a few days ago, and he described a project he recently inherited. It was the work of a half-dozen different developers, who each built their parts of the project in a completely different way with little to no communication

By Jeff Atwood ·
Comments

code organization

The Joy of Deletion

I generally dislike these kinds of “Me, too!” posts, but I have to make an exception for Ned Batchelder’s excellent blog entry on deleting code. I’ve often run into this phenomenon with other developers, and it bugged the heck out of me, although I couldn’t quantify exactly

By Jeff Atwood ·
Comments