Whether you’re doing Waterfall or Agile, it can become almost second nature to adjust delivery dates especially when key milestones are missed. Most of the time it’s wishful thinking because the developers have told us they’re really close to solving the problem.
In the Waterfall world, deliverables largely go unnoticed until the end of phase. At that point, the only real option is to insert a sub-phase, adjust the timelines, ask for more money, and hope nobody gets fired.
In the Agile world, teams that miss their sprint end deliverables just roll those deliverables into the next sprint. This may seem like a minimal impact but sometimes this trend continues onto further sprints.
What does this mean?
If you find yourself constantly changing delivery dates it could mean you’re working towards a fictitious date and compromising quality at the same time.
Chances are the team is stressed out and the stress continues to build because they know they can’t deliver on the next fictitious date imposed on them.
What can you do?
STOP! It’s not ideal but sometimes necessary.
Try to figure out the root cause. Is the team simply taking on too much work? Do you have the required expertise?
When teams get into this situation they sometimes feel the need to divide and conquer. So they work in silos so that if they don’t deliver on the key areas they’re still able to show some progress in other areas. Instead, they should look at the #1 and possibly #2 priorities and just focus on that. In other words, minimize work in progress (WIP).
Also, focus on quality. Chances are the reason you’re in this predicament is because you didn’t focus on quality to begin with. Adopt XP practices such as Test Driven Development (TDD) and Refactoring.
What you shouldn’t do
Don’t come up with more fictitious dates. You’re only making the problem worse and the client will only get more dissatisfied every time you promise to deliver and don’t.
Don’t continue to stress out the team. If you do people will leave, maybe not all but some. That doesn’t mean they’re no longer accountable. If overtime is needed, encourage them to put in extra time at the start of sprint so that they can get ahead. You also need to incentivize them to do so and show that you’ll support them along the way.