This blog attempts to document the typical challenges that are faced during cloud migration projects and how those can be handled proactively to ensure successful implementation.
Cloud migration projects are complex involving multiple layers of IT landscape from infrastructure to OS to DB to application to middleware to frontend, interdependencies across different layers and also across the same layer, multiple stakeholders like
infrastructure vendor, Cloud Service Provider, different application vendors, different customer LOBs etc. Hence the challenges faced in cloud migration projects cut across technology, people, process and governance.
A few of the common challenges are as below -
- Business objectives of migration not defined
- KPIs to measure migration success not defined
- Scope not clearly defined
- Not spending enough time on planning the migration
- Not having a good testing strategy
- Exceeding schedules and budgets
- NFRs are not considered completely
- No backup plan in case of failure during migration
- Skills shortage
- Delivery quality issues
- Lack of strong project governance
Business objectives of migration
A business case is generally created and presented for approval before a cloud migration project starts. It is important that the organization clearly defines the objectives that need to be met through cloud migration. If the organization has not done so,
it is a good idea for the program manager to get the organization to define this. Else it is difficult to assess whether the business objective of the migration has been met.
KPIs to measure migration success
Once the business objectives of the migration are defined, the KPIs to measure the business objective have to be identified and agreed. The targets for each identified KPI also needs to be set. It is important to measure the KPIs during and post migration,
to assess whether the migration is on track and whether the migration can be called a success. Examples of KPIs could be to measure cost savings through DC exit over a period of 1 year post migration, the business agility that has been seen post migration
Scope not clearly defined
Cloud migrations are complex projects. If the scope of the migration is not clearly defined, then it can lead to scope creep, rework and the project not being able to be delivered within the schedule and budget expected. The project manager has to have the
scope and deliverables clearly outlined in the SOW. It is also important to have a RACI matrix outlining the responsibilities and dependencies across Supplier, Customer, Cloud Service Provider and other vendors in the Customer ecosystem.
The migration plan, the target cloud architecture and the design must be diligently planned, reviewed by experts and approved. The migration strategy for each application, the R pattern that will be applied for the application, the sequence in which the
applications will be migrated, move groups, the handling of the interdependencies, how the data will be handled, the data strategy, the security aspects, the cutover strategy are some of the important factors that need to be considered, planned, reviewed
and signed off. Ample amount of time has to be spent on the planning and design phase rather than directly jumping into the migration.
Testing is a very critical phase and a resilient testing strategy needs to be in place. The test scope, test case coverage, types of testing, the acceptance criteria, test data considerations, test environments, test automation, defect management process
– are some of the major items to be well considered, planned, reviewed and approved.
Exceeding schedules and budgets
Due to the complexity of cloud migration projects, the project plan needs to be as detailed as possible to get a realistic schedule for the migration. Resources needed at different stages of the project, resource rampup, resource rampdown need to be planned,
so that the manpower cost is known upfront. All the other licensing and platform costs need to be worked out, reviewed and approved. Other miscellaneous costs like costs incurred on business travel, freeze periods like end of year periods, leave plans of the
team etc also need to be considered upfront. If there are unknowns, then assumptions need to be made during creation of the project schedule and project estimated budget. Inspite of this, there are going to be many unknowns in the project which can lead to
schedule and cost slippage. It is hence always better to keep a buffer on both. However, we all know the schedule and cost pressures under which projects are delivered, so it is always good to look at automation opportunities to deliver the project. IaaC,
test automation, Devops can be implemented to fastrack project delivery.
All the non functional requirements need to be captured as part of the project initial phases. Requirements related to performance, security, compliance many a times don’t get captured. Customers expect a better performance on the cloud platform for all
the non functional requirements compared to what the performance was on prem. The cloud platform has to be designed for resilience, scalability, security and compliance. The testing strategy also needs to cover this aspect.
It is important to have a failover plan in case the migration fails. If there is an unexpected downtime during migration, then through a set of documented processes and automation, as outlined in the failover plan, it is possible to minimize the damage and
recover operations quickly. On the other hand, a lack of a failover plan can result in increased downtime, delays and impact.
Cloud being one of the more recent technologies, not many people have cloud skills. Project managers need to look at the skills required for executing the project. Training the team for the skill gaps would be a good idea. It gives an opportunity to the
team to acquire newer skills and keeps them motivated. Cloud providers also offer a lot of training options through their partnerships, which can be leveraged. The gaps that still continue to exist after the training option can be filled through hiring newer
Delivery Quality Issues
Many a times, there is a lot of rework, resulting in schedule and cost overrun, due to issues with quality of delivery and not being able to get it right the first time. It is important to have reviews and toll gates at every stage of delivery. Architecture
and design needs to be reviewed by an expert panel that has representation from both Customer and Supplier. Similarly, the code needs to be reviewed by peers. Code quality tools can also be leveraged for this purpose. Review comments need to be documented
and tracked to closure. Test Strategy and test cases also need to undergo similar reviews. Generally, on projects, reviews are not given the importance they deserve, mainly due to lack of time and pressure to deliver within a short timeframe. This needs to
be factored in the project plan.
A strong project governance needs to be in place to ensure that the project is on track, that risks and dependencies are highlighted on time and resolved, and any escalations for unresolved matters are done at the right time. The Steering Committee needs
to have a regular cadence, at least monthly, so that the project priorities get discussed and any realignment of priorities can be done if needed. It is also important to build an open atmosphere within the project team, so that the team is not hesitant about
raising issues and risks that may impede project delivery.
Challenges are part and parcel of any cloud migration project. With proactive planning, early stakeholder involvement, clear communication model, collaboration, right processes and oversight, many of the challenges can be overcome. However, inspite of this,
issues may still arise and those need to be handled through collaboration between all the parties involved.