Million years ago, it all started with a Big Bang …
Big Bang worked once! Perfectly! As a result, the universe, our galaxy, solar system and eventually our planet emerged. But it was pure luck! And it probably wouldn’t work a second time. So please don’t try it on software projects! 😉
So what is the problem?
Why can a system not be analysed, developed, tested and then put into production in a Big Bang approach?
Well, users are normally not able to express all their needs and wishes right from the start. We as analysts/developers can’t understand everything from the very beginning. And maybe a development team has already implemented what is needed. But how can you know without asking the users?
Constant Communication …
The best way to overcome this problems is to have constant collaboration between an agile team and stakeholders. A product owner is responsible to get work items from stakeholders. He has the power also to say no to requests. Other team members should help him to refine work items so that they get into a ready state for implementation.
A development team will pick such items and work on them. Incrementally they release feature by feature and ask stakeholder for feedback. Feedback will influence further development and a collaborative generation of customer value. Very clear describes that Henrik Kiberg in his fabulous video Agile Product Ownership in a Nutshell (not only the content is great but also the way he presents it).
… generates Customer Value
So if we look at the customer value that is generated over time. In a big bang approach, customers will not get anything before the project is over. And then its quite often a bang! Many bugs, change requests and whatever will get feed back to the development team.
If constant collaboration happening between stakeholders and an agile team, then this curve looks completely different. Of course, initially will not be much value generated, but the team is learning. But not only the team, also stakeholders learn of what is possible and how they have to express their wishes so that developers understand them. So the focus is on knowledge gathering – for everyone.
Then after a while it gets really into value generation and features after features get released. Those are the happy days in a project when everything is in good progress and collaboration is at its best.
But as it is in every project, after some time new features doesn’t generate so much value any more. It’s time to polish, time to build this nice to have features. But the good thing is, if stakeholders now think, that they got everything they actually need, they can trim the tail and say stop. Alistair Cockburn also describes this in his article on Disciplined Learning.
So remember: Big Bang doesn’t work for executing a project (you just hurt yourself!)