Looking out or pondering over what would be the best methodology for a Cloud implementation project? Most of us want to implement projects using the Agile methodology, but we also want to achieve a fixed budget and timelines. 

Question is, how do we square this circle? 

Having been through many similar quandaries, I thought it would be worth sharing our experience in this regard.  To begin with, let me highlight key points about Waterfall, Agile and Hybrid methodologies that are reasonably well known and accepted. 

Waterfall

Well structured, well documented, fixed scope (and hence fixed budget & timeline), step by step process for implementing a Project. Here each step is reviewed signed off from the customer. Hence it works well for a project where the requirement is known to its nth level of details. 

Demerits are:  

  1. It tends to become rigid when there are changes in scope
  2. Once the requirement is given, Customer would not see the built product until the testing phase  
  3. For a complex cloud implementation project, where the requirements are not clear at the beginning of the project, the project could well be on its way to failure 

Agile

It’s an iterative, incremental process, which provides the customer with early visibility of how the product is getting built and allows the customer to play a key part in the build phase. In a pure agile project, the scope is loosely defined, hence the budget and timelines cannot be fixed. Here, the highest business value features are prioritised to be delivered first in a small incremental process. It works well when there is a complex project/product to be built, where requirements are not clear and business is ready for an incremental improvement approach for the product.  

Demerits are: 

  1. As the scope is loosely defined, Budget and Timelines cannot be fixed 
  2. Documentation is given less priority and would cause issues during the support of the project especially when the core project team is not around. 
  3. Committed Product owner(s) from Business is must during the entire lifecycle of the project – which may be an issue for some customers.
  4. It works well when developing products, but pure agile does not work well when there is a Transformation project, where we need to replace a legacy system into the new cloud system. 

Having spent close to 15 years working with various different methodologies described above and their variations – over the last few years, I am increasingly seeing very good success rates with what we would call the Hybrid methodology, which combines the salient features of both these approaches.  

Hybrid Methodology

It is a combination of Waterfall and Agile methodologies. It takes the merits of both and reduces their demerits. Here we use phased structure from Waterfall i.e. Requirements gathering, Design and Build, testing, cutover – Go-live, Post go-live support and BAU. Within the Design and Build phase, we use Agile methodology i.e. sprints to build the features.  

In the requirement phase, the scope is defined to a level where the implementation partner understands what needs to be delivered and can provide estimated cost and timelines within a said tolerance 

Using Agile methodology during design-build provides early visibility of the solution being built to the customer and early corrective actions can be taken if there are issues with understanding the requirements/scope. 

Hence the merits are:

  1. Scope, cost and timeline are defined
  2. Suitable for high complexity transformation cloud projects where the scope is not 100% defined
  3. Early visibility 
  4. Less rigid – after taking the feedback from the customer minor to medium changes can be accommodated.  
  5. Well documented, hence easy for the support team to support the project 

To summarised, methodology should be selected based on the complexity of the project and how detailed the requirements are known to the customer. 

Requirements Complexity Timeline / Budget Flexibility Methodology 
Clear to nth details Low to medium No Waterfall methodology 
Not clear Medium to high complexity Yes Agile methodology  
Not clear Medium to high complexity No Hybrid methodology 
Packaged solution  Medium to high No Hybrid methodology