In this blog

This series will explore a fictional yet very realistic "Lift, Shift, Refactor" project from kickoff through final delivery. Our project starts with an immersive kickoff that establishes the ground rules for the project, the limitations and constraints, and the desired outcomes. 

Value Map

Project overview

The Value Map for the project is three phases across five discreet applications. Three intake applications route work to the "Generate Value" application, which we will call GenVal. Although we don't see the evidence in the value map diagram, we learn that GenVal is used by two personas through 5 different journeys. The GenVal users work inside and outside the system to generate and store potential value. When ready, the stored potential value is sent to the final application to extract and collect the value produced. 

Vision

Refactor GenVal to a modern and cloud-native technology stack.

Constraints

  1. Like-for-like feature migration.
  2. Maintain business continuity and business operations.
  3. Migrate workflow #3 first and ASAP.

Issues and risks

  1. Workflow #4 is buggy.
  2. The system is slower than ever before.
  3. On average, two critical severity production issues occur every month.
  4. The technology stack can no longer be supported.

Application experts

  1. Customer, Subject Matter Expert & Application Owner (50%).
  2. Customer, Technical Lead (50%).

Resources

  1. Data model diagram, physical & logical (Updated two years ago).
  2. High-Level Architecture diagram (Updated three years ago).
  3. Runbooks and Project Wiki.
  4. Smoke test and Regression test cases.

Strategy

The GenVal application regularly fails, and the technology can no longer be supported. The risk of additional failures is guaranteed. Each new failure could be the final nail in the coffin for this application. The customer needs results quickly. 

Incremental delivery

In consultation with the customer, we chose an architecture and delivery approach tailored to the needs of this application. We will break the system down into individually migratable units. This is hard work, but it will significantly lower the project's risk profile and provide the customer with usable software in production faster than any other approach. However, it takes forethought and expertise to continue operating the current system in parallel while replacing it piece by piece. 

We decided to prioritize workflow #3 because it has the highest workload and generates the most value to collect. This will be the target for our first series of deliveries. It's time to do some planning and analysis. Next, we will get familiar with the technical details of the application and create our first delivery, Hackathon-style