Phase 14 · Lesson 47 of 54

Define the Outcome Before You Choose the Output

Fast implementation increases the penalty for choosing the wrong problem. Shape the outcome first so speed points in the right direction.

Lesson 47 of 54Learn + Build~60 minutesPython (stdlib)

On this page

Learning Objectives

  • Write an outcome frame without naming a solution.
  • Identify the user, situation, current behavior, and desired change.
  • Make constraints and non-goals explicit.
  • Detect solution leakage before it hardens into scope.

Output Is Not Outcome

“Build an incident assistant” names an output. It does not say who needs it, what becomes better, or what must remain safe.

An outcome frame says:

When a production alert arrives, the on-call engineer identifies the failing service and a safe next action within two minutes, while diagnosis remains read-only and auditable.

That sentence can be satisfied by software, a runbook, a data repair, or a smaller interface change. It keeps the team attached to the result rather than the first artifact someone imagined.

The Six-Part Frame

Part Question
User Who experiences the problem directly?
Situation When and where does it occur?
Current behavior What happens today, including workarounds?
Desired outcome What observable state should improve?
Constraints Which safety, policy, cost, or compatibility limits are fixed?
Non-goals What tempting adjacent work is excluded?
Diagram (opens full size)

Find Solution Leakage

Outcome statements leak solutions when they contain a product form, interface, model choice, framework, or architecture that has not been earned by evidence.

  • “Users receive a weekly AI summary” leaks the summary and cadence.
  • “Users understand account changes before approval” states the result.
  • “Deploy a vector database” leaks infrastructure.
  • “Relevant policy evidence is available during review” states a capability.

Constraints can name technology when compatibility truly fixes it. Record why it is fixed.

Constraints Protect the Outcome

Constraints are not implementation details. They are part of the real-world goal:

  • no production writes during diagnosis;
  • response within the incident time budget;
  • existing audit events remain authoritative;
  • no new runtime dependency;
  • accessibility behavior remains intact.

A build that reaches the outcome by violating a constraint has not reached the outcome.

Non-Goals Create a Boundary

Non-goals prevent a useful slice from turning into a platform. Good non-goals are concrete enough to reject work:

  • no automatic remediation;
  • no new alert-routing system;
  • no replacement of the incident commander;
  • no historical analytics in this slice.

Build It

The lab validates an OutcomeFrame and writes outputs/outcome-frame.json.

python3 code/main.py
python3 -m unittest discover code/tests -v

Replace the desired outcome with “use the incident assistant.” The validator should flag that the proposed output leaked into the outcome.

Exercises

  1. Rewrite a feature request from your backlog as an outcome frame.
  2. Add one constraint that changes which solutions remain possible.
  3. Add two non-goals that keep the first slice small.
  4. Identify the earliest observation that would disprove the desired outcome.
  5. Write three different outputs that could satisfy the same outcome.

Further Reading

What You Keep

Keep outputs/outcome-frame.json. The next lesson tests it against the workflow people actually perform.

Check yourself

Quick quiz

  1. Which statement is an outcome rather than an output?

    1. Build an incident assistant
    2. Add a dashboard
    3. Deploy a vector database
    4. Identify the failing service within two minutes while remaining read-only
    Show the answer

    D. Identify the failing service within two minutes while remaining read-only The statement names an observable change and constraint without fixing the artifact.

  2. Why does faster implementation increase shaping risk?

    1. Teams can commit to the wrong problem before learning catches up
    2. Code becomes slower
    3. Models stop planning
    4. Tests become impossible
    Show the answer

    A. Teams can commit to the wrong problem before learning catches up Speed amplifies the cost of an unearned direction.

  3. What belongs in an outcome frame?

    1. User, situation, current behavior, desired outcome, constraints, and non-goals
    2. Only architecture
    3. Only features
    4. Model and framework versions
    Show the answer

    A. User, situation, current behavior, desired outcome, constraints, and non-goals The six surfaces connect the build to a real situation and boundary.

  4. When may an outcome frame name technology?

    1. Only in the title
    2. When a verified compatibility constraint truly fixes it
    3. In every goal
    4. Whenever it is popular
    Show the answer

    B. When a verified compatibility constraint truly fixes it Technology belongs only when evidence makes it a real constraint.

  5. What is the role of non-goals?

    1. List future dreams
    2. Reject tempting adjacent work in this slice
    3. Measure success
    4. Replace constraints
    Show the answer

    B. Reject tempting adjacent work in this slice Concrete non-goals keep the build attached to its current outcome.

  6. When has a constrained outcome failed?

    1. Only when no code ships
    2. When implementation changes
    3. When the desired result is reached by violating a fixed constraint
    4. When a non-goal is documented
    Show the answer

    C. When the desired result is reached by violating a fixed constraint Constraints are part of the outcome, not optional implementation guidance.

Questions people ask

What is the difference between an outcome and an output?

An output is the thing built, such as a report or a feature. An outcome is the change it causes, such as faster replies to customers or fewer errors. Good projects start from the outcome.

How do you decide what AI project to build first?

Start with a specific business result you care about and the current way it is done. Pick the project most likely to move that result, with the least risk, that you can measure.

Next lessonDiscover the Workflow People Actually PerformPrevious: Turn Every Agent Correction into a System Improvement

Lessons from AI Engineering from Scratch by Rohit Ghumare and contributors, MIT license. Notes for owners by Lozo. License

Next step

Rather have it built for you?

Reading is optional. Tell me what's stuck and I'll build it into the business you already run.

  • A real conversation, not a pitch
  • You keep your accounts
  • Nothing sends without your yes