An independent perspective · October 2026

A manifesto for
software delivery
in the age of AI

Faster code generation becomes a delivery gain when we redesign how changes earn confidence and move into production.

Generating an implementation is one part of delivering software. The work also includes establishing that it behaves as intended, understanding its consequences, and making it useful to people. As code generation accelerates, these responsibilities deserve deliberate design.

Six commitments
  1. Delivery is the outcome

    Judge progress by useful changes reaching people, the effort required, and the quality sustained afterwards. Read throughput alongside time to production, failures and rework. Keep the software understandable enough to change again.

  2. Confidence needs evidence

    Connect checks to intended behavior and real dependencies. Challenge assumptions shared by generated code and generated tests. Make the evidence, its limits, and the decision it supports visible at each handoff.

  3. Automation must change the work

    Automate validation and review wherever they can provide dependable evidence. Give every control a purpose. Decide what work it replaces, what it makes possible, and where additional inspection still adds value.

  4. Trust is earned together

    Give people timely feedback and clear expectations for relying on it. Investigate why they repeat checks. When a defect escapes an agreed process, take responsibility for repair and improve the process that allowed it through.

  5. Scrutiny follows consequences

    Choose review depth, test independence and release controls according to the harm a change could cause, how quickly failure would be detected, and whether its effects can be reversed. Make responsibility for the decision explicit.

  6. Learning outlives the change

    Turn failures into maintained tests, realistic examples and shared knowledge. Give that knowledge an owner. Help the next engineer and agent begin with what the organization has already learned.