On some Agile projects I’ve been working on I noticed an arch reality :
If you still speak about features, or plan to add another sprint to “finish” the backlog, you are not Agile.
One of the first warnings I give a new client about Agile projects is the following: "your backlog is not a magical wishlist." You can have:
- sprints (event with fixed time frame)
- a backlog
- a board
- a scrummaster
- a product owner
- a daily meeting
- and so on
If you still think the team will finish all your User Stories at the end of the last sprint, you’re gonna have a bad time.
So Agile is a big scam, right?
No. Certainly not. It’s a reality check. If you don’t have enough money to build all you have in mind, you won’t.
And you know what? It’s a good thing! Features are not the goal of all this sprinting. It’s about VALUE.
Your backlog is not final. It’s a moving plan. It’s a goal. And User Stories are certainly not features. A US can be composed of many features or none in some cases (just a simple analog solution).
There will be delay and lag. Even in Agile. And the solution is not to do another sprint. It’s to cut down the number of features and start concentrating on what is really meaningful to users.
If you think I’m too vague, start looking a the best product out there. It probably has less features but an immense value each time you use it.
Dismount what you already built!
Maintenance is a part of your software value. It has a cost. It represents a debt.
So some final words of advice:
Have some budget dedicated to dismount or erase some features. It increases software quality (with a smaller codebase) and increases its value (more stable, less feature creeped).