Agile, Waterfall or Hybrid: Delivering System migration and upgrade
Personally I have always favored Agile over Waterfall to use for project deliveries. As they say SAP/IT is for businesses but not the other way, and agile delivery suits best with customer being involved throughout the delivery helping to deliver the best of customer need. Supporting/Improving/innovating SAP BAU best fits to the agile delivery and always keeps customer happy as well, however today I won’t be sharing more on it rather on Hybrid project delivery.
We all know the differences of Agile and Waterfall, what about System Migrations and Upgrades, which requires involvement of Customers at later stages rather than early, and if we have hardware migrations involved as well it makes the situation bit more clueless for most of the peoples including product owners.
The Situation
During one of our major SAP Migration project which involves Operating System migration, EHP upgrade Application improvements, Sizing and hardware storage upgrade as well. That means the agile delivery of the overall project must be adjusted to the different audiences and at different pace and phases.
A system can only be migrated if its hardware upgraded, for us it was from Windows to Unix (Lowest unit cost infra), IT adjustments and additional enhancements can only be performed once system is fully upgraded and lastly but most important is business testing can only be performed once its fully stabilized after upgraded system adjustments.
Hybrid Project Delivery Model
So, if you look at the situation each phase is dependent on previous phase and clearly hints a waterfall delivery, but not exactly. Each phase within itself can be executed using agile to keep the respective parties involved from early stages and at the same time they can contribute to any changes (scope, time or resource) if affected from the delivery of previous phase at any moment. With all this in mind our best bet was a Hybrid form of project delivery, whereby each phase will be executing in an Agile within itself, and across as well, however all phase will be encapsulated in a waterfall delivery model.
I still remember a scenario during our storage upgrade which could have affected the overall timelines but didn’t due to Hybrid delivery model. Storage upgrade which looked very simple to add additional storage for hardware migration but ended in additional cost, testing and pulling new teams as well, when the infrastructure team found that there isn’t any spare storage available, adding new can’t be done due to unavailability of rack space which means it can only be added to server racks a bit far which further involves procuring data cables and hardware testing at the data center.
As each of the phases were running independently, though at different pace, any glitches at one of the phases, don’t really affects to your timelines of overall delivery. And don’t forget, that even though the phases are independently progressing, they still communicate via scrum of scrums to dynamically adjust the changes. The final deliveries of each phase still follows the waterfall model so any change in one phase of project feeds to the scrums of another phase agile delivery.
Feel free to add your comments and experience on large/small migration project deliveries.