Die Organisation muss Steuerungsmaßnahmen für den Entwicklungsprozess anwenden, um sicherzustellen, dass Verifizierungstätigkeiten durchgeführt werden, um sicherzustellen, dass die Entwicklungsergebnisse die in den Entwicklungseingaben enthaltenen Anforderungen erfüllen.
ISO 9001, Kapitel 8.3

Steuerungsmaßnahmen für den Entwicklungsprozess, wie sie in der Qualitätsmanagementnorm ISO 9001 (2015) von der Organisation gefordert werden, sind nur mit genauer Kenntnis der Entwicklungsergebnisse möglich. Der Einsatz von CARDS+ und dem damit verbundenen Vorhaben, eine angemessene und mit der entwickelten Software wachsende Produktdokumentation zu erstellen und zu pflegen, eröffnet eine Reihe von Möglichkeiten zur Verifizierung der Entwicklungsergebnisse.

Eine wesentliche Eigenschaft von CARDS+ ist die vordefinierte Struktur der Dokumentation im Wiki, mit Bausteinen, Prinzipien und Praktiken, die optimal aufeinander abgestimmt sind. Die Bausteine sind so gestaltet, dass Wissen schrittweise erfasst werden kann, vom Groben ins Feine. Vor allem die Systembeschreibung hilft uns, die funktionalen Aspekte oder Fähigkeiten eines Produktes zu verstehen.

Der Baustein Topic hilft, den Umfang (englisch: scope) eines Produktes festzulegen, klare Grenzen für die Entwicklung zu ziehen. Alle Topics zusammen beschreiben den Projektauftrag, übersetzt in die Sprache des Produktes.

Jede Projektorganisation braucht einen Überblick über das Geschäftsfeld, in dem die Nutzer mit dem Produkt arbeiten: Das “Big Picture”. Das langfristig geplante große Ziel einer Projektorganisation ist es, im Rahmen des Projektes das beste Ergebnis für die Nutzer des Produktes zu erreichen.

Weiterlesen auf cardsplus.info

Der Baustein Case wird verwendet, um das Ergebnis der Analyse einer Anforderung im Einzelnen zu erfassen. Was in einer Anforderung beispielsweise der abstrakte Wunsch eines Nutzers ist, wird durch einen Case konkret in die Sprache des Produktes übersetzt. Änderungen aufgrund allgemeiner rechtlicher Randbedingung (ganz aktuell die DSGVO) oder wirtschaftliche Erfordernisse sind weitere Treiber für Anforderungen, die mit dem Baustein Case für die Entwicklung übersetzt werden. Wo eine Anforderung einen gewissen Spielraum lässt, ist ein Case sehr exakt. Sonderfälle werden explizit als Case erfasst. Es gibt auch Situationen, die in einem Case beschrieben werden, für die keine Lösung gesucht wird – mit der entsprechenden Begründung.

Agile Entwicklung erfordert ein tief gehendes Verständnis jeder Anforderung zum Zeitpunkt der Umsetzung. Produktverantwortliche und Analysten sind verantwortlich für den Inhalt des Backlog. Sie schreiben die Storys. Und sie bereiten sich auf die Fragen der Entwickler und Tester vor. Ihr wichtige Aufgabe ist es, das cross-funktionale Team in die Lage zu versetzen, eigenverantwortlich und effizient Software zu “fertigen”.

Weiterlesen auf cardsplus.info

Eine Software, die “fertig” ist, hat in jedem Case die Essenzschritte einer passenden Lösung oder eine ausreichende Begründung, warum eine Lösung nicht möglich oder notwendig ist. Auf dieser Grundlage kann sehr gut beurteilt werden, ob alle Entwicklungseingaben in der Entwicklung berücksichtigt wurden.

Qualitätsmerkmale, auch als nicht funktionale Aspekte bezeichnet, sind Entwicklungseingaben, die nicht ganz so leicht zu fassen sind. Qualitätsmerkmale werden nicht einfach programmiert. Sie sind Eigenschaften, die durch die Wahl des Architekturstils, durch den Einsatz bestimmter Infrastrukur oder Anwendung bestimmter Entwurfsmuster bestimmt werden. Qualitätsmerkmale beeinflussen sich gegenseitig. Häufig “zerren” sie von zwei Seiten, d.h. stärken wir ein Qualitätsmerkmal, schwächen wir ein anderes. Bauen wir beispielsweise ein verteiltes System, verbessern wir das Zeitverhalten, erschweren aber die Analysierbarkeit. Das CAP-Theorem ist ein weiteres Beispiel für dieses Dilemma.

Agile Entwicklung unternimmt den Versuch, Probleme am Weg zum Ziel schneller und sicherer erkennen zu wollen und auf wechselnde Randbedingungen und Anforderungen besser und zielgerichteter reagieren zu können. Den Überblick zu behalten ist eine der wesentlichen Herausforderungen.

Weiterlesen auf cardsplus.info

Mit dem Einsatz von CARDS+ gibt es durch die Bausteine Decision und Spec auch in diesem Fall eine Möglichkeit zur Verifizierung der Entwicklungsergebnisse gegenüber den nicht funktionalen Entwicklungseingaben. Jede wichtige Entscheidung, die Entwickler treffen, dokumentieren sie mit dem Baustein Decision. Jede Entscheidung wird mindestens einem Qualitätsmerkmal zugeordnet, mit einer Begründung, die erklärt, warum sie für dieses Qualitätsmerkmal relevant ist. Mit dem Baustein Spec dokumentieren Entwickler übergreifende oder wiederholt eingesetzte Konzepte, die u.a. sicherstellen, dass eine Software bestimmte Qualitätsmerkmale aufweist.

Eine Software, die “fertig” ist, besitzt alle angeforderten Qualitätsmerkmale. Zu jedem Qualitätsmerkmal gibt es mindestens eine Entscheidung oder ein Konzept mit einer Aussage, wie und in welchem Umfang das Qualitätsmerkmal im vorliegenden Produkt umgesetzt wurde. Ein nicht zu unterschätzender Vorteil ist der Überblick zu jedem einzelnen Qualitätsmerkmal. Diese kompakte Zusammenstellung von Entscheidungen und Konzepten zu einem Thema zeigt Abhängigkeiten, die sonst nicht so leicht erkennbar sind.

Zusammenfassend lässt sich sagen, dass mit dem Einsatz von CARDS+ eine Produktdokumentation Schritt für Schritt mit der Entwicklung des Produktes entsteht. Dadurch ist es möglich, an jedem Sprint-Ende den Grad der Erfüllung der Anforderungen und Qualitätsmerkmale zu überprüfen. Der Kunde kann bei jedem bis zu diesem Zeitpunkt noch ungelösten Case entscheiden, auf eine Implementierung zu verzichten. Das ist eine Chance für den Kunden, auf Fähigkeiten zu verzichten, die vor langer Zeit angefordert wurde, mittlerweile aber nicht mehr gebraucht werden, weil sich die Welt in der Zwischenzeit schon wieder in eine andere Richtung bewegt hat. Das schafft Raum für die Realisierung der wichtigen Fähigkeiten, die in unserer schnelllebigen Zeit den Unterschied zwischen Erfolg und Scheitern macht.