Technical debt
As discussed in previous chapters of this book, technical debt is the accumulation of error-prone, unmaintainable code. It happens when Developers take shortcuts to expedite Increment delivery to avoid extra work, or simply through ignorance. Technical debt results in negative effects, which grow exponentially more severe with time. It makes it difficult to implement changes, test code, and resolve issues. It leads to false assumptions about the state of the Product and the quality of the Increment, and it hampers the delivery of value while increasing risk.
Developers may be tempted to tolerate or introduce technical debt as it usually results in a temporary increase in velocity. After all, bad code takes less time to create and deliver. However, technical debt always needs to get paid, and velocity will end up decreasing when that time comes.
Helpful tip
An effective way of dealing with technical debt is for the Scrum Team to agree to include at least one...