cards+
Agil dokumentieren

Mit cards+ wird inkrementelles Doku­men­tieren in einem agilen Software-Entwicklungsprozess zur leist­baren Auf­gabe. Die Doku­men­te werden prüf­bar, die Quali­tät mess­bar.

Die «Digi­tale Trans­for­mation» braucht Wissens­manage­ment

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 Spannungs­­­feld 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.

Robert Bruckbauer

unter­stützt als Gärt­ner.

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

Sie nutzen Domain-Driven Design für strategisches und taktisches Design in ihren Entwicklungsprojekten. 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 Projektorganisation in der Lage, zielgerichtet und iterativ eine Produktdokumentation 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 Produktdokumentation, als integraler Bestandteil des Produktinkrementes. Dokumentieren wird zur leistbaren Aufgabe des gesamten Teams. Die Dokumentation wird prüfbar, die Qualität messbar.

Methode

Agil zu dokumentieren heißt bedarfs­gerecht zu dokumentieren.

Prozesse

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

Mit Asciidoc(tor).

Für Qualität.

Dokumente «inkre­­­­men­­­­tell» entwickeln

Jedes inkre­­­­men­­­­telle Vor­­­­gehens­­­­modell basiert auf der Idee der kleinen Schritte zur Reduktion der Kom­­­­plexi­­­­tät. Damit wird ein kom­­­­plexes Pro­­­­blem be­­­­herrsch­­­­bar. Als agile Methode profi­­­­tiert cards+ von den Erkennt­­­­nissen aus der inkre­­­­men­­­­tellen Ent­­­­wick­­­­lung und nutzt die Vor­­­­teile konti­­­­nuier­­­­licher Ver­­­­besserung für die Dokumentation. Das  Cynefin-Modell. teilt Systeme in die fünf Kategorien "offensichtlich", "kompliziert", "komplex", "chaotisch" und "unklar" ein. In den Inkre­­­­­menten kann jedes kom­­­­­plexe Pro­­­­­blem in ein kom­­­­­plizier­­­­­tes, manch­­­­­mal sogar offen­­­­­sicht­­­­­liches Pro­­­­­blem 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­­gewicht­ige Aus­zeich­nungs­sprache für eine text­basierte Doku­menten­generie­rung. Eine Asciidoc-Datei kann u.a. in die For­mate HTML5, EPUB3 und PDF umgewan­delt werden. Eine Preview für Asciidoc-Dateien ist als Zusatz praktisch in jeder IDE verfügbar. Eine Asciidoc-Datei kann wie Quell­text inkrementell entwickelt und im Code-Repository versioniert gespeichert werden. Damit kann ein großer Teil der Produktdokumentation 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

beant­wor­tet ihre Fra­gen.

Von den Anfängen bis heute

Ein im Jahr 2014 gestartetes agiles Entwicklungsprojekt 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 projekt­spezifischen Ansatz für inkrementelles Dokumentieren im agilen Entwicklungsprozess 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 Entwicklungsprozess 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+.

Bis heute ist cards+ Teil der Qualitätspolitik der  e.mundo GmbH.