cards+
Agil dokumentieren

Mit cards+ wird inkrementelles Dokumentieren in einem agilen Software-Entwicklungs­prozess zur leistbaren Aufgabe. Die Dokumente werden prüfbar, die Qualität messbar.

Die «Digitale Transformation» braucht Wissensmanagement

Unternehmen brauchen das Wissen ihrer Beschäftigten. Wissen muss bewahrt und geteilt werden. Wissensinseln sind ein Risiko in jeder Organisation. Viel Wissen steckt auch in Software. Agile Software-Entwicklung ist darum Teil der digitalen Transformation in vielen Unternehmen. Dabei kommt es aber nicht nur darauf an, agil vorzugehen, sondern generell flexibel zu sein. Agilität wird häufig in einem Atemzug mit Geschwindigkeit oder Effizienz in der Entwicklung genannt. Aber über Dokumentation wird nicht so häufig gesprochen.

Es gibt die einen, die auf Dokumentation verzichten wollen.

«Code und Testpläne reichen!» sagen sie.

Andere wollen wiederum alles ganz genau aufschreiben.

«Wissen darf nicht verloren gehen!» fordern sie.

In diesem Spannungsfeld bewegt sich cards+. Eine agile Organisation schätzt funktionierende Software. Langfristig betrachtet braucht sie auch eine angemessene Dokumentation für die Software. Mit cards+ sind beide Ziele von Anfang an erreichbar. Software und Dokumentation wird Hand in Hand inkrementell entwickelt. Das Wiki ist das «Repository» für dokumentierte Informationen aller Art.

Dokumentieren erfordert wie Programmieren viel Kreativität und handwerkliches Geschick. Einfache Regeln und klare Strukturen steigern sowohl die Qualität der Ergebnisse als auch die Produktivität ihres Teams. Kontinuierliche Verbesserung ist eine weitere wichtige Gemeinsamkeit beim Dokumentieren und Programmieren. Viele bekannte Prinzipien und Praktiken der Entwickler können Autoren im Wiki direkt (z.B. KISS, DRY oder INVEST) oder in nur leicht abgewandelter Form (z.B. COC oder SRP) anwenden.

Der Gärtner ist als Coach für Autoren und Leser immer greifbar und hilft bei der Bewältigung von alltäglichen wie auch speziellen Problemen im Zusammenhang mit der Dokumentation. Er ist Experte im Zusammenhang mit Dokumentation. Er sorgt für die Formulierung und Durchsetzung von Dokumentationsrichtlinien, vergleichbar mit den Programmierrichtlinien der Entwickler.

Strategien für die praktische Umsetzung.

«Domain-Driven Design» ist ihr favorisierter Ansatz für die Analyse

Sie nutzen Domain-Driven Design für strategisches und taktisches Design in ihren Entwicklungs­projekten. Ihre Domänenexperten stellen die Modellierung der Fachlichkeit in den Vordergrund und erschaffen eine domänenspezifischen Sprache. Jeder kennt sie, jeder spricht sie, egal ob er oder sie als Entwickler, Tester oder Nutzer der Software beteiligt ist.

Trifft das zu, dann haben Sie optimale Voraussetzungen für einen erfolgreichen Einsatz von cards+ zur nachhaltigen Sicherung der Ergebnisse aus dem strategischen und taktischen Design im Wiki. Nachhaltig bedeutet, dass Fortschritte im Design auch zu entsprechenden Änderungen in der Dokumentation führen. Mit dem Einsatz von cards+ haben Sie ein lebendiges Design.

«Agile Software-Entwicklung» ist gelebte Realität in ihren Projekten

Sie setzen auf Agilität in der Organisation ihrer Entwicklung. Ihr Ansatz ist empirisch, inkrementell und iterativ. Schritt für Schritt wird ihr Team besser und schneller. Selbstorganisiert. Maximal motiviert. Ihr Fokus liegt auf Qualität und Exzellenz. In kurzen Zyklen entwickeln Sie kundenwirksame Inkremente.

Möchten Sie ihren Fortschritt nachhaltig sichtbar machen und jedes Inkrement angemessen dokumentieren, dann integrieren Sie cards+ in ihren Prozess und nutzen ein Wiki für ihre Dokumentation.

Das Wiki.

Ein Erfolgsfaktor.

Dokumente «agil» und «iterativ» entwickeln

Mit dem Einsatz von cards+ ist jede agile Projekt­organisation in der Lage, zielgerichtet und iterativ eine Produkt­dokumentation zu entwickeln. Zielgerichtet bedeutet, dass die erstellten Dokumente einen Wert für die Organisation haben. Iterativ bedeutet fortlaufende Wiederholung, verbunden mit der Chance, sich Schritt für Schritt zu verbessern. Mit dem Fortschritt in der Entwicklung der Software wächst auch die Produkt­dokumentation, als integraler Bestandteil des Produktinkrements. Dokumentieren wird zur leistbaren Aufgabe des gesamten Teams. Die Dokumentation wird prüfbar, die Qualität messbar.

Methode

Agil zu dokumentieren heißt bedarfsgerecht zu dokumentieren.

Prozesse

Tue es oder tue es nicht. Es gibt kein Versuchen.

Mit Asciidoc(tor).

Für Qualität.

Dokumente «inkrementell» entwickeln

Jedes inkrementelle Vorgehensmodell basiert auf der Idee der kleinen Schritte zur Reduktion der Komplexität. Damit wird ein komplexes Problem beherrschbar. Als agile Methode profitiert cards+ von den Erkenntnissen aus der inkrementellen Entwicklung und nutzt die Vorteile kontinuierlicher Verbesserung für die Dokumentation. Das  Cynefin-Modell. teilt Systeme in die fünf Kategorien "offensichtlich", "kompliziert", "komplex", "chaotisch" und "unklar" ein. In den Inkrementen kann jedes komplexe Problem in ein kompliziertes, manchmal sogar offensichtliches Problem zerlegt werden. cards+ hilft dabei, in diesem Bereich zu bleiben.

Methode

Es ist einfacher, einer Handvoll kleinerer Herausforderungen zu begegnen als einer einzelnen großen.

Struktur

Das Problem zu erkennen, ist wichtiger, als die Lösung zu erkennen.

Das Metamodell

Ein Überblick.

Dokumente wie «Quelltext» entwickeln

Asciidoc ist eine leicht­gewichtige Auszeichnungssprache für eine textbasierte Dokumentengenerierung. Eine Asciidoc-Datei kann u.a. in die Formate HTML5, EPUB3 und PDF umgewandelt werden. Eine Preview für Asciidoc-Dateien ist als Zusatz praktisch in jeder IDE verfügbar. Eine Asciidoc-Datei kann wie Quelltext inkrementell entwickelt und im Code-Repository versioniert gespeichert werden. Damit kann ein großer Teil der Produkt­dokumentation durch automatisierbare Veröffentlichung im Wiki direkt aus der Code-Basis in den Bausteinen von cards+ integriert werden.

Methode

Software ist nichts anderes als ausführbares Wissen.

Qualität

Qualität ist das Ergebnis einer Vielzahl selbstloser Akte der Sorgfalt.

Robert Bruckbauer

beantwortet ihre Fragen.

Von den Anfängen bis heute

Ein im Jahr 2014 gestartetes agiles Entwicklungs­projekt hatte das Ziel, das IT-System der Transportleitungen der Deutschen Bahn zu modernisieren. Die dort gewonnenen Erkenntnisse führten zum ersten Entwurf von cards+ als Ansatz für inkrementelles Dokumentieren.

Ein Fachartikel mit dem Titel «Agile Dokumentation für Stakeholder und Projektmitarbeiter» im Online-Magazin  Informatik aktuell ist die erste umfassende Veröffentlichung der Methode cards+.

Die Deutsche Bahn nutzt cards+ seit 2016 als Vorlage für einen projektspezifischen Ansatz für inkrementelles Dokumentieren im agilen Entwicklungs­prozess für ein neues IT-System zur Reisendeninformation.

Sortimo International GmbH hat ihr Produktportfolio in 2018 erweitert und geht mit dem Beklebungskonfigurator in den Markt. Für die Dokumentation der Projektergebnisse wurde cards+ als Ergänzung zum agilen Entwicklungs­prozess gewählt.

Das Fachmagazin  JavaSPEKTRUM hatte in der Ausgabe 02/2020 den Schwerpunkt Domain-Driven Design. Der Beitrag mit dem Titel «Vom Problemraum zur Lösung» zeigt die Vorteile der Kombination von Domain-Driven Design und cards+.