Qgelm

Agile Vorgehensweise und fachliche Dokumentation – wie passt das zusammen?

Originalartikel

Backup

<html> <p class=„u-text-small“><time class=„u-color-mute“ datetime=„2019-06-05 14:56:43“>05.06.2019, 14:56 Uhr</time><strong>Hinweis:</strong> Wir haben in diesem Artikel Provisions-Links verwendet und sie durch „*“ gekennzeichnet. Erfolgt &#252;ber diese Links eine Bestellung, erh&#228;lt t3n.de eine Provision.</p> <p class=„u-text-teaser“>User-Story-Maps aus agilen Projekten eignen sich nicht f&#252;r eine strukturierte und nachvollziehbare Dokumentation. Wie man aber Agilit&#228;t und Dokumentation dennoch vereinbaren kann, erkl&#228;rt unser Gastautor.</p> <p>Anzeige</p> <p>Missverst&#228;ndnisse wie die Annahme, dass Dokumentation wertlos ist, weil nur Code bleibenden Wert hat, oder dass nur funktionierende Software der Weg zur Validierung von Anforderungen ist, findet man leider immer wieder in agilen Projekten. H&#228;ufig werden User-Storys als ausreichend erachtet, um die Anforderungen an Dokumentation sicherzustellen. Diese werden in einer User-Story-Map in einen Gesamtzusammenhang gestellt und den Epics und den einzelnen Releases zugeordnet. Bei umfangreicheren Projekten entstehen aber schnell 300, 600 oder mehr User-Storys, die dann in der <a href=„https://t3n.de/news/scrum-story-map-1129252/“>User-Story-Map</a> nicht mehr &#252;bersichtlich und einfach nachvollziehbar dargestellt werden k&#246;nnen. Eine weitere Herausforderung ist, dass <a href=„https://t3n.de/news/scrum-user-storys-schreibt-1138460/“>User-Storys</a> h&#228;ufig aufeinander aufbauen. Will man den Programmablauf nachvollziehen, muss man alle betreffenden User-Storys in der richtigen Reihenfolge betrachten.</p> <h2>Warum dokumentieren wir und f&#252;r wen?</h2> <p>Wozu dokumentieren wir &#252;berhaupt, wenn am Ende die Software funktioniert? Dokumentation wird f&#252;r verschiedene Zwecke erstellt: gesetzliche Zwecke, als Basis f&#252;r &#220;berlegungen &#252;ber Umsetzungsalternativen, Kommunikationszwecke und zur Bewahrung.</p> <p>Gleichzeitig gibt es unterschiedliche Stakeholder bei einer Dokumentation: Entwickler, Tester, Operations, Fachabteilung, fachliche Betriebsf&#252;hrung und eventuell ein Wartungsteam, das nicht an der urspr&#252;nglichen Umsetzung beteiligt war. Die verschiedenen Stakeholder haben unterschiedliche Anforderungen an eine Dokumentation: Eine Fachabteilung zum Beispiel wird keine Expertise in Programmiersprache haben. Werden &#196;nderungen an der Software durchgef&#252;hrt, ist es ihr nicht zuzumuten, die aktuell implementierte Logik aus dem Code herauszulesen. Soll eine Kommunikation an Endanwender erfolgen, ist nur eine verst&#228;ndliche textliche Dokumentation sinnvoll, Programmcode ist v&#246;llig ungeeignet.</p> <p>Aber auch f&#252;r das Entwicklungsteam ist eine Dokumentation wertvoll. Ist kein Entwickler aus dem Umsetzungsprojekt mehr verf&#252;gbar, muss das Wissen um die Projektlogik auf andere Weise bewahrt werden als in den K&#246;pfen der Projektmitarbeiter.</p> <p>Werden nach einem Rollout Fehler gemeldet, muss nachvollziehbar sein, ob es sich um einen Fehler oder eine gewollte Eigenschaft der Software handelt. Das gilt auch, wenn eine Fehlermeldung erst deutlich nach dem Rollout eingeht. Dar&#252;ber hinaus existieren gegebenenfalls rechtliche Anforderungen an eine Dokumentation, die einzuhalten sind.</p> <h2>Eine Antwort auf ver&#228;nderte Kundenbed&#252;rfnisse</h2> <p>Im klassischen Vorgehensmodell (V-Modell) wurde zuerst ein Fachkonzept geschrieben, darauf aufbauend entwickelt, die Entwicklung getestet und final das Ergebnis vom Auftraggeber abgenommen. Wenn es endlich soweit war, hatte sich die Welt bereits weitergedreht und Anforderungen, die am Anfang in den Prozess gegeben wurden, waren mittlerweile obsolet oder zumindest nicht mehr aktuell. Das kann etwa bei Business-Intelligence (BI)-Projekten ein Problem sein, wenn sich nach Fertigstellung des Projekts und Sichtung der ersten Reports mit den Kennzahlen pl&#246;tzlich herausstellt, dass andere Kennzahlen oder sogar andere Datenquellen ben&#246;tigt werden. Abhilfe schaffen f&#252;r dieses Dilemma kann folgendes agiles Business-Intelligence-Vorgehensmodell.</p> <div id=„attachment_1167990“ class=„wp-caption alignnone c3“ readability=„31“><img class=„size-large wp-image-1167990“ src=„https://assets.t3n.sc/news/wp-content/uploads/2019/06/Abb1-Praetorios-620x262.jpg?auto=format&amp;h=262&amp;ixlib=php-2.3.0&amp;w=620“ alt=„“ width=„620“ height=„262“/><p class=„wp-caption-text“>&#8222;Agile Business Intelligence&#8220;-Vorgehensmodell (Grafik: DB Systel)</p> </div> <p>Es besteht im Wesentlichen aus den Komponenten Systemstrategie und Building-Block. F&#252;r Kleinstanforderungen, die kurzfristig ausgerollt werden m&#252;ssen (etwa Hotfixes), ist ein entsprechender Bypass vorgesehen.</p> <p>Im Rahmen der Systemstrategie werden die grundlegenden, langfristigen funktionalen, nichtfunktionalen und betrieblichen Anforderungen erhoben, soweit sie zu diesem Zeitpunkt bereits bekannt sind und eine Produktvision entwickelt. Auf Basis dieser Anforderungen kann eine passende Architektur entworfen und eine Realisierungs-Roadmap mit priorisierten Anforderungen erstellt werden. Auf Basis dieser Realisierungs-Roadmap erfolgt dann die Umsetzung in einzelnen Building-Blocks. Im Scrum-Wortschatz w&#252;rde man dies als Backlog mit priorisierten User-Storys bezeichnen.</p> <p>Ein Building-Block umfasst neben der fachlichen Konzeption der einzelnen Anforderungen auch alle Aufgaben der Entwicklung, des Tests und der Abnahme durch den Kunden. Trotzdem entspricht ein Building-Block nicht einem klassischen Scrum-Sprint.</p> <div id=„attachment_1167992“ class=„wp-caption alignnone c3“ readability=„31“><img class=„size-large wp-image-1167992“ src=„https://assets.t3n.sc/news/wp-content/uploads/2019/06/Abb2-Praetorius-620x308.jpg?auto=format&amp;h=308&amp;ixlib=php-2.3.0&amp;w=620“ alt=„“ width=„620“ height=„308“/><p class=„wp-caption-text“>Parallelisierung von Building-Blocks (Grafik: DB Systel)</p> </div> <p>Ein Building-Block dauert genau doppelt so lange wie ein Sprint. Durch die Parallelisierung der Building-Blocks gelingt es aber trotzdem, dass der Kunde nach jedem Umsetzungssprint eine neue Softwarelieferung einschlie&#223;lich der notwendigen Dokumentation erh&#228;lt. Denn w&#228;hrend das Umsetzungsteam an der Entwicklung der Inhalte des Building-Block 1 arbeitet, kann sich das Konzeptionsteam bereits mit der fachlichen Konzeption f&#252;r Building-Block 2 besch&#228;ftigen und inkrementell die Dokumentation aufbauen. Nach der H&#228;lfte des Umsetzungsprints werden die Anforderungen beziehungsweise User-Storys f&#252;r den n&#228;chsten Sprint vorgestellt und eventuelle Fragen und Anmerkungen des Umsetzungsteams ber&#252;cksichtigt. Beginnt das Umsetzungsteam mit der Umsetzung von Building-Block 2, startet zeitgleich das Konzeptionsteam mit den Arbeiten f&#252;r Building-Block 3. Das Konzeptionsteam l&#228;uft also inhaltlich immer einen Building-Block vor dem Umsetzungsteam.</p> <p>Durch die Trennung der Systemstrategie von der Umsetzung einzelner Anforderungen beziehungsweise Paketen von Anforderungen im Rahmen von Building-Blocks wird von Beginn an ein klarer strategischer Rahmen gesetzt. Die Aufteilung von umfangreichen Gesamtvorhaben in Building-Blocks erm&#246;glicht schnelle Erfolge und Erkenntnisse, die mit den Kunden diskutiert und in Folgeblocks genutzt werden k&#246;nnen.</p> <h2>Art der Dokumentation</h2> <p>Neben dem Erstellen von Textdokumenten &#8211; etwa f&#252;r die Dokumentation der nichtfunktionalen Anforderungen &#8211; ergibt es Sinn, eine strukturierte Dokumentation mit UML anzufertigen. Als Ergebnisse bieten sich hier Kontextdiagramme, Anwendungsf&#228;lle, Aktivit&#228;tsdiagramme und Fachklassen an, abh&#228;ngig von der Granularit&#228;t der User-Storys. Um aus der Dokumentation eine Referenz auf die User-Storys zu gew&#228;hrleisten, sollten in den UML-Diagrammen Requirements verwendet werden, die ID und Titel der User-Story tragen. Ein Modellierungswerkzeug erm&#246;glicht das schnelle Auffinden dieser Requirements in allen Diagrammen, in denen sie verwendet werden, und bietet so die Grundlage f&#252;r eine Traceability. So entsteht eine Gesamtdokumentation, die projektbegleitend erstellt wird und immer den aktuellen Stand der Software widerspiegelt. &#196;nderungen bestehender Funktionalit&#228;ten durch neuere User-Storys sind so einfach und transparent nachvollziehbar.</p> <h2>Fazit</h2> <p>So wie Trinken wichtiger ist als Essen, so ist eine funktionierende Software wichtiger als eine umfassende Dokumentation. Aber so wenig, wie man dauerhaft auf Essen verzichten kann, kann man auch dauerhaft auf eine Dokumentation verzichten. Agile Arbeitsweise und fachliche Dokumentation schlie&#223;en sich nicht aus, sondern sind wichtige Bestandteile eines erfolgreichen Projektvorgehens.</p> <div id=„vgWortPixel“ class=„c5“><img class=„vgWortPixel“ src=„https://ssl-vg03.met.vgwort.de/na/37c2a05af646440f917aad0dbee8afd4“ width=„1“ height=„1“ alt=„“/></div> <p>Anzeige</p> </html>

Cookies helfen bei der Bereitstellung von Inhalten. Diese Website verwendet Cookies. Mit der Nutzung der Website erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Computer gespeichert werden. Außerdem bestätigen Sie, dass Sie unsere Datenschutzerklärung gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information