Das Ziel agiler Entwicklung ist es, den Entwicklungsprozess flexibler und schlanker zu machen, als das bei den klassischen Vorgehensmodellen der Fall ist. Man möchte sich mehr auf die zu erreichenden Ziele konzentrieren und auf technische und soziale Probleme bei der Entwicklung eingehen.

14 CARDS+ passt zu agiler Entwicklung

Agile Entwicklung

Die Werte des agilen Manifests bilden das Fundament agiler Entwicklung.

XP folgt einem strukturierten Vorgehen und stellt die Teamarbeit, Offenheit und stete Kommunikation zwischen allen Beteiligten in den Vordergrund. Im Kern beruht XP auf den Werten Kommunikation, Einfachheit, Feedback, Mut, Lernen, Qualität und Respekt. XP erfordert Disziplin und Prinzipientreue.

https://www.it-agile.de/wissen/methoden/extreme-programming/
http://www.extremeprogramming.org

Der Ansatz von Scrum ist empirisch, inkrementell und iterativ. Er beruht auf der Erfahrung, dass viele Projekte zu komplex sind, um in einen vollumfänglichen Plan gefasst werden zu können. In Scrum wird neben dem Produkt auch die Planung iterativ und inkrementell entwickelt.

https://www.it-agile.de/wissen/methoden/scrum/
https://www.scrum.org/
https://www.scrumalliance.org/

Ziel bei Kanban ist ein gleichmäßiger Fluss (englisch: flow) in der Entwicklung. Der Ansatz stammt aus der industriellen Fertigung. Kanban arbeitet nach dem Pull-Prinzip. Man holt sich seine neue Aufgabe an der Tafel ab, wenn man seine Aufgaben erledigt hat.

https://www.it-agile.de/wissen/methoden/kanban/

Eine Stärke von CARDS+ im agilen Bereich ist das vorrangige Ziel, keine umfassende, sondern eine angemessene Dokumentation zu erstellen. Besonders im technischen Bereich der Produktdokumentation geht es sogar um die Vermeidung von Dokumentation durch Einbeziehung von Code und Test.

Die Randbedingungen für den Einsatz der Methode CARDS+ in einem agilen Umfeld sind eine feste Struktur der Systembeschreibung (mindestens Topic, Epic und Case) bzw. der Architekturdefinition (mindestens Decision und Service) und die Verwendung eines Wiki.

Agile Anforderungsanalye

Anforderungen zum richtigen Zeitpunkt, in der richtigen Tiefe und verständlich dargestellt, das ist die Aufgabe der Anforderungsanalye (englisch: requirements engineering). Bei Scrum gibt es ein Visionsdokument und ein Product-Backlog mit User-Stories. Aus der klassischen Anforderungsanalyse wissen wir, dass wir Modelle für die Analyse brauchen. Bei Scrum ist es üblich, dass erst dann modelliert wird, wenn das Team es braucht. Betrachten wir das Vorgehen bei der Anforderungsanalyse, dann starten wir mit groben Anforderungen und entwickeln sie schrittweise. Mal wird verfeinert und mal wird modelliert. Bei agilen Vorgehensmodellen kommt noch laufend Feedback aus Entwicklung und Test. CARDS+ passt ideal zu diesem Vorgehen. Die Bausteine Topic, Epic und Case bilden die unterschiedlichen Schritte der Verfeinerung der Analyse ab. Der agile Aspekt wird unterstützt, weil jeder Baustein eine klare Struktur und ein Ziel hat. Damit lässt sich sehr schnell eine prüfbare Definition-Of-Done etablieren. In CARDS+ verwenden wir Fachklassenmodelle nur für das Verständnis der fachlichen Domäne, ohne Anspruch, dass das Modell 1:1 umgesetzt wird. Das wesentliche Ziel ist hier die gemeinsame Sprache im Projekt. Jede Fachklasse ist dabei eine “Spezialisierung” eines Eintrags im Glossar.

Agiles Projektmanagement

Agiles Projektmanagement umfasst unterschiedliche Methoden, die vor allem auf Flexibilität und Anpassung setzen. Statt ausführlicher und umfangreicher Planung zu Beginn eines Projekts werden das adaptive Planen sowie die schnelle Abstimmung im Team unterstützt. CARDS+ gibt hier nur vor, wie die Ergebnisse dieser Analysen im Wiki abgelegt werden, wenn sie für die Produktdokumentation relevant sind.

Agil Dokumentieren

Gehen wir von der Prämisse aus, dass eine Produktdokumentation notwendig ist. Nehmen wir außerdem an, dass das Entwicklungsprojekt für die Erstellung und Pflege verantwortlich ist. Dann könnte man doch auf die Idee kommen, dass diese Produktdokumentation mit den gleichen Maßstab für die Qualität, mit dem gleichen Ansatz für empirische, inkrementelle und iterative Arbeitsweise und mit den gleichen Werten hergestellt wird. An diesem Punkt kommt die Methode CARDS+ ins Spiel. Die Methode übernimmt oder adaptiert bekannte Prinzipien und Praktiken der agilen Entwickler. CARDS+ fordert allerdings auch die gleiche Disziplin bei der Arbeit und eine Prüfbarkeit der Ergebnisse.

Fazit

CARDS+ tritt mit dem Versprechen an, die Erstellung und Pflege einer qualitativ hochwertigen Produktdokumentation zu ermöglichen. CARDS+ ist kein Vorgehensmodell, kein Prozess. Aus diesem Grund kann CARDS+ auch in bestehende Prozesse integriert werden. Autoren können jede Technik des Projektmanagements und der Anforderungsanalyse verwenden, um Ergebnisse zu produzieren. CARDS+ ist hier als Werkzeug zu verstehen. Die Projektmitarbeiter werden in die Lage versetzt, zu jeder Zeit und in jedem Prozessschritt eine wertvolle Information über bzw Erkenntnis zum Produkt vollständig und auffindbar für das Team (und zu einem späteren Zeitpunkt auch für ihn selbst) zu sichern.