Skip to content

Product Lifecycle

How ideas become shipped features.


Overview

%%{init: {"theme": "base", "themeVariables": {"primaryColor": "#e2e8f0", "primaryTextColor": "#1e293b", "primaryBorderColor": "#64748b", "lineColor": "#94a3b8", "secondaryColor": "#e2e8f0", "tertiaryColor": "#cbd5e1", "background": "#0f172a", "mainBkg": "#e2e8f0", "nodeBorder": "#64748b", "clusterBkg": "#1e293b", "clusterBorder": "#475569", "titleColor": "#e2e8f0", "edgeLabelBackground": "#1e293b", "nodeTextColor": "#1e293b"}}}%%
graph TD
    A[Customer Discovery] --> B[Specification]
    B --> C[Build]
    C --> D[Launch]
    D --> E[Feedback Flywheel]
    E -->|insights| B

    style A fill:#60a5fa,color:#000
    style B fill:#a78bfa,color:#000
    style C fill:#34d399,color:#000
    style D fill:#fbbf24,color:#000
    style E fill:#f87171,color:#000

Customer Discovery

Before writing code, go back to the customers.

%%{init: {"theme": "base", "themeVariables": {"primaryColor": "#e2e8f0", "primaryTextColor": "#1e293b", "primaryBorderColor": "#64748b", "lineColor": "#94a3b8", "secondaryColor": "#e2e8f0", "tertiaryColor": "#cbd5e1", "background": "#0f172a", "mainBkg": "#e2e8f0", "nodeBorder": "#64748b", "clusterBkg": "#1e293b", "clusterBorder": "#475569", "titleColor": "#e2e8f0", "edgeLabelBackground": "#1e293b", "nodeTextColor": "#1e293b"}}}%%
graph LR
    A[Structured interviews] --> D[Updated spec]
    B[Video current tools] --> D
    C[Capture end-to-end flows] --> D

    style D fill:#a78bfa,color:#000

What we capture:

  • Operational reality (the good, the bad, the great)
  • Tools they use today and what is missing
  • What "the perfect product" looks like in their minds

Specification to Roadmap

%%{init: {"theme": "base", "themeVariables": {"primaryColor": "#e2e8f0", "primaryTextColor": "#1e293b", "primaryBorderColor": "#64748b", "lineColor": "#94a3b8", "secondaryColor": "#e2e8f0", "tertiaryColor": "#cbd5e1", "background": "#0f172a", "mainBkg": "#e2e8f0", "nodeBorder": "#64748b", "clusterBkg": "#1e293b", "clusterBorder": "#475569", "titleColor": "#e2e8f0", "edgeLabelBackground": "#1e293b", "nodeTextColor": "#1e293b"}}}%%
graph TD
    A[Full product vision] --> B[Release candidates]
    B --> RC1[RC1: Must-have for launch]
    B --> RC2[RC2: Post-launch improvements]
    B --> RC3[RC3: Growth features]
    RC1 --> C[Development roadmap]

    style A fill:#a78bfa,color:#000
    style RC1 fill:#34d399,color:#000
    style RC2 fill:#cbd5e1,color:#000
    style RC3 fill:#cbd5e1,color:#000

Feedback Flywheel

Once live, two channels drive product decisions:

%%{init: {"theme": "base", "themeVariables": {"primaryColor": "#e2e8f0", "primaryTextColor": "#1e293b", "primaryBorderColor": "#64748b", "lineColor": "#94a3b8", "secondaryColor": "#e2e8f0", "tertiaryColor": "#cbd5e1", "background": "#0f172a", "mainBkg": "#e2e8f0", "nodeBorder": "#64748b", "clusterBkg": "#1e293b", "clusterBorder": "#475569", "titleColor": "#e2e8f0", "edgeLabelBackground": "#1e293b", "nodeTextColor": "#1e293b"}}}%%
graph TD
    subgraph Human Feedback
        A1[Sales conversations]
        A2[Customer interviews]
        A3[Support tickets]
        A4[Market trends]
    end

    subgraph Data Driven
        B1[Usage and behaviour data]
        B2[Feature adoption rates]
        B3[Drop-off analysis]
    end

    A1 & A2 & A3 & A4 --> C[Product decisions]
    B1 & B2 & B3 --> C
    C --> D[Kill underused features]
    C --> E[Promote core features]
    C --> F[New feature specs]
    F --> G[Development pipeline]

    style C fill:#f87171,color:#000
    style G fill:#34d399,color:#000

Feature Implementation Flow

When a product decision is made:

%%{init: {"theme": "base", "themeVariables": {"primaryColor": "#e2e8f0", "primaryTextColor": "#1e293b", "primaryBorderColor": "#64748b", "lineColor": "#94a3b8", "secondaryColor": "#e2e8f0", "tertiaryColor": "#cbd5e1", "background": "#0f172a", "mainBkg": "#e2e8f0", "nodeBorder": "#64748b", "clusterBkg": "#1e293b", "clusterBorder": "#475569", "titleColor": "#e2e8f0", "edgeLabelBackground": "#1e293b", "nodeTextColor": "#1e293b"}}}%%
graph LR
    A[Insight] --> B[Product decision]
    B --> C[Spec + acceptance criteria]
    C --> D[UX/UI if needed]
    D --> E[Issues created]
    E --> F[Development pipeline]
    F --> G[Staging]
    G --> H[Production]

    style B fill:#a78bfa,color:#000
    style F fill:#34d399,color:#000
    style H fill:#fbbf24,color:#000

Same pipeline regardless of whether the work comes from human feedback or usage data.