Solution Thinking Design
What are the target Functional/Technical Architecture and the roadmap to implement It so that you can address the Business Capability that is being modernized?
Join the DZone community and get the full member experience.Join For Free
You are modernizing a Core System and have defined a Target Business Architecture (BA) that will replace it. You are following the defined modernization roadmap and are in charge of the modernization of one of the Business Capabilities of the Target Business Architecture. Now, you need to understand how the current Core System is addressing the Business Capability, i.e., you have to map which legacy system is providing the business capabilities associated with this system in the BA.
Usually, the core system will be a set of monoliths, applications, services, and transactions that are integrated and tightly coupled so that if you map all of them and its integrations, you will end up with a picture like this one:
The challenge here is to understand which of these pieces are addressing the business capability that you are in charge to modernize, establish a roadmap for this modernization effort, and the coexistence architecture that will allow you to modernize it.
What are the target Functional and Technical Architecture and the roadmap to implement it so that you can address the Business Capability that is being modernized?
You have to create the Technical Architecture and the roadmap for it without spending months of analysis and modeling and at the same time providing the foundational just enough architecture.
- Currently, the Business Capability is addressed spread out by a lot of legacy systems with overlap among them, lack of documentation, and resources.
- There isn’t a common understanding of what the business capability is responsible for.
- The systems that is currently addressing the business capability were created a long time ago, it is poorly documented, and you don’t have people that know how it was conceived or how it works.
We realized that Enterprise Design Thinking is very good to create new solutions for user problems that were not solved yet. But for inside-out core modernization, where you are modernizing core systems that have a lot of other systems already depending on them, Enterprise Design Thinking is not enough. To overcome it we use Enterprise Design Thinking, Value Proposition Design, and IBM Architectural Thinking as the foundation to create a new technique that we called Solution Thinking. The design thinking process today is mainly catered to focus on design the "product" ensuring the end product is designed with end consumers in mind and with a firm focus on functional requirements for features and functions. However, Solution Thinking focuses on creating technical solution elements to support the product squads and hence focused on the non-functional aspects such as performance, resiliency, data/transaction integrity, latency, etc. In essence, it’s about creating a common technical foundation that can be consumed by multiple product squads for a sound technical base.
This new technique aims to:
- Conceptually defines the business capacity that will be modernized. In order to do so you need to:
- How this business function is currently implemented (AS-IS).
- Its Pains.
- Expected Gains.
- Current Technical Environment.
- Current Dynamic and Static Volumetric.
- Benchmark with leading players in this type of solution (if any).
- Pain Relievers.
- Gain Creators.
- New Architectural Solution that aims the Pain Relievers and Gain Creators, as well as explorer potential business improvements.
- Implementation roadmap comprising of MVA, MVP, and the need steps until achieving the desired architecture.
The execution of Solution Thinking Design is a workshop with a series of exercises where the goal is to create a common understanding of what is being modernized, a macro target architecture (intentional architecture), and the roadmap for it.
Even before the beginning of the workshop, it is a good idea to execute a prework trying to understand on a high level what is the problem and elaborate a set of solution options before the workshop. It will allow you to quickly walk through some options and trigger co-creation.
Now we will present the exercises that we do during the workshop and how to conduct it:
1 . Industry Point of View
In this exercise, someone or a group will present which is the industry point of view regarding the business capability. You can invite industry experts to bring you what the industry understands as responsibilities and the best particles for that business capability that is being modernized.
The idea here is understanding what the market is doing and the direction that they are going.
2. Current Scenario
I this exercise, someone or a group will present how the business capability is currently addressed by the core system. It may require a pre-work so that someone document the current state and bring it to present to the group.
3. Task Mapping
The goal of this exercise is, based on what was already discussed and with the knowledge of the industry view and the current scenario, regarding how the current core system address the business capability establishes:
- What it is doing and should really do.
- What it is doing and must not do.
- What it is not doing and must do.
4. Pain Points
During this exercise, the team must identify the current pain points that they are facing. Once that they identify it, they have to classify the severity of pain. Usually, we classify the pain in Major, Medium, and Low. This classification can be used as a prioritization when we discuss the solution, trying to solve the major pain first;
5. Expected Gains
In this stage, you already know what your system should do and your current pains. But, what about the possible gain? What it can be brought to benefit the business? In this exercise, you will ask the group to list the expected gains with the new solution.
Once again, you will ask the group to classify (prioritize) the gains. Usually, we classify the gains as “must-have” and “nice-to-have.”
6. Pain Relievers
In this exercise, the idea is to purpose relievers for the pains that were identified by the group. The group will purpose relievers for all the identified pains. Pains relievers should be classified by their implementation effort.
7. Gain Creators
In this exercise, the idea is to purpose solutions that will realize the expected gains. The group will purpose gain creators for all the identified expected gains. Gains Creators should be classified by their implementation effort.
8. System Context
The of this exercise is to map the system context of the current state. It will give us an idea of with which systems the new solution will have to be integrated.
9. Non-Functional Requirements
In order to create the new solution, we need to have an idea of the Non-Functional Requirements that it must attend. The most common are:
- Dynamic and Static Volumetric.
10. Macro Solution
In this exercise, the idea is to get all of the information that was acquired and create a macro solution that addresses the tasks, pains, expected gains, and Non-Functional Requirements.
11. Solution Fit
Now it’s time to check the solution against what is required.
In this exercise, you map which component of the solution is providing realization of tasks, pain reliever, gain creator, and non-functional requirement.
In this stage, if for some reason a pain that was classified as major is not being relieved, the solution must be revised until it is solved. This exercise continues until the major pans and must-have gains are addressed.
In this last exercise, the group must create an implementation roadmap. The roadmap will be a list of high-level steps that will allow the implementation of the Target Architecture. The is the major outcome of this technique and will be composed of MVAs and MVPs that can be initiated the next day.
Published at DZone with permission of Ram Ravishankar. See the original article here.
Opinions expressed by DZone contributors are their own.