Naveen Kumar Singh
Naveen is a professional agile coach and has been working independently for a long time in the Asia... Read more
Naveen is a professional agile coach and has been working independently for a long time in the Asia... Read more
People often compare waterfall vs agile and argue one is better than the other. Discussions also happen around simple requirement vs complex requirement and if simple then waterfall and if complex then use one of the agile approaches. Is it that simple? Is comparing based on requirement type correct?
Another argument is about predictive vs empirical and if predictive then waterfall else agile approach. People also do the comparison of project vs product. If you have project (often referred as fixed time and fixed cost) then go for waterfall and if you have a product that is being built based on market reaction then take one of agile approaches. I don’t see people consider full context and that stumps me. Let’s talk about complex predictive project such as setting up disaster recovery system, automation of plant, rolling out SAP HR in 28 multiple countries simultaneously or automating delivery pipeline.
Here we have predictive work like setting up production like environment for DR that should work if needed as expected, automation of plant and automated delivery pipeline to improve quality and productivity, adopting lean HR practices across company through SAP HR. What approach would you suggest in these scenarios? Should it be waterfall or agile? Can we have incremental release for all these if we choose agile approach? If yes, will these small releases be readily available within a month? If no, then should we take a waterfall approach? Or should be try WaterScrumFall, ScrumBan or WaterKanban? Or possibly SAFe (Scaled Agile Framework) which talks about program implementation through longer planning and execution known as Agile Release Train?
Agile when I say refers to Manifesto for Agile Software Development that was defined by 17 developers in February of 2001 and consists of 4 values and 12 principles. Many claim the Agile way of working was in existence before 2001 and I believe that’s true because Scrum was introduced through the HBR paper “New Product Development Game” in 1986. I admit my ignorance of anything beyond that so I will stop at that. Now, however, we see many versions of agile like agile way of working, enterprise agile business agility, and so on.
The waterfall is about executing work in phases or sequence as we do for a data center - plan, design, build, commission, optimize, assess, etc. and involves capacity planning, cost analysis, civil work, procurement, installation, commissioning certification, etc. These can’t run in parallel like what we do in software development where everything gets executed in parallel or overlapping. The first formal description of the waterfall model is often cited as a 1970 article by Winston W. Royce, although Royce did not use the term waterfall in that article. Royce presented this model as an example of a flawed, non-working model; which is how the term is generally used in writing about software development—to describe a critical view of a commonly used software development practice. The earliest use of the term "waterfall" may have been in a 1976 paper by Bell and Thayer. Source - Wikipedia
Discover top Agile & Scrum certifications for 2024. Boost your career with the best training programs. Find the perfect certification for your professional growth!
Find the perfect certificationCan be perceived that way if you read it incorrectly, but does it promote one-time planning and execution? The image below clearly promotes continuous planning and execution and talks about regular monitoring &controlling. It takes about the same PDCA (Plan-Do-Check-Act) cycle that we talked about in the name of agile development and states that initiation & closure is one time that too not applicable at the project level but at all phases.
The project management body of knowledge (PMBOK) talks about Knowledge Areas, Processes Tools & Techniques. This knowledge is really useful even in an agile context. It is about understanding in regard to requirement management, scope management, quality management, risk management, and stakeholder management. You will find plenty of tools & techniques to manage work. PMBOK talks about FIVE phases of the project namely
If you talk in terms of the project then there is nothing wrong with PMBOK and fits perfectly fine for the predictive complex project. It defines a project as a temporary endeavor undertaken to create a unique product, service, or result. Here the expectation is requirements are clear (maybe complex but clear) and required complex technologies, processes, and tools to execute are identified and available. Usually, such projects take anywhere from 5 months to 5 years. Most project is about completing work and handing it over to the operations team to operate, maintain, and sustain.
The typical software product has some basic challenges that don’t fit within this cycle like frequent changing requirements for it is based on a feedback cycle thus requiring more frequent cycles (of what?)and doing all steps as stated by PMBOK may not be possible or required.
Also, the product development cycle is continuous rather than temporary and work keeps emerging as more is learned about customer expectations, changing business needs, and even the technology upgradation. Product development starts with an idea and will continue till the product is retired so planning and visualization of the whole life cycle upfront is not possible.
Even Scrum (the most popular Agile approach) does mention the project and clearly states that every cycle (Sprint) can be considered as a project.
Recent studies in project management have shown a significant difference in success rates between Agile and Waterfall methodologies. Specifically, Agile projects have been found to be approximately 28% more successful compared to Waterfall projects.
The Agile Manifesto’s primary focus is software development and consists of 4 values and 12 principles. I am not quoting those principles here as they are very specific to software development but the stated values are relevant to many other areas and can be easily interpreted by anyone who understands project or product development.
The whole manifesto promotes a people-centric approach over having rigid processes to address complex adaptive work.
Discover why Scrum Master certification is a top choice for effective project management today. Elevate your skills with the best training available!
Register Today!As I mentioned earlier it depends on the nature of work but let’s also explore if the two approaches really contradict each other or do they complement each other. My perspective on these two approaches is If you are talking about Project Management then the PMI approach suits you better but adopting agile values does make sense.
For instance, can the project team be more collaborative in approach to dealing with complex issues by simple conversation rather than going through stated processes? If yes then why not adopt these values there? Can we go further?
Yes, we can learn some good practices from the Scrum framework even if we do not have releasable increments at the end of Scrum and can’t produce. But we can still practice daily scrum, monthly review, and respective scrum values. If you are talking about complex product development then agile approaches such as Scrum, XP, LeSS, Lean, and other similar methods make a lot more sense. But even in those cases, knowledge areas, techniques, and tools from PMBOK such as requirement management, quality management, risk management, and stakeholder management do add value for these are knowledge not process and this knowledge is still required and useful.
This has more to do with organizational structure, processes, and people within the organization to adopt the lean approach in order to respond to the fast-paced changes of the VUCA world. The Agile Way of Working is much more than agile vs waterfall and needs more time to understand and I promise to write about it some other day.
Waterfall is a linear, sequential approach, while Agile is iterative and incremental, promoting flexibility and continuous improvement.
Waterfall is best for projects with well-defined, unchanging requirements, and where sequential phases are necessary.
Yes, hybrid approaches like WaterScrumFall and ScrumBan combine elements of both methodologies to suit specific project needs.
Naveen is a professional agile coach and has been working independently for a long time in the Asia Pacific. He works with the software development team and product team to develop awesome products based on empirical processes.
WhatsApp UsGot a wonderful PO training from trainer Sumeet Madan from Agilemania. it was so innovative, interactive, lively, jolly,...
Had a really insightful training with Preeth Pandalay. This session helped me a lot in cracking the exam. His real time ...
I had the opportunity to attend Sumeet's PSPO training, and it was an exceptional experience. Sumeet's teaching methods ...
Recently i had enrolled with Agilemania for getting my Professional Scrum master (PSM1) training and certification. I wa...
The classes are very visually informative and activity based to get a better understanding of the content before going i...
We will get back to you soon!
For a detailed enquiry, please write to us at connect@agilemania.com
We will get back to you soon!
For a detailed enquiry, please write to us at connect@agilemania.com