Waterfall is waterfall and agile is agile. They are light years away and cannot be combined. Right? Wrong. Not only could traditional and so-called agile “project” management methods be combined, they should. Here is why and how.
I have already written about history and raison d’être of traditional and agile project management in another blog post. Here I will just repeat the basic and most important facts. Modern project management, nowadays also called ‘traditional’, emerged as a full-fledged discipline in 1950s in the US. First it was applied to construction and later in military projects. In short, this approach entailed planning before execution and strict control over the work. It assumed that work that needs to be done to complete the project is predictable.
Birth of agile was announced in 2001 by the Agile Manifesto. Traditional project management methods like ‘waterfall’ proved inappropriate for software development projects. Software requirements are hard to finalize before the product is actually made, they change often and rapidly, most projects are innovative. Therefore upfront thorough planning did not work, instead agile methods applied adaptive approach.
Predictive (e.g.waterfall) and adaptive (e.g. Scrum) approaches are actually two extremes of a continuum of project management methods. These are two faces of the same thing – how do we go about completing a project. Every project management method is best suited to a specific type of project but projects are diverse, never the same, on top of that there are other factors like differences in organizations that undertake projects and the needs of these organizations. Therefore it is not possible to apply a standard project management method to every single project and it is up to the project manager to select the best approach depending on the specifics of the project.
Let’s take software development projects as an example. Agile methods, for instance Scrum, are great for software development. The thing is that there is more to a software development project than software development itself. And this fact is often overlooked in agile methods. It can also be said that methods like Scrum are mostly about how to do ongoing software/product development efficiently and not about being able to finish a fixed scope of work by preset date and within firm budget.
Traditional project management, and more specifically waterfall as one of its methods is great in managing predictable work and it is very poor or at least inflexible in managing uncertainty. Simplistically said, traditional project management is concerned by so called Triple Constraint of Scope, Time and Cost. This means that the project must be completed within given scope, planned time and within the budget.
Can we have the best of both worlds – predictability of traditional project management and flexibility of agile? Yes, we can. The model is presented on the picture at the beginning of this post.
The project manager should be cautious of and manage the Scope, Time and Cost of the project while allowing software development to be done following an agile method like Scrum which is basically an iterative process. Since agile methods are concerned with delighting the customer, there is a fourth constraint added in the model – Customer Delight. It connects the two levels and aspects of the model – the traditional and the agile one.
This model allows separation of roles and responsibilities. The project manager would be responsible for the four constraints (in reality this is a simplification and constraints and tradeoffs are more). The Technical Lead or similar role would take care of the Scrum or agile development process. In Scrum terminology these are the roles of a Product Owner and Scrum Master respectively.
In conclusion I would like to note that the model I presented above is not just theoretical. It serves me well in my practice, managing software development projects. This is a proof that integrative approach to project management method works and is worth trying. It is not easy to combine discipline and flexibility in one but it is the balance of many different and opposing factors that make project management such a beautiful profession, isn’t it?