> For the complete documentation index, see [llms.txt](https://weekly-essay.mikey.wang/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://weekly-essay.mikey.wang/de/2021/w22-prototypes-and-tracers.md).

# W22-Prototypen und Leuchtspurmunition

In „The Pragmatic Programmer“ begegnete mir ein Begriffspaar zur Umsetzung von Projekten: Prototypen und Leuchtspurmunition. Für unsere laufende Neuarchitektur bietet es hilfreiche Orientierung.

Ein Prototyp ähnelt einer Form, die vor dem Start einer Produktionslinie gebaut wird. Es ist eine kleine Demo mit Wegwerfcode. Ihr Ziel ist, bestimmte Aspekte des späteren Systems zu untersuchen. Sie dient der Machbarkeitsprüfung und Validierung eines Ansatzes. Danach wird der gesamte Prototyp verworfen. Was bleibt, sind Erkenntnisse für die eigentliche Entwicklung. Bei uns könnte es etwa darum gehen, welche Build- und Deployment-Lösung die Neuarchitektur trägt oder wie Abhängigkeitsverwaltung die Wiederverwendung von Infrastrukturcode verbessert.

Eine Neuarchitektur ist zwangsläufig ein großer Eingriff über mehrere Monate. In einem veränderlichen Umfeld entstehen viele unvorhersehbare Wechselwirkungen. Sie kann etwa Arbeitsabläufe im Team ändern oder bestimmte Zugangspunkte des Geschäfts beeinflussen. Entwicklung mit Leuchtspurcode ist ein verlässlicher Umgang damit.

Was ist Leuchtspurmunition?

> Leuchtspurgeschosse werden abwechselnd mit gewöhnlicher Munition ins Magazin geladen. Beim Abfeuern entzündet sich ihr Phosphor und hinterlässt zwischen Waffe und Ziel eine sichtbare Spur. Trifft das Leuchtspurgeschoss, werden auch die folgenden gewöhnlichen Geschosse treffen. Soldaten korrigieren damit ihr Zielen. Es ist ein pragmatisches Verfahren, das unter realen Bedingungen unmittelbare Rückmeldung gibt.

Für mich ähnelt dieser Ansatz dem Strangler-Muster und Lean. Der wesentliche Unterschied zu gewöhnlicher Munition ist die direkte Rückmeldung. Wenn wir etwas bisher Unbekanntes umsetzen, wiederholen wir mit Leuchtspurcode fortlaufend den Kreislauf aus Zielen, Schießen, Rückmeldung und Korrektur. Über mehrere Zyklen nähern wir uns dem tatsächlichen Ziel. Leuchtspur- und gewöhnliche Geschosse sollten sich dabei abwechseln. Die Leuchtspur bestimmt die Bahn, schafft ein Gerüst und lässt Lücken offen. Mitwirkende verstehen dadurch, wie sie diese mit gewöhnlichem Code füllen können.

In einem unbekannten und stark veränderlichen Umfeld ist die Kombination aus Prototypen und Leuchtspurcode ein guter Weg, ein Projekt voranzubringen. Prototyping entspricht der Aufklärung und Informationssammlung vor dem ersten Leuchtspurgeschoss. Der Leuchtspurcode baut Bestandteile des endgültigen Systemgerüsts. Er ist einfach, aber vollständig. Gewöhnliche Geschosse sorgen danach schrittweise für Tiefe, bis das Ziel erreicht ist.

<br>
