I'm a developer on a team that has just finished some web development work. It was due for a release tomorrow but, as a result of a review by management, needs reworking. This will undoubtedly add a lot of time onto the estimate for release. We can't release what we have, since that's incomplete and we must start work on the redesign tasks now.
To me, this is a bit of a failure. We're now pushing the date back (whichever way you look at it). I believe our agile process failed us, because from my (admittedly limited) understanding of agile, such a methodology encourages iterations and I think our team is iterating wrong.
Solutions I've already considered include:
- Designed up front with rigid stages of the lifecycle (i.e. "sorry, designs are done now, we're working of what we received originally"). However, this seems more like "waterfall" than agility.
- We finish working on what we know is a design that will meet the release date, but may become immediately outdated. This seems very wasteful in terms of development effort if we're working on something that will be ripped out in the very near future.
Why did our process fail, and how could we fix it in the future?
For instance:
- How did your iterations look like? How long? How many already?
- Have there been previous releases?
- Was the new functionality regularly internally tested / presented to management?
- On what basis and how long ago was the release date set?
- Was a dedicated product owner and / or product management involved?
– trueunlessfalse Jan 24 '17 at 14:45