So, in this post, I will demonstrate that following agile methodologies in general, and the agile manifesto in particular, will lead to the accumulation of technical debt.
As we know, the ‘festo states that they value “Responding to Change Over Following a Plan.” They value “things on the left” more than things on the right.
OK, so now let us assume, that after a few grueling sprints, in the retrospective, it comes up that technical debt is saddling the team. It is decided in the next few sprints that the technical debt will be paid off, and even more importantly, not allowed to grow.
This result — actually — is a PLAN. They PLAN to pay down the technical debt.
Now, the next few sprints come about and lo and behold, there are Changes in what the customer wants, and new features that the customer wants.
Now the team has two choices — they can RESPOND to change, and increase or maintain their technical debt levels, or they can FOLLOW their PLAN and pay down the technical debt.
Which will happen? Following the ‘festo, Changes will be done and technical debt will increase or stay the same.
QED it is shown, that not only will agile ‘festo followers be guaranteed to increase their technical debt, they will find any plan following — however necessary — impossible due to the constant fact that “responding to change” is considered more important.
Not only does agile pretty much guarantee that paying off technical debt will be a low priority, it creates plenty of technical debt of it’s own by “doing the simplest thing first”.
Since they did the simplest thing first, they’ll probably have to do something less simple in the future, and thus, it’s a rework item == technical debt.
Peachy isn’t it? Good luck paying it off.