Differences between Waterfall and Agile ERP Implementation
After going through the stages of finding the right ERP solution for your business the next step comes to finding the right solution provider or partner to implement the application. Each solution provider will have their own tools, processes and methodologies for rolling out the ERP solution into your business, but in saying this most will implement using a Waterfall implementation methodology, where a minority will use an Agile Scrum approach. We will outline in detail the differences between the Waterfall and Agile methodologies.
The Waterfall approach can be seen as water cascading down where each particle of water is connected as one seamless flow that ends at the bottom of the river. As certain each step is completed, the next one follows in sequences where this method can be considered as the traditional approach in software delivery. Each of the Waterfall steps are as follows in most ERP implementations –
Phases of Waterfall
Discovery – the first discovery phase involves the uncovering, finding and initial analysis of the business requirements and how these are to be achieved using the ERP solution. This phase is usually done on-site at the customer premises as all business process owners are required to outline how they are currently operating their business and process.
Planning – the planning runs in parallel with the discovery stage and is when you begin to plan the whole project, which involves identifying the project team, governance structure, user adoption / training, testing and data migration strategies required to achieve a successful implementation.
Solution Design – this phase is when the solutions are documented based on the requirements defined in the Discovery phase where the specific solution component are mapped out and the configurations defined. Upon completion of the solution documentation, the customer is expected to sign this document as this forms the scope for the actual implementation / development phase.
Implementation / Development – this is the actual nitty gritty of where the solution provider configures the ERP solution based on the agreed the Solution Design document. Each of the agreed requirements and business process are delivered in the ERP solution with an initial load of data migration (e.g. items, customers, suppliers, etc), the business stakeholders will be demonstrated the solution before they move to the next process. It is not until all processes are completed will the next Testing phase will be initiated where the business “super” users (i.e. users designated as ones that will own the ERP solution at go-live) begin to get into the ERP solution and test their processes (after some training).
User Acceptance Testing (UAT) – Once all the processes are delivered in the new ERP solution to meet each of the business requirements, another data migration load is achieved so the designated business “super users” can be trained in order for them to execute on user acceptance testing (UAT). As each test has passed acceptance testing, they proceed to the next until all have been signed off as “passed”.
Go-Live / Deployment – Once all user tests are signed off, the next step of deployment is initiated where final data migration is loaded into the ERP system. It is at this stage that now the users are now transacting in the new ERP. This usually happens are the beginning of a new month so the financial close can be completed in the legacy ERP / accounting package and the new ERP to start at the beginning of the new period.
Support / Maintenance – Support and maintenance will be initiated once the business is live on the new ERP. Most solution providers will provide a level of go-live support as part of the implementation.
- Clear framework
- Scope Solidified Through Solution Design Documentation
- A completed and finished end-to-end product completed
- Clear start and end lines
- Gives your project structure
In most cases, the agile methodology is faster and more flexible than waterfall. When using Agile method, the deployment doesn’t need to be presented in a full as the finished product like in Waterfall, but rather focuses on completing each of the business processes one by one with the business “super” users testing each along the way. In the agile approach, the business users are being trained and testing the solution at all parts of the implementation, compared to the Waterfall approach where they start getting into the new ERP solution during the UAT phase.
Let’s work through each of the Agile methodology steps…
Phases of Agile
Discovery – The Discovery and Planning phase are the same as in the Waterfall approach, where the business requirements and project plan (in agile through sprints of work) are understood. However, instead of writing up a Solution Design document with the scope; User Stories are instead defined from a templated list for each process. A User Story is a way of capturing a description of a software feature from an end user perspective, with the format needing to articulate these three important questions –
- Who is user? — As a <type of user>
- What solution are we building, what is the intention? — I want <some goal or objective >
- Why are we building this solution, what value it bring for the user.? — So that <benefit, value>
Once the user stories have been agreed and signed-off for each of the business processes and project plan solidified do we move to the execution phase of the Agile implementation.
Agile Sprints Delivery & Customer Acceptance – Agile sprints (i.e. the definition of a sprint is a set period of time during which a specific process in the business is to be completed and made ready for review) is usually in fortnightly time blocks, is where each of the users stories are being implemented in the ERP solution, with the data migrations required in process blocks called a product backlog.
With ERP solutions like NetSuite SuiteSuccess, the product is templated for each industry therefore making the sprint more of an alignment to the solution than building the product for each sprint from scratch.
Each product backlog pertains to a business process, where the Record to Report (Financials) product backlog of user stories is up first, where the Chart of Accounts, GL, Segmentation and Reporting user stories are delivered. This way the foundations of the solution are laid down first considering all processes end up in the financials domain one way or another.
Once the Record to Report user stories are completed in full as part of the first sprint, the solution is then “showcased” to the business stakeholders where they provide feedback on the solution. Any feedback is incorporated into the solution and then the business stakeholders are trained to facilitate them performing user testing. Once they sign-off on the Record to Report process, then the other processes (in the next set of sprints) are initiated (i.e. procure to pay, order to cash, etc.).
Go-Live / Deployment – Once all Agile sprints for each of the processes are delivered, tested by the business and signed off, the next step of deployment is initiated in the same way as that in the Waterfall approach, with the final data migration is loaded into the ERP system.
Support / Maintenance – As the Waterfall approach, the support and maintenance phase is initiated once the business is live on the new ERP.
Below is a graphical representation of our OneKloudX Agile NetSuite ERP implementation approach, which illustrates each of the above Agile phases.
Agile approach values more the adaptability and involvement and in this method, there are several benefits presented.
implemented faster, even more so when industry templated ERP solutions like NetSuite
SuiteSuccess are utilised as the base
- McKinsey have confirmed a reduction of program cost by 10 percent, driven primarily by having to do less rework in the E2E testing and UAT phases
- Go-live achieved sooner, on average most implementations take 5-6 sprints = 10-12 weeks. Ability to compress three times more workload into a given period through greater parallelisation of functional teams.
- Better user adoption as each of the business stakeholders are seeing, testing and signing off each process as part of the fortnightly sprints.
- High implementation team morale, as the business users get to see the solution implementation’s measurable progress every day.
Waterfall Versus Agile
The Waterfall approach is still widely used as most solution providers and software vendors haven’t worked out how the Agile approach can be utilised during an ERP implementation. Based on our experiences of implementing ERP using the Agile approach for a number of years now, we are seeing implementations being more successful where the business users are across how to utilise the new ERP solution from day 1 at go-live. This is compared to the Waterfall approach where the business stakeholders are only seeing the ERP solution at the User Acceptance Testing (UAT) phase, which in most cases is only a month before the Go-Live / Deployed phase. From our experience, a month of interacting your team interacting with the new ERP is not enough time for them to confidently know how they will transact at go-live. Couple the user adoption benefits with the reduction on average in implementation time and cost makes the Agile implementation approach more superior above Waterfall.
Contact our expert team at OnekloudX for more information about NetSuite Cloud ERP and other cloud technology solutions and on-site implementations, optimisations and support services.
Download 5 Drivers and Advantages of Implementing Cloud Technologies