Agile versus Waterfall in Software Projects
By John Herman PMP, CQE, MPM
A complete discussion of the pros, cons, and other aspects of using agile, waterfall, or hybrid approaches is too much for a blog column. Indeed, it might be worthy of a short book! What follows is a short recap of what I’ve had success with across the past decade. I’ll concentrate on Agile versus Waterfall and defer discussion of Hybrid methods for a future posting.
A fairly universal rule of thumb is that the Waterfall method works well when requirements are well defined. Agile thrives for projects where requirements are not well defined, are expected to change, or evolve based on each iteration such as with R&D activities.
Agile is usually very good for customer service or customer facing applications, where user feedback contributes to requirement changes, early and often. In addition, applications that interface with customers often need to rapidly incorporate innovations similar to those being used successfully by competing companies.
Agile is also great for marketing applications, another area of the business where change is common. Again, needs to respond flexibly and/or rapidly to changes in the economy and marketplace are a common factor in the marketing and sales functions of the business.
Waterfall is usually the best choice for compliance projects, where requirements are usually firmly based on laws, regulations, policies, or audit findings; both from internal and external sources. In addition, compliance activities are usually constrained by a date by which the compliance should be achieved.
Accounting and finance applications are also suitable for Waterfall. These business functions usually have exact requirements and face continuing efforts to meet standards for reporting to management, shareholders, and overseeing organizations.
It has generally been accepted that the choice of methodology for any particular project should be based on that project’s needs. That said, the above summary reflects some real-world experience with projects across companies of varying size with varied products and services.