Complexity Debt

re-frame of technical debt as being associated with increasing complexity

From The Unicorn Project:
There are many things that people call technical debt, but it usually refers to things we need to clean up, or where we need to create or restore simplicity, so that that we can quickly, confidently, and safely make changes to the system.
“Sometimes it’s a build and test system that doesn’t give fast feedback to developers, or when it stops working entirely,” he continues. “Sometimes it’s when simple components become complected, and you can no longer reason about it or change it without immense effort or risk of catastrophe. Sometimes it’s when decision-making processes or the organizational structure loses locality, forcing even small decisions to be escalated—your infamous ‘Square.’
“I’ve started calling all of these things ‘complexity debt,’ because they’re not just technical issues—they’re business issues. And it’s always a choice,” he says. “You can choose to build new features or you can choose to pay down complexity debt. When a fool spends all their time on features, the inevitable outcome is that even easy tasks become difficult and take longer to execute. And no matter how hard you try or how many people you have, it eventually collapses under its own weight , forcing you to start over from scratch.”


Edited:    |       |    Search Twitter for discussion