Visual Paradigm Desktop VP Online

The Solution Selection Matrix using Diagram as Code: A Comprehensive Guide

1. Overview

The Solution Selection Matrix is a structured decision-making framework designed to bridge the gap between Root Cause Analysis (RCA) and Actionable Implementation. While tools like Fishbone diagrams identify why a problem exists, the Selection Matrix determines how to fix it efficiently by evaluating potential solutions against specific business criteria.

Solution Selection Matrix using Diagram as Code Approach

This guide utilizes a hierarchical flow (Problem → Cause → Solution → Method) combined with a weighted evaluation table to prioritize actions. Below are the ready-to-use PlantUML templates to generate this visualization.


2. The Blank Template

Use this code as a starting point for your own workshops. It establishes the color-coded hierarchy and an empty evaluation matrix.

@startuml
left to right direction
skinparam RectangleBackgroundColor white
skinparam RectangleBorderColor #333333
skinparam RoundCorner 10

' Define color palette matching the visual standard
!define PINK_COLOR #FF9999
!define ORANGE_COLOR #FFB366
!define GREEN_COLOR #99E6CC
!define PURPLE_COLOR #D1B3FF

' Styles for different node types
skinparam rectangle {
    BackgroundColor<<Problem>> PINK_COLOR
    BackgroundColor<<Cause>> ORANGE_COLOR
    BackgroundColor<<Solution>> GREEN_COLOR
    BackgroundColor<<Method>> PURPLE_COLOR
}

' --- ROOT PROBLEM ---
rectangle "<Problem>" <<Problem>> as Problem

' --- ROOT CAUSES ---
rectangle "<Cause 1>" <<Cause>> as Cause1
rectangle "<Cause 2>" <<Cause>> as Cause2
rectangle "<Cause 3>" <<Cause>> as Cause3

' --- SOLUTIONS & METHODS (CAUSE 1) ---
rectangle "<Solution 1A>" <<Solution>> as Sol1A
rectangle "<Method 1A>" <<Method>> as Met1A
rectangle "<Solution 1B>" <<Solution>> as Sol1B
rectangle "<Method 1B>" <<Method>> as Met1B

' --- SOLUTIONS & METHODS (CAUSE 2) ---
rectangle "<Solution 2A>" <<Solution>> as Sol2A
rectangle "<Method 2A>" <<Method>> as Met2A
rectangle "<Solution 2B>" <<Solution>> as Sol2B
rectangle "<Method 2B>" <<Method>> as Met2B
rectangle "<Solution 2C>" <<Solution>> as Sol2C
rectangle "<Method 2C>" <<Method>> as Met2C

' --- SOLUTIONS & METHODS (CAUSE 3) ---
rectangle "<Solution 3A>" <<Solution>> as Sol3A
rectangle "<Method 3A>" <<Method>> as Met3A
rectangle "<Solution 3B>" <<Solution>> as Sol3B
rectangle "<Method 3B>" <<Method>> as Met3B

' --- SELECTION MATRIX ---
rectangle Matrix [
<b>Selection Matrix & Action</b>

|= Practical Method |= Criteria A |= Criteria B |= Criteria C |= Criteria D |= Criteria E |= Take Action (Y/N) |
| Method 1A | | | | | | |
| Method 1B | | | | | | |
| Method 2A | | | | | | |
| Method 2B | | | | | | |
| Method 2C | | | | | | |
| Method 3A | | | | | | |
| Method 3B | | | | | | |
]

' --- HIERARCHY CONNECTIONS ---
Problem --> Cause1
Problem --> Cause2
Problem --> Cause3

Cause1 --> Sol1A
Sol1A --> Met1A
Cause1 --> Sol1B
Sol1B --> Met1B

Cause2 --> Sol2A
Sol2A --> Met2A
Cause2 --> Sol2B
Sol2B --> Met2B
Cause2 --> Sol2C
Sol2C --> Met2C

Cause3 --> Sol3A
Sol3A --> Met3A
Cause3 --> Sol3B
Sol3B --> Met3B

' Connect methods to the matrix for evaluation
Met1A ..> Matrix
Met1B ..> Matrix
Met2A ..> Matrix
Met2B ..> Matrix
Met2C ..> Matrix
Met3A ..> Matrix
Met3B ..> Matrix

@enduml

3. Key Concepts & Hierarchy

The diagram follows a strict four-tier logic designed to prevent "solution jumping" (trying to fix a symptom without addressing the root).

Tier Node Type Color Code Definition Example
1 Problem 🟥 Pink The measurable pain point or negative metric requiring intervention. High Shopping Cart Abandonment Rate (45%)
2 Cause 🟧 Orange The underlying reason contributing to the problem. Derived from RCA. Slow Page Load Times
3 Solution 🟩 Green The strategic approach or high-level fix for the cause. Optimize Media Assets
4 Method 🟪 Purple The specific, tactical execution step. This is what gets evaluated in the matrix. Compress PNGs to WebP

The Evaluation Criteria

In the example below, five standard criteria are used to score the Methods:

  1. Cost: Financial investment required.
  2. Effort: Man-hours and resource complexity.
  3. Impact: Expected improvement on the core Problem metric.
  4. Risk: Potential for negative side effects or failure.
  5. Speed: Time-to-value or implementation duration.

4. Case Study: Reducing E-Commerce Cart Abandonment

Scenario: An online retailer faces a 45% cart abandonment rate. Using the Solution Selection Matrix, the team moves from diagnosis to a prioritized backlog.

The Completed PlantUML Diagram

This code generates the fully populated case study diagram.

@startuml
left to right direction
skinparam RectangleBackgroundColor white
skinparam RectangleBorderColor #333333
skinparam RoundCorner 10

' Define color palette
!define PINK_COLOR #FF9999
!define ORANGE_COLOR #FFB366
!define GREEN_COLOR #99E6CC
!define PURPLE_COLOR #D1B3FF

' Styles for different node types
skinparam rectangle {
    BackgroundColor<<Problem>> PINK_COLOR
    BackgroundColor<<Cause>> ORANGE_COLOR
    BackgroundColor<<Solution>> GREEN_COLOR
    BackgroundColor<<Method>> PURPLE_COLOR
}

' Root Problem
rectangle "High Shopping Cart\nAbandonment Rate (45%)" <<Problem>> as Problem

' Root Causes
rectangle "Slow Page Load Times" <<Cause>> as Cause1
rectangle "Complicated Checkout" <<Cause>> as Cause2
rectangle "Hidden Shipping Costs" <<Cause>> as Cause3

' Solutions & Methods for Cause 1
rectangle "Optimize Media Assets" <<Solution>> as Sol1A
rectangle "Compress PNGs to WebP" <<Method>> as Met1A
rectangle "Reduce Server Latency" <<Solution>> as Sol1B
rectangle "Implement Redis Caching" <<Method>> as Met1B

' Solutions & Methods for Cause 2
rectangle "Simplify Input Forms" <<Solution>> as Sol2A
rectangle "Remove Non-Essential Fields" <<Method>> as Met2A
rectangle "Accelerate Checkout Flow" <<Solution>> as Sol2B
rectangle "Enable 1-Click Guest Checkout" <<Method>> as Met2B
rectangle "Automate Address Entry" <<Solution>> as Sol2C
rectangle "Integrate Google Places API" <<Method>> as Met2C

' Solutions & Methods for Cause 3
rectangle "Improve Pricing Transparency" <<Solution>> as Sol3A
rectangle "Show Fees on Product Page" <<Method>> as Met3A
rectangle "Offer Cost-Effective Delivery" <<Solution>> as Sol3B
rectangle "Partner with Cheaper Carrier" <<Method>> as Met3B

' Matrix Representation
rectangle Matrix [
<b>Selection Matrix & Action</b>

|= Practical Method |= Cost |= Effort |= Impact |= Risk |= Speed |= Take Action (Y/N) |
| Compress PNGs to WebP | Low | Low | Med | Low | Fast | **Y** |
| Implement Redis Caching | Med | Med | High | Med | Med | **Y** |
| Remove Non-Essential Fields| Low | Low | Med | Low | Fast | **Y** |
| Enable 1-Click Guest Checkout| High| High| High | High| Slow | **N (Phase 2)** |
| Integrate Google Places API| Med | Low | High | Low | Fast | **Y** |
| Show Fees on Product Page | Low | Low | High | Low | Fast | **Y** |
| Partner with Cheaper Carrier| High| High| Med | High| Slow | **N** |
]

' Hierarchy Connections
Problem --> Cause1
Problem --> Cause2
Problem --> Cause3

Cause1 --> Sol1A
Sol1A --> Met1A
Cause1 --> Sol1B
Sol1B --> Met1B

Cause2 --> Sol2A
Sol2A --> Met2A
Cause2 --> Sol2B
Sol2B --> Met2B
Cause2 --> Sol2C
Sol2C --> Met2C

Cause3 --> Sol3A
Sol3A --> Met3A
Cause3 --> Sol3B
Sol3B --> Met3B

' Connect the methods visually to the matrix block
Met1A ..> Matrix
Met1B ..> Matrix
Met2A ..> Matrix
Met2B ..> Matrix
Met2C ..> Matrix
Met3A ..> Matrix
Met3B ..> Matrix

@enduml

Step-by-Step Analysis of the Case Study

Step A: Root Cause Identification

Instead of guessing, the team identifies three distinct causes:

  1. Technical: Slow Page Load Times.
  2. UX Friction: Complicated Checkout Process.
  3. Trust/Pricing: Hidden Shipping Costs appearing late.

Step B: Brainstorming Methods

For each cause, specific technical or operational methods are proposed.

  • Cause 1: Instead of just "make it faster," the methods are specific: "Compress PNGs to WebP" and "Implement Redis Caching."
  • Cause 2: Methods include "Remove Non-Essential Fields" and "Enable 1-Click Guest Checkout."

Step C: The Selection Matrix Evaluation

The team evaluates the Methods (not just the Solutions) against the criteria.

Practical Method Cost Effort Impact Risk Speed Decision Rationale
Compress PNGs to WebP Low Low Med Low Fast ✅ Y Quick win. Low risk, immediate performance boost.
Implement Redis Caching Med Med High Med Med ✅ Y Higher effort but critical for scalability. Worth the investment.
Remove Non-Essential Fields Low Low Med Low Fast ✅ Y Pure UX fix. Removes friction instantly.
1-Click Guest Checkout High High High High Slow ️ N (Phase 2) High impact but requires security overhaul. Too risky for immediate sprint.
Integrate Google Places API Med Low High Low Fast ✅ Y Reduces typing effort significantly. Good ROI.
Show Fees on Product Page Low Low High Low Fast ✅ Y Builds trust early. Prevents "sticker shock" at checkout.
Partner with Cheaper Carrier High High Med High Slow ❌ N High risk to delivery quality. Savings don't outweigh brand damage.

5. Guidelines for Usage

When to Use This Template

  • Post-RCA Workshops: Immediately after a Fishbone or 5-Whys session to convert findings into tasks.
  • Resource Constrained Environments: When you have 10 ideas but budget/time for only 3.
  • Cross-Functional Alignment: When Engineering, Marketing, and Ops disagree on priorities. The matrix provides objective data to settle debates.

Best Practices

  1. Evaluate Methods, Not Solutions: "Optimize Media" is too vague to score. "Compress PNGs" is specific enough to estimate cost and effort accurately.
  2. Define Criteria Scales: Before filling the matrix, agree on what "High Cost" means (e.g., >$10k vs >$50k). Consistency prevents bias.
  3. Use the "Take Action" Column as a Gate: Do not proceed to implementation until a method has a clear YN, or Deferred status. Ambiguity leads to scope creep.
  4. Visual Hierarchy Matters: Keep the color coding (Pink→Orange→Green→Purple) consistent. It allows stakeholders to instantly trace a low-level task (Purple) back to the business problem (Pink).

Adapting the PlantUML Template

  • Changing Criteria: Replace CostEffort, etc., in the Salt table header with criteria relevant to your domain (e.g., for Software: Security, Scalability, Maintainability; for HR: Employee Satisfaction, Retention, Compliance).
  • Adding Weighting: You can add a row above the methods to assign weights (e.g., Impact x2, Cost x1) if certain criteria are more important than others.
  • Expanding Causes: The template supports N causes. Simply duplicate the Cause --> Solution --> Method block structure in the PlantUML code.

Turn every software project into a successful one.

We use cookies to offer you a better experience. By visiting our website, you agree to the use of cookies as described in our Cookie Policy.

OK