Methodology

The AI Unified Process
in detail

Four phases, two workflows, six principles.
How the AI Unified Process (AIUP) works in practice: from inception through transition, in brownfield and greenfield projects, guided by principles that keep specifications at the center.
How It Works

Four agile phases #

Each phase runs short iterations where all disciplines work together, not in sequence. Phases overlap throughout the project lifecycle.

Requirements → AI Generation → Business Review → Repeat

Inception

  • Vision document
  • High-Level Requirements
  • Initial stakeholder alignment
  • Test strategy planning

Elaboration

  • Entity Models
  • System Use Case Diagrams with business validation
  • Business Processes (BPMN) connecting the use cases
  • Software Architecture Document

Construction

  • Detailed System Use Case Specifications
  • Supplementary specifications (UI mockups, OpenAPI specs, etc.), referenced from the use case specifications
  • Test case development (end-to-end journeys chaining the specified use cases)
  • AI-generated application code
  • Unit testing, integration testing
  • Developer review and iteration

Transition

  • User acceptance testing with an acceptance protocol derived from the test cases; accepted use cases become Done
  • User guide written from the use case specifications
  • Business release notes: the use cases that reached Done since the last release
  • Continuous delivery and stakeholder feedback integration
  • Production optimization
  • Continuous improvement

The end-to-end view #

One diagram showing how the four phases interlock, from initial requirements through to production. Colors mark the phases: blue for Inception, green for Elaboration, red for Construction, orange for Transition.

AI Unified Process overview
Click to view full size
Heritage

The Unified Process, rebuilt for the AI era #

The name is deliberate. The Unified Process of the late 1990s got the fundamentals right: use cases as first-class artifacts, four phases, short iterations, architecture first. The AI Unified Process carries that legacy forward as use-case-driven development (UCDD) and architecture-centric development (ACD). What the original never had was a way to keep specifications, code, and tests in sync once the project got moving. That is exactly what AI is good at.

Use-case-driven development (UCDD) #

In the Unified Process, use cases drive every discipline: analysis, design, implementation, and testing. The AI Unified Process keeps that. A system use case is the unit the agent implements, the unit the tests are written against, and the unit the business reviews and accepts. Code that enforces a business rule carries a UC-XXX BR-YYY marker, and every test carries the id of its use case, so the use case stays the thread from the requirement to the running code.

Architecture-centric development (ACD) #

In the Unified Process, the architecture is settled in Elaboration, before construction scales up, and every iteration builds on it. The AI Unified Process makes it explicit for the agent. The entity model, the stack file docs/architecture/stack.md, and the architecture decision records fix the layers, technologies, and conventions. The layer skills build every use case within them, and a deviation from an ADR is a question for a human, not a decision the agent takes alone.

→ Kept

Kept

  • Four phases: Inception, Elaboration, Construction, Transition
  • Use cases as the unit of specification, validation, and testing
  • Iterative and incremental, with a business review at the end of each iteration
  • Architecture decided early and kept explicit
→ Dropped

Dropped

  • Dozens of artifact types and role descriptions
  • Documents written for the process, not for the product
  • A tool suite you had to buy
  • Ceremony that made small teams avoid it
→ New

New

  • AI generates code, tests, and documentation from the use cases, and reconciles them when the use cases change
  • The specification stays in the Git repository, next to the code, for the life of the system
  • Open-source plugins instead of a licensed method
  • Works for a solo developer as well as for an enterprise programme
Two Modes

Brownfield and Greenfield #

Most projects start from a system that already runs and that you can't break. Some start from a clean slate. The same methodology covers both.

Brownfield

Reverse-engineer what exists #

Start from the running system. The Software Engineer reverse-engineers the entity model, use case model, and specifications from the existing code. Software Engineer and Requirements Engineer then review those artifacts together, establishing the spec baseline that future iterations build on. /spec-review can record the findings that already exist as a baseline, so only new problems fail the build. A large codebase is split by module, /stack detects the layers the project already has, and every later change reconciles the existing code with a changed use case instead of regenerating it. Maintain it or modernize it: the two paths →

Brownfield workflow diagram
Existing Code Reverse-Engineer Entity + Use Case Model SE + RE Review
Greenfield

Start from scratch #

The AI drafts use cases, business processes, and an entity model from the requirements, and first asks about what it cannot decide on its own; what nobody can answer yet goes into docs/open_questions.md until a product owner does; the Requirements Engineer revises and owns them, and /spec-review checks the specifications against each other before any code is written. The AI agent then generates code and tests directly from those artifacts, within decision rights the team sets: what it decides alone, what it asks about first, and what it never does. The Software Engineer reviews the result; every artifact traces back to a requirement.

Greenfield workflow diagram
Use Case Entity Model AI Agent Code + Tests
Business Processes

From business process to end-to-end tests #

Use cases describe single goals. The business process shows how they fit together, and that is exactly what the end-to-end tests have to cover.

Activities are use cases #

The business process is modeled in BPMN 2.0, gets an id such as BP-001, and is stored in the repository next to the other artifacts. /business-process drafts it from the requirements and the use case diagram, with one lane per actor; business analysts refine it in any BPMN modeler. Each activity corresponds to one use case: put the use case id in the activity name, for example "UC-009 Book visit", or it is matched to a use case by name.

Paths are test cases #

Every path from the start event to an end event becomes one end-to-end test case. It chains the use cases of its activities in process order, and the lanes the path crosses become the test case's roles.

One command #

In a coding agent, /test-case BP-001 derives the test cases. In AI Unified Process Studio, the process editor offers the same step with a Generate button, and the result arrives as a pull request.

Use case tests and test cases #

Use cases are normally disjoint: no step belongs to two use cases. A test case does not need use cases that overlap. The use cases are connected through data, because the postcondition of one use case fulfills the precondition of the next. An order created in one use case is the order approved in the next.

  • Use case test: Tests one use case. Its precondition is set up directly with test data, and it covers the main success scenario, the alternative flows, and the business rules.
  • Test case: Runs several use cases in the order of the business process. The earlier steps create the state the later steps work on, so it tests the hand-over between the use cases and the end state.

Why this matters #

  • Real business flows are covered: The end-to-end tests follow the paths the business actually runs, including the alternative paths through gateways, not a selection someone happened to think of.
  • No use case without end-to-end context: Every use case is tested in the context of the business process it belongs to, not only in isolation.
  • Business analysts use the notation they know: BPMN is the established language of process modeling, and the files stay exchangeable with tools such as Camunda Modeler.
  • The model stays the source: When the process changes, the test cases are derived again, and every test case traces back to a path in the process model.
Core Principles

Six fundamental principles #

Principles that ensure success in agile, iterative development.

→ 01

Requirements-Centric

Use cases are owned by requirements engineering and maintained for the life of the system, not prompts a developer writes and discards.

→ 02

AI-Assisted

AI handles tedious work; humans focus on business logic.

→ 03

Iterative Improvement

Specs, code, and tests evolve together through short cycles.

→ 04

Test-Protected

Comprehensive tests ensure consistent behavior whenever AI changes the code.

→ 05

Stakeholder-Centric

Continuous validation with business users at every iteration.

→ 06

Traceable

Every line of code traces back to a business requirement.

Beyond Determinism

Why perfect specifications miss the point #

It's not about perfect specs, it's about iterative improvement.

The Determinism Fallacy #

Critics argue AI code generation only works with exhaustive specifications that force deterministic output. This assumes we need perfect requirements upfront.

Reality: Perfect specifications are impossible and unnecessary. The real value comes from iterative improvement.

Our Iterative Approach #

Through short cycles, specifications become clearer, AI generation improves, and tests get stronger. Each iteration builds on the previous one.

Key insight: Tests ensure consistent behavior regardless of how the AI generates code. This enables safe evolution and modernization.

How iterative improvement works #

  • Start Small: Begin with basic requirements and generate initial code.
  • Test Everything: Create comprehensive tests that capture expected behavior.
  • Refine Continuously: Improve specs based on stakeholder feedback.
  • Change Safely: Tests protect against regression during AI code updates.
  • Document Reality: Keep specifications aligned with what actually works.
Guardrails

Guardrails that check the agent #

An agent that says “done” is making a claim. Guardrails make it prove that claim, in the build and in the session. The AI Unified Process PetClinic shows them working on a real application.

Sensors in the build #

Architecture tests turn the architecture document into executable rules. Traceability tests connect requirements, use cases, business rules, test cases, and tests in both directions: a test that points at a renamed flow fails, and so does a use case that claims Status: Done while one of its alternative flows was never tested.

Key insight: The build catches drift, no matter who or what made the change.

Hooks in the session #

Claude Code hooks hold the agent to the sensors. A Stop hook refuses to end the turn while changed code or specifications have not passed a fresh, green test run. A status guard refuses to set a use case to Done or Tested unless a coverage audit has finished first.

Key insight: Evidence is a test report or a finished audit, never console output that merely looks clean.

What the PetClinic shows #

  • Architecture tests: ArchUnit rules, each pointing at the section of the architecture document it enforces, plus a rule that catches misnamed tests that would otherwise never run.
  • Traceability sensors: one test class each for requirements, use cases, business rules, and test cases.
  • Session hooks: a guard on Status: lines, a Stop hook that requires green sensors, and a smoke test for the hooks themselves.
  • CI: every push runs the same build, the hook smoke test, and a SonarQube analysis.
  • Two branches: start, right after reverse engineering, and main, with every use case implemented, so the whole demo is one diff.
Talk to us

Ready to put the AI Unified Process into practice? #

Workshops, consulting, and tailored rollouts of the AI Unified Process. Book a call to talk through how the AI Unified Process fits your stack and team.