Skip section navigation

Approach

How we develop software

These articles explain how we make product and engineering decisions, including when we use AI to help with implementation.

The nine principles cover product discovery, system design and how to check the work. A fictional example follows the decisions through a small software project.

Building part of a product gives you something to test. You can try a workflow, compare alternatives and find out whether an idea is useful before committing to the rest of the build.

That requires some engineering discipline. Decide where the system boundaries belong, define the interfaces and keep the implementation small enough to check. Record the decisions so the next person, or agent, can understand why the code works that way.

The articles below explain these choices and their limitations. Teams will apply them differently depending on the product and the cost of getting something wrong.

Start with the product, not the agent

AI can implement a feature against an assumption nobody has checked. Before starting, establish who needs the feature, what it should do and how you will judge the result. As people use the software, their experience should influence what you build next.

Architecture and tests help you change the product without having to rebuild everything around it.

From principle to practice

Each principle has its own article with an example and suggestions for checking the work. The fictional worked example follows a maintenance-request product from its initial idea through design, implementation and review. It includes a decision to remove a feature.

The useful result may be a smaller product, or a decision to stop work on something that does not help its users.

Product hypotheses lead to design, bounded implementation, verification and learning; learning feeds back into the hypothesis.
A continuous learning cycle: evidence can change product direction after any increment.

Nine principles

The articles.

Each article explains a decision or practice, with an example and ways to check whether it is working.

  1. 01

    Product strategy, discovery and development evolve together

    Vision sets direction; research, working software and feedback continuously refine it.

    Read the article
  2. 02

    Design is deliberate, not delegated

    AI can challenge and accelerate design, but boundaries and architectural decisions need clear ownership.

    Read the article
  3. 03

    Ambiguity must be exposed, not assumed away

    Conflicts, unknowns and unclear requirements need explicit decisions or experiments.

    Read the article
  4. 04

    Architecture enables bounded understanding

    Clear contracts and responsibilities limit the context needed to change a system safely.

    Read the article
  5. 05

    Knowledge belongs with the product

    Strategy, decisions, interfaces and expected behaviour evolve alongside the implementation.

    Read the article
  6. 06

    Implementation must be bounded and verifiable

    Small outcomes, scope limits and stopping conditions contain mistakes before they multiply.

    Read the article
  7. 07

    Automate repeatable work rather than repeated reasoning

    Use reliable capabilities for recurring operations instead of having agents reinvent them.

    Read the article
  8. 08

    Verification must challenge both design and implementation

    Evidence and independent scrutiny matter more than the implementer's confidence.

    Read the article
  9. 09

    Measure validated value, not generated output

    Evaluate learning, product outcomes, quality, complexity and total cost—not activity.

    Read the article

Fictional worked example

Working through a software project.

Relay is an invented maintenance-request product. Follow it from product hypothesis and positioning through architecture, contracts, bounded delivery, verification and a decision to remove a feature.

Its research, feedback and review scenarios are fictional. A small, runnable intake slice provides separate technical evidence; it does not implement the whole product.

  1. 01Product intent & discovery
  2. 02Architecture & contracts
  3. 03Bounded delivery
  4. 04Verification & review
  5. 05Learning & scope change
  6. 06Release & continuity

Consulting

Need help with the work?

We can review a design, help set up an AI-assisted workflow or work with your team on implementation.