As a specialist recruitment agency working with multiple clients in the project services realm, we are consistently engaging with candidates and clients to discuss their experiences in end to end project management and what their view is on the “best fit” to deliver projects. From our understanding, the two main methodologies utilised for project delivery are; Waterfall and Agile. There are various opinions on both methods and on what will deliver the best solution, however it seems the general consensus is that it all depends on the type of project being delivered and its needs.
Waterfall methodology is where each phase of the product’s life cycle takes place in sequence and progress in transitions. It’s the traditional way in which projects have been delivered often following the PRINCE2 or PMI PMP framework.
As it follows a single linear process, Waterfall methodology is seen as being easier to understand and more manageable, especially for those who are new to software development and when non-developers are involved. In conjunction to this, waterfall allows for a greater emphasis to be placed upon documentation. This provides reassurance to organisations as it highlights any discrepancies that could cause potential risks during the development phase and therefore removed during the design phase.
Whereas, Agile methodology avoids taking a sequential approach in favour of an incremental, iterative one, commonly referred to as “Scrum”. Agile allows for changing requirements over time by using cross-functional teams which work on successive iterations over fixed time periods. Prioritisation follows an exact priority order based on business value and the work is organised into a backlog. Teams using agile are self-organising and will always include a business representative and have emphasis on efficient face to face communication and short feedback loops. The nature of a Scrum due to the rhythm it creates can help to build highly motivated teams where productivity increases over time.
Each iteration has the goal of producing a working product which can be demonstrated to the stakeholders and then feedback can be incorporate into the next or future iterations. The method of agile has evolved from a number of different lightweight software philosophies which were developed in the 1990's to counter heavyweight methodologies like waterfall.
What is the best method to choose?
Arguments suggest that an agile methodology is best adopted for software development based projects as technology, markets and business is changing so fast software needs to be able to adapt to this. Agile is seen to potentially allow for more flexibility than the waterfall method, as even when components change, there is a consistent focus on value. This means what has been delivered already should be worthwhile.
Comparatively, large scale infrastructure/hardware based projects whereby the requirements are guaranteed not to change and a small amount of uncertainty is present or the project is very simple would warrant a waterfall method. There is belief that these type of projects are becoming more and rarer though. In conjunction, if an organisation is not in a mature enough state a more traditional Waterfall methodology would align better than Agile.
However, some clients and candidates that we have been speaking to of late have expressed a hybrid approach incorporating both Agile and Waterfall approaches into the delivery is now the way forward. The feeling is that this approach gives the best of both worlds and for large scale transformation projects where there are many different elements this has seen benefit.