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 warning I give a new client about Agile projects is the following : your backlog is not a magical whishlist. You can have :
- sprints (event with fixed time frame)
- a backlog
- a board
- a scrummaster
- a product owner
- a daily meeting
- and so on
but 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 call : 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 sometimes (just a simple analog solution)
There will be delay and lag. Even in Agile of course. And the solution is not to do another sprint. It’s to cut down the number of features and start concentrate on what is really meaningful to users.
If you think I’m to vague start looking a the best product out there : 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 word of advice :
Have some budget dedicated to dismount or erase some features. It increases software quality (with less code base) and increases its value (more stable, less feature creeped soft).