In software development projects, the Waterfall method which instructs a sequential and tollgated flow of project activities, has been used for ages until research and case studies showed that an alternative iterative and hence more flexible approach (widely known as Agile) is more suitable, promising higher chances for project success.
In fact, statistics and surveys showed that agile delivery methods (with numerous flavors such as Scrum, Kanban, XP, etc.) lead to higher stakeholder satisfaction, especially because it accounts for the dynamics of today’s business environments and the resulting fact that the initial project scope usually does not stay the same during the lifecycle of a project, and therefore allow to accommodate changes along the way.
With some clear benefits, the Agile methodology became quite popular and I often hear IT folks proudly saying “We are agile now!” which kind of sounds like they advanced from the traditional waterfall model to the modern agile method and now can be more successful with their project deliveries.
This however is a dangerous way of thinking which actually could lead to the opposite, to project failure.
Agile is not a “one-fits-all” methodology but rather just another method that could be chosen for a given project. The emphasis here is on “could” since a project manager should have the skills and capability to analyze various factors in a project environment, to determine the most suitable methodology that promises a successful outcome of a project.
The table below shows those characteristics and factors to be taken into account, for the project manager to determine which methodology is most suitable for the project:
Accordingly, one should be cautious with so-called agilists who claim that Agile is the only way forward in any project. In some cases, you also hear about companies or IT department leads who mandate their teams to apply Agile to any project going forward— certainly a very wrong approach which indicates that such agilists have a very limited and highly biased view on project delivery concepts.
What is an Agilist?
Agilists are usually the people who have strong enthusiasm for and knowledge of agile methodologies, often also supported by various professional certifications, e.g. Scrum Master, SAFe Agilist, etc. In many cases however, agilists develop a very strong bias towards agile methodologies.
I personally make a differentiation between 3 types of agilists and their related attitudes:
- The Autocratic Agilist— “Agile should be applied to all software development projects, without exception. It is the only way to successfully deliver a project.”
This person is strongly driven towards the agile methodology, probably due to the achievements made so far in software development projects using Agile. He/she became an expert in managing/leading agile projects.
- The Unknowing Agilist— “I have never heard of anything else than Agile.”
This type of agilist usually can be found in the younger generation, some of which may not even were born when the Agile manifesto was written (2001). That person never was part of any non-agile driven project, nor has any knowledge of traditional waterfall concepts.
- The Democratic Agilist — “I am an expert in Agile delivery methods but so am I for traditional methods.”
Having strong expertise in agile methods does not mean that one needs to be limited to one methodology only. Instead, this type of agilist makes an attempt to be an expert in both agile and traditional delivery methods, continuously learning about various delivery models, and is able to apply both.
Unless a project manager is an agilist of type 3 (“Democratic Agilist”), he/she should be labeled as a critical risk to the project as an agile methodology potentially could be the wrong choice and lead to project failure.
Imagine you want to make a trip from A to B and you need to get there as quick as possible. You have two ways of achieving it: either by using your car or by using a bicycle.
One who would always use the car and disregard any other means might achieve the goal perfectly. But that probably depends on the distance between A and B. If it takes 100 miles to get from A to B, then the car is likely the best bet but if B is just 2 minutes away from A, then you probably rather should take the bicycle to get there as quick as possible.
Accordingly, one should beware of “autocratic” and “unknowing” agilists in charge of project deliveries, who too quick jump to a conclusion that a project should be delivered in an agile way.
Don’t get me wrong, I am not against Agile — in fact it is my own personal preference when delivering software development projects. But I never would disregard Waterfall as a logical choice.
There is simply no good and bad here when it comes to choosing a delivery methodology. It is rather a “It depends”.
The most successful project manager is the one who can be both: an agilist and a traditionalist.