Delivering complex, large-scale systems faces the ongoing challenge of how best to balance rapid deployment with long-term value. From the original description – “not quite right code which we postpone making it right” – various people have used the metaphor of technical debt to describe many other kinds of debts or ills of software development, encompassing broadly anything that stands in the way of deploying, selling, or evolving a software system or anything that adds to the friction from which software development endeavors suffer: test debt, people debt, architectural debt, ...