Step 2. Start small and build momentum - AWS Prescriptive Guidance

Step 2. Start small and build momentum

The goal of this step is to deliver an initial minimal viable product (MVP) to gain momentum. This approach enables you to drive business results early and incrementally.

Validating priority drivers

Before you start the modernization work with application teams, we recommend that you validate the priority drivers that you determined earlier. Follow these steps:

  1. Compile the information you need from the diagnostic playbook.

    • Gather the priority drivers and feasibility assessment from the priority applications list.

    • Gather the transition and goal state dispositions for your applications.

    • Identify the application owners, architects, and stakeholders in cloud modernization planning.

    • Solicit information on dependencies or application suite sequencing, if known.

    • Determine how inventory entries relate to dependencies or application suite groupings. Applications might have individual components that are tightly coupled with, or dependent on, other components, and you might want to modernize these components together.

  2. Schedule a one-hour or two-hour meeting with the people from step 1 to validate priority drivers.

    • Try to group multiple (up to three or four) applications by solution engineer or architect, and discuss them in one meeting, based on application dependency or application suite information.

    • Determine the roles and expectations for each team member for this upcoming meeting.

  3. Conduct the meeting.

Finalizing details

After you follow the process in the previous section to validate the priority drivers, you can gather the details to determine the modernization approach and timing.

In this phase, the core team works side by side with application teams in short, two-day sprints to design a future state for their applications on the AWS Cloud. Activities include product definition, product discovery, story writing, value stream mapping, and designing CI/CD processes. Here are some ideas:

  • Model each individual component of the application (for example, network configurations, storage configurations, databases, servers, and how the application is deployed on the servers).

  • Deconstruct that model into its different building blocks and configurations by using tools such as containers or serverless technologies.

  • Separate application functionality from any dependencies on underlying infrastructure. Abstract the functions of an application into components that you can move without changing any source code.

  • Tightly integrate with DevOps by using CI/CD tools and mechanisms.

Building foundational platform services and modernizing applications

In this 12-week phase, the core team is supported by full-stack teams to deliver the prioritized business use case. This work is carried out by multiple two-pizza teams. For example, a platform engineering team is formed to develop foundational platform services, and a product team is formed to deliver new business outcomes:

  • The platform engineering team configures, integrates, and customizes the AWS services that support the cloud foundation, developer workflow, and data analytics capabilities. Larger and more complex enterprises might have multiple teams supporting each of these capabilities.

  • The product team develops new services and experiences for the business outcomes prioritized in the inception phase. As the product team develops new services, they also modernize core business capabilities.

The platform engineering and product teams deliver a minimal viable product (MVP) that you can evaluate. Upon the success of the initial MVP, you can scale your modernization program by using a split-and-seed approach, whereby new applications are identified and initial team members are split up to create new product teams.