AWS Cloud Operations Blog
Project management in a cloud first world
Introduction
In this blog, you will learn how to choose the right project management methodology to accelerate cloud transformations.
According to the Harvard Business Review, over 70% of digital transformations fail. One of the reasons is the lack of proper governance leading to poor cross-functional alignment. To avoid this common pitfall, organizations must choose a project management methodology to establish strategies before embarking on cloud transformations. This approach ensures the coordination of efforts between multiple teams, removes blockers, and mitigates risks.
Project management methodologies.
There are many project management methodologies in use today. The most popular ones are waterfall, agile, and hybrid.
Waterfall
Waterfall or traditional project management prescribes clearly defined sequential phases for the project execution: requirements, design, development, testing, and deployment. Each phase must be completed and signed off before the next one begins. Teams are siloed and each person performs a specific task. The major advantage of the waterfall methodology is that it enables project managers to forecast and track a project’s cost, scope, and timeline. The biggest disadvantage is that the end users see results only after the project completion. This makes change management and issue resolution costly. For example, if there is a bug in one feature and it becomes evident only during testing after all the development is completed, it might require rework of many other related features. Similarly, a small change in a business priority late in the cycle triggers rework of multiple artifacts and code components, impacting the cost, scope, and timeline.
Agile
Agile project methodology emerged in the early 2000s as a response to the rigid structure of the traditional waterfall project management practices. Unlike the sequential nature of waterfall methodology, agile methodology focuses on iterative product delivery and continuous feedback from the users. Team members collaborate closely together, breaking the silos between different functions. Agile methodology utilizes a set of practices which combines development and IT operations called DevOps. The main advantage of agile is its flexibility as it enables teams to quickly deliver features that matter most to the business. Instead of releasing the entire product at once, agile methodology breaks the delivery process into smaller iterations. Each iteration typically lasts from one to four weeks. The main disadvantage to agile methodology is the lack of predictability when it comes to timelines and budgets, making it challenging for companies to forecast their technology spend. Continuous feedback from the users can extend the scope, negatively impacting timelines and budgets.
Hybrid
Hybrid project management methodology combines the best practices from waterfall and agile methodologies. According to the PMI survey – “The Future of Work: Leading the Way with PMTQ”, 60% of companies leverage a hybrid approach to project management. With hybrid methodology, the project and technology leaders document the requirements and create a complete system design upfront as they secure budget and resources for the duration of the project. Once the overall scope is defined, teams use an agile framework to iteratively deliver to end users and incorporate their feedback. If the users identify a defect or area of improvement during any of the iterations, it can be fixed in the next iteration without having to wait till the end of the implementation phase. This hybrid approach allows companies to benefit from the flexibility of agile project management while mitigating the risks associated with it.
Project management in the cloud
When companies choose a project management methodology for their cloud transformation initiatives, Customer Success Managers, Product Managers, Program/Project Managers, Technology leaders, and Engineering leaders must consider several factors.
- The application(s) in scope: the architecture, complexity, and dependencies.
- The organization: cloud maturity, size, and culture.
- The industry: regulations, trends, and external factors.
For cloud mature companies with modern microservices architecture and cross-functional teams, agile project management will be the optimal choice for most cloud initiatives. Microservices architecture consists of independent services, each focused on a specific function. Services communicate with each other through well-defined APIs. Individual components can be migrated in iterations, with minimal or no disruption to the end user. This approach allows for experimentation, reduces cost of failures, and improves the efficiency of the Technology Engineering and Operations teams resulting in an accelerated path to migration or modernization in the cloud.
Organizations with monolithic architectures and limited cloud experience require thorough planning before beginning their transition into the cloud. They need to invest significant resources into evaluating their IT assets, building a business case, and educating their staff. An agile framework, such as scrum, is not able to support these efforts due to the larger upfront foundational work that needs to be performed before any transition can occur. Following a traditional waterfall methodology with its inflexible approach can delay realization of business value since it requires all development to be finished before testing and deploying the changes. In such cases, hybrid is the appropriate approach. After completing thorough planning, establishing a landing zone and creating migration patterns, teams can start migrating workloads in agile iterations.
With the increased adoption of agile development practices, the waterfall methodology lost its popularity. Yet, this traditional way of running IT projects is still very much present in government organizations and some highly regulated industries such as financial institutions. Regardless of industry, a lift-and-shift of a legacy monolith application to the cloud is a typical scenario for waterfall methodology. Due to the complex dependencies that need to be in place prior to a full migration, a sequential approach is recommended. For many organizations lift-and-shift migrations are the first steps to digital transformation followed by modernization initiatives, with the latter being implemented in an agile manner.
Organizations can start a cloud journey without having to be completely agile. Utilizing a hybrid or waterfall methodology approach to begin their cloud journey will allow for thorough planning and avoid unwanted surprises. As organizations advance along in their cloud journey, they transition their project management practices to agile. For cloud mature organizations, an agile approach becomes the default mode of operation. This transformation does not happen overnight. It requires training, enablement and coaching of the Cloud Development, Engineering, and Operations teams in agile practices. The best way to adopt a new way of working is through hands-on experience. Experience Based Acceleration (EBA) is one mechanism that allows teams to accelerate business outcomes while implementing an agile working model. The EBA process aligns cross functional teams and breaks traditional siloes.
Conclusion
Ultimately the choice between waterfall, agile, and hybrid project management for cloud migration and transformation projects will depend on their cloud maturity, resources, and organizational goals. There is no one size fits all and each methodology has benefits and disadvantages. Consider the criteria in this post and choose a project management methodology that minimizes risks while delivering outcomes towards the company’s cloud initiatives.
Call to action
- Before embarking on a cloud journey, determine which project management methodology is the best fit for your organization.
- Establish governance based on the project management methodology selected. Refer to: Project governance playbook for AWS large migrations for a playbook.
- Make sure all stakeholders as well as the project team are aware of the selected approach.
- Evolve and improve your project management practices, making them agile, customer focused, and efficient.
- Consider using EBAs to create an agile cloud-fluent culture.