Mittendrin statt nur dabei.
Agile Dokumentation in agilen Projekten.

Unumstritten ist, dass agile Projektansätze zahlreiche Vorteile bieten. Hierzu gehören sicherlich ein geringerer administrativer Aufwand sowie die informelle Kommunikation und Entscheidungsfindung in kleineren Teams.

Aber wann können solche Vorteile in Nachteile umschlagen? Verändern sich Projekte durch geänderte Anforderungen und dauern länger als geplant, oder steigt die Anzahl der Projekt-Streams sowie der part-time Mitwirkenden, erwachsen aus den oben genannten Vorteilen schnell handfeste Nachteile.

Ohne agile Dokumentation geht die Agilität verloren

Aus dem Vorgehen in agilen Projekten ergeben sich langfristig viele Nachteile – vor allem wenn Projekte umfangreicher werden oder länger andauern.

1. Es entstehen zunehmend Redundanzen.
Je länger die Projektdauer, desto höher die Redundanz und desto unklarer wird, welche Information überhaupt noch Gültigkeit besitzt.

2. Diskussions- und Kommentarketten werden immer länger.
Es wird immer aufwändiger, wichtige Information von unwichtiger zu unterscheiden.

3. Aktualität und Zuverlässigkeit von Information sinken.
Das Bereitstellen neuer Information und das Richtigstellen veralteter Information werden immer aufwändiger. Es entstehen immer mehr Widersprüche.

4. Die Informationssuche wird immer aufwändiger.
Die Dokumentation findet „unkoordiniert“ statt. Die Informationssuche wird immer komplexer und erzwingt ein Nachschauen in immer mehr Tools, und Tickethistorien, Kommentaren und Notizen.

5. Keine schriftliche Fixierung von Ergebnissen fördert „Scheinverständnis“.
Ergebnisse werden selten fixiert und die Diskussion erfolgt auf Basis von Verständnis und nicht auf Basis von schriftlicher Fixierung („konkreten Gegenständen“). Die intensive mündliche Kommunikation erzeugt bei Beteiligten ein „Scheinverständnis“. Jeder glaubt, dass alle das gleiche Verständnis haben und alle ausreichend informiert sind.

6. Keine ausreichende Fixierung von Business Requirements.
Je länger die Projektdauer, desto weniger weiß man am Ende, warum welcher Code entstanden ist. Man läuft Gefahr, dass nach wenigen Monaten der Zusammenhang von Business Requirements und Code vollständig verloren geht.

7. Fehlende Terminologie und fehlender Zwang zur Konkretheit.
Durch die ständige direkte Kommunikation fehlt oftmals ein Zwang zur Konkretheit und es entsteht eine unklare, wenig konsistente Terminologie sowohl in der IT, aber vor allem in der Business Terminologie.

Solche Nachteile wirken sich mit der Zeit massiv auf die Projekte aus. Der Koordinierungs- und Kommunikationsaufwand steigt überproportional. Trotz stetiger Kommunikation nehmen die Missverständnisse zu. Schlimmstenfalls geht die Agilität in Teilen verloren.

Information Management in einem agilen Umfeld

Im „Manifest für Agile Softwareentwicklung“ wird als einer von 4 Werten beschrieben, dass „…funktionierende Software mehr als umfassende Dokumentation…“ geschätzt wird. Klingt nach einem Widerspruch, ist es aber nicht. Auch ein Fahrzeug muss zuerst richtig funktionieren. Aber niemand käme auf die Idee, Benutzerhandbuch, Technische Dokumentation oder Service-Beschreibungen wegzulassen.

Information Management stehen in keinem Widerspruch zu den Werten des Manifestes. Es ist genau auf die Bedürfnisse der agilen Welt zugeschnitten. Ein wichtiger Bestandteil des Information Managements ist, ein kollaboratives Arbeiten (agiles Dokumentieren) aufzubauen. Das entspricht dem Gedanken des Manifestes. Dies zu organisieren ist die Aufgabe eines Information Manager.

Die Rolle des Information Manager

Die Rolle des Information Manager ist die wichtigste Komponente, um vom traditionellen Dokumentieren zum agilen Information Management zu kommen. Information Managers verkürzen den Gesamtaufwand für Dokumentation deutlich. Zu den Aufgaben gehört…

  • … sämtliche Dokumentationsanforderungen teamübergreifend zu managen. Hierzu gehören neben den Dokumentationsanforderungen der an der Entwicklung beteiligten Teams und der Business Requirements auch die Anforderungen aus dem Anwendungsbetrieb, der Nutzer sowie Governance- und Auditanforderungen.
  • … die Steuerung von Erstellung und Wartung der Informationen.
  • … die Publikation von Informationen auf einem standardisierten, für alle leicht zugänglichen Portal.

Ergebnis: Der Gesamtaufwand auch im agilen Projekt sinkt deutlich. (Siehe auch: What is the Business Case for IT Information Management? [Video, 02:08])

Die Methoden des Information Management

Um schneller und besser zu werden, greift der Information Manager auf folgende Konzepte und Methoden zurück:

  • Information Units ersetzen Dokumente
    Information Manager arbeiten mit Information Units in einem System für Information Management statt mit den klassischen, umfangreichen Dokumenten. Units lassen sich anders als Dokumente granular und eindeutig in einer Hierarchie ordnen. Außerdem lassen sie sich im System abhängig vom Stakeholder flexibel im zusammenstellen –  jeder Stakeholder sieht genau das, was er sehen muss.
  • Taxonomie und Metadaten schaffen für jeden ein Gesamtbild
    Um mit Information Units arbeiten zu können, benötigen Sie eine Taxonomie und ein Konzept für Metadaten.  Taxonomien und Metadaten sind der Kitt, der Einzelinformationen (Information Units) zu einem stimmigen Gesamtbild zusammenfügt.
  • Information Governance ist ein andauernder Prozess
    Sie verstehen Dokumentation als einen Prozess, als Information Management. Und sie steuern den Prozess durch Information Manager.
  • Create beschleunigt das Erstellen erforderlicher Dokumentation
    Jeder macht, was er am besten kann und es wird nur Erforderliches dokumentiert. Der Aufwand für Entwickler reduziert sich auf das Bereitstellen von Informationsschnipseln. Der Information Manager überarbeitet, ergänzt und fügt die Informationen zu einem Gesamtbild zusammen.
  • Evaluate unterscheidet Wichtiges von Unwichtigem
    Informationen werden ständig produziert. Wichtiges aus allen Bereichen (Tools) filtert der Information Manager aus und integriert die Information in das Gesamtbild.

DocOps

Im DevOps-Umfeld spricht man bei der agilen Dokumentation statt von Information Management auch von „DocOps“. DocOps, hier zu verstehen als ein „Continuous Documentation“ ist eine Methode, die aus dem „Continuous Delivery“-Ansatz aus dem DevOps-Umfeld abgeleitet ist. Ziel ist es Dokumentation als einen integralen Bestandteil eines teamübergreifenden, agilen Ansatzes zu betrachten. Dokumentation ist weder vor- noch nachgelagert, sondern entsteht permanent und wird kontinuierlich weiterentwickelt.

Summary

Agile Methoden und Dokumentation sind kein Widerspruch. Im Gegenteil: Information Management begünstig Agilität und ist das Gegenstück in der modernen IT zur traditionellen Dokumentation. Information Management macht Dokumentation schneller, besser und reduziert vor allem die Aufwände. So ist Information Management ein idealer Bestandteil agiler Projekte. Entwickler werden entlastet und gleichzeitig werden die Anforderungen anderer Stakeholder wie beispielsweise Audit, IT Betrieb sowie IT Governance erfüllt.

Appendix

Dokumentation in einer agilen Welt: ISO/IEC 26515

Die „ISO/IEC 26515 Systems and software engineering — Developing user documentation in an agile environment“ ist eine Norm für die agile Welt.

Die Norm beschreibt, wie eine Nutzungsdokumentation in einem agilen Umfeld entstehen kann, wobei keine spezifische agile Methode oder bestimmte Entwicklungsumgebung favorisiert wird.

Die Norm gibt einem Verantwortlichen für die Dokumentation Planungshilfen an die Hand und Hinweise, wie die Nutzungsdokumentation im Rahmen agiler Projekte erstellt und gemanagt werden kann und welche Beziehungen es zwischen der System- oder Softwareentwicklung und der Entwicklung der Dokumentation gibt.

 

Manifest für Agile Softwareentwicklung

Wir erschließen bessere Wege Software zu entwickeln, indem wir es selbst tun und anderen dabei helfen. Durch diese Tätigkeit haben wir diese Werte zu schätzen gelernt:

  • Individuen und Interaktionen mehr als Prozesse und Werkzeuge
  • Funktionierende Software mehr als umfassende Dokumentation
  • Zusammenarbeit mit dem Kunden mehr als Vertragsverhandlung
  • Reagieren auf Veränderung mehr als das Befolgen eines Plans

 

Das heißt, obwohl wir die Werte auf der rechten Seite wichtig finden, schätzen wir die Werte auf der linken Seite höher ein.

 

Wir folgen diesen Prinzipien:

  1. Unsere höchste Priorität ist es, den Kunden durch frühe und kontinuierliche Auslieferung wertvoller Software zufrieden zu stellen.
  2. Heisse Anforderungsänderungen selbst spät in der Entwicklung willkommen. Agile Prozesse nutzen Veränderungen zum Wettbewerbsvorteil des Kunden.
  3. Liefere funktionierende Software regelmäßig innerhalb weniger Wochen oder Monate und bevorzuge dabei die kürzere Zeitspanne.
  4. Fachexperten und Entwickler müssen während des Projektes täglich zusammenarbeiten.
  5. Errichte Projekte rund um motivierte Individuen. Gib ihnen das Umfeld und die Unterstützung, die sie benötigen und vertraue darauf, dass sie die Aufgabe erledigen.
  6. Die effizienteste und effektivste Methode, Informationen an und innerhalb eines Entwicklungsteams zu übermitteln, ist im Gespräch von Angesicht zu Angesicht.
  7. Funktionierende Software ist das wichtigste Fortschrittsmaß.
  8. Agile Prozesse fördern nachhaltige Entwicklung. Die Auftraggeber, Entwickler und Benutzer sollten ein gleichmäßiges Tempo auf unbegrenzte Zeit halten können.
  9. Ständiges Augenmerk auf technische Exzellenz und gutes Design fördert Agilität.
  10. Einfachheit — die Kunst, die Menge nicht getaner Arbeit zu maximieren — ist essenziell.
  11. Die besten Architekturen, Anforderungen und Entwürfe entstehen durch selbstorganisierte Teams.
  12. In regelmäßigen Abständen reflektiert das Team, wie es effektiver werden kann und passt sein Verhalten entsprechend an.

 

Haben Sie weitere Fragen? Wir beraten Sie gerne: marketing@avato.net

Impressum: 
Datum: November 2019
Autor: Gregor Bister
Kontakt: marketing@avato.net
www.avato-consulting.com
© 2019 avato consulting ag
All Rights Reserved.