Agile and waterfall are two methods of project management that are often contrasted with each other. However, most projects use some of each method, in a unique combination that best serves the needs of that project. As a result, it’s important to understand the essence of both the agile and waterfall methods.
The Essence of Agile
Agile is about being flexible – and about delivering tangible results. It’s also about empowerment – where the work is being done.
The Agile Manifesto is the best starting point to grasp the essence of agile – which emphasizes “Individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, and responding to change over following a plan.”
Agile emphasizes the ideas of designing and building incrementally and in a flexible and interactive manner. Agile comes with an extra degree of challenge; agile requires capable individuals with open-mindedness to customer input, and with an ability to provide leadership in an unstructured environment.
The Essence of Waterfall
Waterfall is about being more rigid up front and throughout the process – and about sequentially planning everything that is to be delivered, and delivering everything that was planned. It’s about trickling down the requirements – and specifying exactly what is to be done by those that will do it.
The waterfall method for software development originated in a paper published by Winston Royce in 1970. In that paper, entitled “Managing the Development of Large Software Systems”, Royce specified five key steps for managing a project sequentially. Interestingly, Royce also identified several risks inherent in the waterfall method, and recommended five remedies that would reduce most of the risk. These remedies proved to be precursors of agile methods.
With the waterfall method, progress is seen as flowing steadily downwards – like a waterfall. The project proceeds through well-defined and sequential phases. This type of approach was adapted from practices in heavy industry, where change is extremely costly and impractical – and it works best in any industry with the cost of change is high.
Identifying the Proper Combination of Agile and Waterfall
There are merits and shortcomings in both agile and waterfall, so combining aspects of each in a balanced way makes sense. Note that even the agile manifesto declares that it’s all a matter of degree:
“…we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan”
Hence agile does not seek to eliminate processes and tools, documentation, contract negotiation, or planning – all of which are the foundations of the waterfall method! It’s simply a matter of degree, and agile has less of these things, while waterfall has more of them.
Waterfall guards against changes later in the cycle, where late cycle changes are an insurmountable and unacceptable problem. On the other hand, it can be nearly impossible to define everything up front – such as on a software development project. In fact, it can be virtually impossible – and inadvisable – to know and plan every detail up front. And it can be better to simply allow yourself to be responsive in the face of change…by employing an agile approach of delivering early and often.
Don’t Just Be Agile. Be Versatile!
These days it takes more than project management skills. It takes more than being a master of a methodology. It it takes much more than being a passionate advocate on a particular methodology. It takes a person with versatility – flexibility in understanding and applying the ins and outs of any method.
John Reiling, PMP
PM Training Online: www.pmtrainingonline.com