You have to make that release date. You need more time to get the structure of your modules right, but you don’t have it. Hitting the release date is more important than cleaning your code, so you defer the cleanup to make the deadline. You agree to take on technical debt which you’ll have to pay back later. Speeding up now to hit this release date will make you slower hitting the next one. If you’re not careful, over time, development slows down to a crawl and every feature takes weeks instead of days.
To be able to manage technical debt in agile software development, we need to fully understand tech debt. Otherwise, we’ll ruin our software. Some questions to find a technical debt definition are:
- What is technical debt (and what isn’t)?
- Where does technical debt come from?
- When is it ok to create technical debt?
- How does technical debt hurt development?
- Technical debt management: how can I measure technical debt?
- How can I reduce technical debt?
- How can I avoid technical debt?