Word is that Agile Development is dead. People have been saying this for quite some time now and I have to say –I agree. Agile Development, in its purest form that is, is dead. It did have a long and productive life. Because of this, I think it’s necessary to reflect back on Agile Development and realize that, even though its purest form is dead, there is room for evolution.
Agile Development needs to evolve. There has to be a hybrid that emerges between Agile Development and Waterfall Methodology. We can’t have every single rigid plot and point planned out and also can’t just fly by the seat of our pants and plan as we go. There has to be some middle ground.
Let’s consider Waterfall Methodology for a moment. Waterfall is a sequential design process. It consists of 8 stages: conception, initiation, analysis, design, construction, testing, implementation, and maintenance. Once each of the 8 stages is completed, the developers move on to the next step without going back. That’s the sequential part. Developers do not go back to previous steps once they’ve been completed. Instead the entire project would be scrapped and restarted. Because there is absolutely no room for change, a detailed and extensive plan to be followed is placed in the beginning.
Agile, on the other hand, follows an incremental approach. This involves developers starting with a simplistic project design, and then working on small modules. Work on modules is done in weekly or monthly sprints. After each sprint, project priorities are evaluated, tests are run, bugs are discovered, and customer feedback is incorporated into the design before the next sprint.
Born as a solution to the disadvantages of Waterfall Methodology, Agile Development has long been criticized for its collaborative nature –focusing on principles rather than process.
Solution? A hybrid of the two. For so long it seems like people have been choosing the lesser of two evils in tallying up the cons of each process. Why not consider instead taking aspects of both methodologies? Why not combine them to make the best possible software development process for your project? The best of both worlds.
Like any collaboration though –this is a compromise. Everyone has to give up something. Waterfall Development must give up some certainty in regards to fixed expectations, for the flexibility and freedoms of Agile Development. Agile Development must compromise to be creative but with less freedom. They will instead be working against fixed deadlines with cost forecasting and risk assessments.
Can it work? I think so. I think it’s the answer to the death of Agile Development.
What are your thoughts? Do you think that Agile Development is truly dead? If so, what’s the best alternative? Is Waterfall Methodology your choice? Or do you think a hybrid is the answer? Comment below!