Skip to content
vorgehen.de

Approach

The effort does not disappear, it moves — from the code to the specification.

With agents, implementation becomes cheap. Specifying and checking remain work. That is why I work in fixed steps, each with an artefact and a check. The last column names the file with which the step was carried out for this website.

# Step Artefact Check Agent Human On this site
1 Delimit the context Context delimitation, context map Responsibility of each context stated proposes decides context_map.md
2 Fix the domain language Binding glossary Terms in code = terms in the glossary applies defines ubiquitous_language.md, CLAUDE.md
3 Formalise the model Grammar, metamodel Parser accepts, cross-references valid co-drafts owns profile.tx
4 Record decisions Architecture decision record (ADR) Context, decision, consequences, rejected alternatives drafts approves ADR-013
5 Generate Generated code, generated pages Generated output is never edited by hand generator or agent reviews codegen.py, website.py
6 Verify and validate Tests, static analysis, check report All green; any finding aborts drafts tests adds edge cases, approves website_checks.py, Check report
7 Document and iterate arc42, commit history Documentation matches the current state; AI share marked in the commit drafts approves arc42

The steps

1. Delimit the context. Before an agent writes a line, it is clear what a subsystem is responsible for and what it is not. An agent works as well as its context is bounded.

2. Fix the domain language. The terms of the business domain are binding: in conversation, in code and in the instructions to the agent. Deviations are bugs, not matters of style.

3. Formalise the model. Whatever can be stated formally goes into a grammar. The parser checks what no review checks reliably: completeness and valid references.

4. Record decisions. Architecture decisions are kept as ADRs in the repository, together with the rejected alternatives. The agent inherits these decisions; it does not make them.

5. Generate. Whether a generator or an agent writes the code: corrections are made in the specification, not in the output. Otherwise the code knows something the specification does not.

6. Verify and validate. Every output has a check that a machine can evaluate. For this website, that includes: no name of a client or project may appear. The block list for this is derived from the profile model.

7. Document and iterate. Documentation is a working basis, not an afterthought. Commits with a substantial AI share are marked as such.

1999 and today

The first version of this domain had a page called “Arbeitsschritte zur Projektdurchführung” (steps for carrying out a project). The steps have stayed the same, the tools have not. The earlier version of vorgehen.de is kept in the archive (in German).