Building Software

Engineering Fundamentals for the Agent Era

Contents Section 1, Intent

Framing the Problem

Mistakes to catch in review

  1. A CSV export button with column pickers built for a request whose real need was the same monthly report sent to an accountant.

  2. An admin panel, a plugin system or a login flow added to a small tool because the brief never said what was out of bounds.

  3. A real-time sync engine built when users only needed a nightly import, because the brief described a feature instead of the problem.

Working out who has the problem, what outcome would solve it, and what is deliberately out of scope, before any solution is on the table.

Topics

Users and the Jobs They Need Done
Identifying who has the problem and what they are actually trying to accomplish when they reach for software.
Outcomes Over Features
Stating success as a change in the world, such as fewer failed payments or faster onboarding, so solutions can be compared against it.
Scope and Non-Goals
Writing down what the work will not do, which is the cheapest way to stop an agent from expanding the task.
Build, Buy or Skip
Deciding whether the problem needs new software at all, or an existing product, a script or a change in process.
Constraints
Budget, deadlines, regulations, existing systems and team skills that decide which solutions are acceptable.

You understand it when you can

  • Write a one-paragraph problem statement that names the user, the problem, the desired outcome and at least two non-goals.
  • Take a vague request and list the questions you would need answered before building anything.
  • Explain which existing tool or process a new feature replaces, and why someone would switch.

Drill

An agent was asked to 'add export so customers can get their data' and produced a spec for a CSV button with column pickers and date filters. The support tickets behind the request say customers' accountants need the same report every month; find what the spec misses and rewrite the problem statement with two non-goals.

Start here

Watch

Shaping in a Nutshell

Ryan Singer, 2022. 18-minute explainer.

In under twenty minutes, the author of Shape Up explains setting an appetite, narrowing a raw request to the real problem and naming no-gos before any building starts.

Watch

Read

Continuous Discovery Habits: Discover Products that Create Customer Value and Business Value

Teresa Torres, 2021.

Shows how to state an outcome, build an opportunity solution tree from customer interviews and compare candidate solutions against that outcome instead of against a feature list.

Competing Against Luck: The Story of Innovation and Customer Choice

Clayton M. Christensen, Taddy Hall and 2 others, 2016.

The book-length treatment of jobs-to-be-done, including how to find which existing product or workaround a new solution has to replace.

Primary sources