Beiträge

Agiles Vorgehen bei der Erstellung eines Lastenheftes – Teil III

Hier könnt ihr den ersten und den zweiten Teil lesen!

Phase IV: Reviews & Freigabe

In der vierten Phase geht es um das finale Review und die Freigabe: Mit der 0.8-Version gehen wir mit dem gesamten Projekt noch einmal in ein Peer-Review, das heißt: Alle bekommen jetzt wirklich alles.

Reviews

Vorher erhielten manche nur Ausschnitte, weil anderes für sie einfach nicht relevant war. Mit dem 0.8-Release aber gibt es nun ein einziges Dokument, das von allen noch einmal in Form des Peer-Reviews durchzugehen und zu kommentieren ist.

Häufig kommt noch sehr viel an Information und an Zusätzen zurück, daraus machen wir dann den 0.9-Release. Mit diesem gehen wir in einen moderierten Review-Workshop: Wir treffen uns alle gemeinsam vor Ort und gehen noch einmal alles durch.

Das Charmante an dieser Phase ist, dass alle den Release inhaltlich kennen und Ihre Anmerkungen schon im Vorfeld gemacht haben. Somit – und das ist meine Erfahrung wie auch meine verfolgte Strategie – ist hier schon fast alles geklärt.

Findings vs. Fehler

Die Kleinigkeiten und Formulierungen, die noch nicht ganz perfekt sind, sind unproblematisch, denn es sind Findings bzw. Auffälligkeiten und werden natürlich auch dokumentiert – aber es sind keine Fehler.

Für diese Dokumentation setze ich eine Review-Checkliste ein, in der wir Folgendes festhalten: Was ist aufgefallen? Wie schwerwiegend schätzen wir es ein? Ist es dramatisch, also „major“, oder weniger kritisch und daher „minor“? Oder ist es einfach nur eine Rückfrage?

Dies stellt für uns die Basis zur Freigabe dar: Wenn wir keine Major-Aspekte haben, sondern nur ein paar Minor-Punkte, kann durchaus die Freigabe erfolgen. Wenn es Major-Punkte gibt, müssen diese zuvor abgestellt werden.

Bei den Minor-Findings ist es bei der Dokumentation sehr wichtig, direkt eine Empfehlung zu geben, wie diese Auffälligkeiten zu ändern sind. Denn in der Regel gehen wir nach dem moderierten Review-Workshop alle wieder zurück an unsere Arbeit – und nicht immer ist die allererste Aufgabe, diese Punkte abzustellen.

Es kann also auch ein paar Tage dauern, bis daran gearbeitet wird. Mit der Dokumentation kann aber jeder sehr gut nachvollziehen, was das Problem war und wie die Empfehlung lautete, das anzupassen.

Der 1.0-Release

Wenn all das passiert ist, also die Review-Checkliste mit allen Findings durchgegangen und alles erledigt worden ist, folgt automatisch der 1.0-Release.

Denn – und das ist das Schöne daran – wir haben jetzt eine Dokumentation, ein Lastenheft, das Review-Protokoll und die Dokumentation über die Abstellung aller Auffälligkeiten beim finalen Review auf 0.9-Basis.

ALLE haben ihr „Go“ gegeben und wir brauchen für diese 1.0-Version entsprechend keine weiteren Unterschriften. Zudem können wir mit 1.0 und dem Review-Protokoll jederzeit alles nachweisen. Das hat bei B. Braun wunderbar funktioniert, auch im offiziellen Vorstellungsmeeting mit dem obersten Top-Management.

Auf dieser Basis folgten zudem u.a. die Aufwandsschätzungen für die zukünftige Entwicklung – denn mit der Erstellung eines Lastenheftes können wir auch diese viel besser unterstützen.

Agiles Vorgehen bei der Erstellung eines Lastenheftes – Teil II

Hier könnt ihr den ersten Teil lesen!

Phasen II & III: Datensammlung und Erstellung des Lastenheftes

In der zweiten Phase geht es darum, Informationen zu sammeln, zu sichten und alles bereitzustellen. Bei B. Braun haben wir das am zweiten Workshop-Tag gemacht, das kann sich aber auch über ein paar Tage oder eine Woche hinziehen.

Fakten, Fakten, Fakten

Diese Daten können alte Lastenheftdokumentationen sein, alte Spezifikationen, Marketingunterlagen, One-Pager, etc. All das sollte über einen FTP-Server bereitgestellt werden, sodass es mir immer vorliegt.

Darauf basierend setze ich die ganzen Informationen in das System-Footprint-Template (eine Art Word-Struktur). Dies tue ich auf Basis der Visualisierungen aus dem Workshop, sie stellen sozusagen die einzelnen Teilüberschriften dar und stellen die wesentlichen Aspekte heraus.

Vereinfacht gesagt übertrage ich das alles ins Lastenheft. Danach arbeite ich das Ganze auf, prüfe die Requirements, die Grammatik und so weiter. Dann folgt die Klärung der Lücken.

Diese werden typischerweise unterschätzt. Häufig höre ich von den Projektleitern bei den Workshops, dass das Lastenheft schon weitestgehend vollständig ist. Doch beim Footprint-Workshop folgt dann der große Aha-Effekt.

Genau das funktioniert in den Footprint-Workshops unglaublich gut: Was fehlt, was ist noch nicht besprochen, nicht visualisiert, nicht dokumentiert. Diese Lücken schließe ich dann durch das Triggern der inhaltlich zuständigen Leute.

In der Regel stecke ich nicht im Detail in dem technischen System, sodass ich die Zuarbeit der jeweiligen Spezialisten benötige. Sie können aber alles so zusammenschreiben, wie sie möchten und wie es für sie am einfachsten ist. Ich übernehmen den Feinschliff.

Das Lastenheft

Und damit kommen wir zur dritten Phase: Das tatsächliche, kontinuierliche Erstellen des Lastenheftes. Dafür nutze ich die Release-Stände und die Inhalte, die von der Entwicklung kommen, und kümmere mich um die Pflege der verschiedenen Attribute.

Wenn wir über Engineering-Requirements-Management reden, meine ich nicht nur die Requirement-Statements, also die Aussagen, sondern auch weitere Attribute für die klare Definition. Zudem kümmere ich mich um die Peer-Reviews.

Als Requirements-Management-Werkzeug nutze ich Polarion und fülle all das dort ein, inkl. Release-Stände. Das können auch Zwischen-Stände sein, also z.B. 0.3-3, diese schicke ich dann wieder zurück zum Projekt, damit die Leute vor Ort sich darum kümmern können, die Peer-Reviews durchzuführen.

Polarion – es gibt aber auch andere Tools – bietet die „Word-Round-Trip“-Funktion an, das heißt die andere Seite muss nicht zwingend ein ALM-Tool haben. Sie kann in Word korrigieren und sobald ich das wieder in Polarion integriere, kümmert das Tool sich selbstständig um das Einpflegen.

Die Erstellung eines Lastenheftes ist also der dritte Schritt, die dritte Phase. Das zieht sich im Grunde genommen so lange, bis 0.8 erreicht ist.

Agiles Vorgehen bei der Erstellung eines Lastenheftes – Teil I

Phase I: Nutzen-Klärung

Wir können bei der Erstellung eines Lastenheftes fünf Phasen festlegen. Die erste Phase ist die Nutzen-Klärung. Das muss ganz typischerweise am Anfang und live mit dem Projekt in einem System-Footprint-Workshop geklärt werden.

System-Footprint-Workshops

Im Fall von B. Braun bin ich für zwei Tage und für zwei Aufgaben vor Ort gewesen. Die erste war der System-Footprint-Workshop, bei dem wir visualisiert haben, was überhaupt das System ist und was die Anforderungen an dieses sind.

Parallel habe ich hier – und auch in anderen Projekten – den Project-Footprint mit aufgebracht. Denn relativ häufig kommen Projektanforderungen in den System-Footprint-Workshops hoch, obwohl sie nicht in eine Systemspezifikation gehören.

Sie sind jedoch für einen Projektmanager besonders wichtig und müssen daher dokumentiert werden, damit er sie nutzen kann. Dennoch: Sie gehören nicht in ein Lastenheft.

Am zweiten Tag sind wir bereits die Ergebnisse der ersten Dokumentation durchgegangen. Gleichzeitig haben wir die Release-Strategie erstellt, um eine gemeinsame Vorstellung davon zu schaffen, WIE die Erstellung aussehen wird.

Die Release-Strategie

Die Release-Strategie ist aus drei Gründen unglaublich wichtig.

1. Sie sorgt für ein gemeinsames Verständnis und damit gleichzeitig für eine Roadmap: Allein dadurch, dass wir das Ganze diskutieren, wird klar, wie alles zusammenhängt und wie wir das auffädeln, wer was macht und wer sich um was kümmert.

2. Wir definieren den Zweck der Zwischenreleases: Welchen Zweck hat 0.3? Welchen Zweck hat 0.5, 0.7, 0.8 und 1.0? Das sind die typischen Zwischenreleases, die ich nutze.

Release 0.3 ist in der Regel erst einmal die Erstellung und das Befüllen des Footprint-Workshops mit den vorliegenden Dokumenten. Ich fahre das im 0.3-Release zusammen, denn so werden ganz viele Lücken sichtbar. Diese sind in 0.5 mit Inhalten zu füllen, sodass quasi ein erstes grobes Lastenheft entsteht.

Das Ganze geht ab 0.5 dann in die Peer-Reviews und basierend auf diesen folgt 0.7. Hier gibt es manchmal noch kleinere Anpassungen und Änderungen und oft ergeben sich noch neue Fragen. Darauf basierend wiederum erschaffen wir den 0.8-Release.

0.8 ist quasi der Stand, der an die großen Peer-Reviews geht und auf dessen Basis wir das finale Review machen, um dann 1.0, also quasi das offizielle Release zu machen.

3. Die Release-Strategie ist die Visualisierung für das Top-Management. So können sie sehen, von welchem Zeitraum und von welcher Dauer wir reden, wann was gemacht wird und welchen Zweck das Ganze hat. Deswegen ist auch dieser Workshop vor Ort so wichtig.

Das Kanban-Board

Zudem bauen wir ein gemeinsames Kanban-Board auf. Ich arbeite in der Regel remote und auch die Spezialisten, welche mir inhaltlich zuarbeiten, sind meist in aller Welt verstreut, sodass wir eine gemeinsame Arbeitsplattform benötigen.

Wir haben im Fall von B. Braun Trello genutzt und waren sehr zufrieden, im Grunde aber kann es jede andere Form sein – wichtig ist nur, dass wir es aktualisieren können und dass jeder sehen kann, was noch wo zu tun ist.

Außerdem können wir uns so gegenseitig triggern, wenn noch etwas fehlt, und schließlich sehen, was wir geschafft haben – unter anderem nämlich, den Nutzen und die Strategie bei der Erstellung des Lastenheftes zu klären.

Hier geht es zum zweiten Teil.

Sieben Tipps zur Erstellung von Lastenheften – Teil II

Wenn es um die Erstellung von Lastenheften geht, kann man gewisse Fehler vermeiden – wenn man sich von Beginn an bewusst macht, welche diese sind und wie und warum sie entstehen.

In dieser und der folgenden Ausgabe des Blogs möchte ich Euch sieben entscheidende Tipps geben, die die Erstellung von Lastenheften vereinfachen und Fehlerquellen minimieren.

Hier geht es zu den ersten drei Tipps!

Tipp 4: Keine Referenzen auf Personen!

Auch das habe ich immer wieder erlebt: „Kann man nicht noch einmal auf den Kollegen, der den Input gegeben hat, referieren?“

Nein, kann man nicht!Das macht in einem Lastenheft keinen Sinn, und zwar aus zwei Gründen: Zum einen wird dieser Kollege in einem Jahr wahrscheinlich nicht mehr an der Position oder nicht mehr für die Aufgabe zuständig sein. So ist das Projektgeschäft, Projekte wechseln, Kollegen wechseln.

Zum anderen kann daraus der Fehler entstehen, diese Person indirekt oder sogar direkt als Anforderung zu beschreiben: „Das ist die Person, mit der alles geklärt werden muss.“

Also: Keine Referenzen auf Personen im System-Lastenheft. Das ist ganz, ganz wichtig.

Tipp 5: Kein Excel!

Bitte, bitte, bitte kein Excel. Wenn kein Requirements-Management-Werkzeug vorliegt oder ein Austausch mit dem Kunden nicht anders funktioniert, verwendet Word – aber kein Excel.

Erstens kann Excel keine Bilder einbinden: Wenn ich eine Visualisierung im Lastenheft haben will und Excel nutze, schwebt diese gedanklich quasi über den Tabellen. Das heißt vor allem, dass es keine Zuordnung gibt. Wenn dann – wie schon oft erlebt – Inhalte und Referenzen verrutschen, Zeilen gelöscht oder verschoben werden, steht das Bild plötzlich ganz woanders bzw. vielleicht noch auf der gleichen Position, aber mit ganz anderem Kontext.

Bei Word funktioniert das besser, Word kann mit Bildern umgehen.

Zweitens verführt Excel einen dazu, in dieser Tabellensicht eines Requirements-Management-Werkzeuges zu arbeiten. Das ist zwar super, wenn man Profi ist – aber in der Regel sind die Leute, die so ein Artefakt, so ein Lastenheft schreiben, nicht unbedingt Spezialisten für Requirements-Management-Werkzeug-Anwendungen. Das bedeutet, sie haben enorme Schwierigkeiten, in so einer Excel-Tabelle flüssig zu schreiben. Dabei ist genau das viel wichtiger. Ich kümmere mich um den Rest und mache mit meiner Erfahrung alles entsprechend „sauber“.

Mir ist es egal, ob Deutsch oder Englisch, und mir ist auch egal, wie es formuliert ist, Requirements-Grammatik muss hier nicht eingehalten werden, nichts muss eingehalten werden – Hauptsache, die Inhalte werden flüssig heruntergeschrieben, wie sie den Kollegen in den Kopf kommen, und liegen am Stück vor.

Fangen die Leute aber an, in Excel von einem Tab zum nächsten und von einer Zeile zu anderen zu springen, kann genau dieses „Herunterschreiben“ nicht funktionieren.

Also bitte, bitte kein Excel.

Tipp 6: Keine Lösungen beschreiben!

Mit diesem Punkt verhält es sich so ähnlich wie mit dem bereits beschriebenen Pseudo-Code – und auch dieser Punkt ist extrem wichtig: Wir beschreiben im Lastenheft keine Lösungen.

Was wir schon beschreiben können, ist, welche Dinge übernommen werden müssen, aus welchem Grund auch immer. Das ist kein Problem, aber wie eine zukünftige Lösung, die noch zu entwickeln ist, auszusehen hat, gehört hier nicht hin.

Was ich hineinschreibe, ist der Wunsch, die Vorstellung von dem, was ich hinterher brauche – nicht aber, wie es umzusetzen ist. Denn Lösungsbeschreibungen kommen erst auf der Systemebene, nicht auf der Ebene des Lastenheftes.

Tipp 7: Lastenhefte sind keine Pflichtenhefte!

Vermischt Lastenhefte nicht mit Pflichtenheften. Ein Lastenheft ist ein „Wünsch dir was“ – und bleibt ein „Wünsch dir was“.

Ich habe mittlerweile mit mehreren Kunden aus den verschiedensten Branchen genau diese Diskussion geführt. Die Vermischung kommt häufig daher, dass Firmen bzw. Projekte kein Requirements-Management-Werkzeug nutzen. Das bedeutet, wenn sie Lastenheft und Pflichtenheft als einzelne Dokumente sehen, als einzelne Artefakte, müssten sie im Grunde hingehen und Teile des Lastenhefts kopieren, entsprechend ergänzen, verändern, anpassen, löschen und so weiter. Sie müssten inhaltlich quasi Sinnvolles übernehmen bzw. andere Antworten schreiben.

Das führt dazu, dass viele darin doppelte Arbeit sehen bzw. das ganze Organisieren und Verwalten eben nicht entsprechend funktioniert. Wir können aber, solange kein Requirements-Management-Werkzeug da ist, keine Traceability – so nennt sich das fachlich – herstellen. Das heißt, ich kann nicht aus einem Lastenheft eine Anforderung in ein Pflichtenheft ableiten.

Um das zu umgehen, neigen viele Firmen dazu, Lasten- und Pflichtenheft in ein Dokument zu schreiben. Ob diese Teile in zwei verschiedenen Farben dargestellt werden oder das eine Heft quasi mithilfe der Struktur des Dokuments dargestellt wird: Ganz ehrlich – das ist Bullshit.

Lasst das bleiben! Und wenn Ihr doch diesen Weg gehen wollt: Ich gehe da nicht mit. Es führt – auch aus Erfahrungen aus dem Trouble-Shooting – definitiv ins absolute Chaos.

Sieben Tipps zur Erstellung von Lastenheften – Teil I

Wenn es um die Erstellung von Lastenheften geht, kann man gewisse Fehler vermeiden – wenn man sich von Beginn an bewusst macht, welche diese sind und wie und warum sie entstehen.

In dieser und der folgenden Ausgabe des Blogs möchte ich Euch sieben entscheidende Tipps geben, die die Erstellung von Lastenheften vereinfachen und Fehlerquellen minimieren.

Tipp 1: Realistische und strikte Zeitplanung und -einhaltung!

Ihr müsst Eure (und meine) Zeit sinnvoll einplanen – und dranbleiben. Bei meinen Erstgesprächen für die Erstellung eines Lastenheftes mit den Entwicklungsleitern kommt sehr schnell die Frage: „Wie viel Zeit werden wir brauchen?“

Zunächst sind der Footprint-Workshop und der Aufbau der Release-Strategie ganz wichtig – auf diesen beiden Grundlagen basiert schließlich der gesamte Rest. Zeitlich sind sie allerdings nicht so wahnsinnig aufwändig: Diese beiden Punkte sind relativ einfach in ein bis zwei Tagen abzuarbeiten.

Dann geht es um das Erarbeiten der Inhalte (also der Teile 0.3, 0.5, 0.7, 0.8, 0.9, 1.0) – und hier müssen wir zwischen dem Aufwand und der Dauer unterscheiden. Der Aufwand auf Seiten des Projektes entsteht, weil noch fehlende Teile beschrieben werden und viele Inhalte zum Review müssen.

Der Aufwand auf meiner Seite ist ein etwas anderer: Ich kümmere mich mit meinem Erfahrungsschatz und meinem Wissen – quasi mit der Hand auf dem Ganzen – um die Erstellung und das „Hübsch-Machen“. Beim B.-Braun-Projekt beispielsweise belief sich mein Aufwand auf 18 Tage.

Man könnte meinen, dies klinge relativ locker – doch Vorsicht: Aufwand ist nicht Dauer! Denn gleichzeitig bedeutet diese Vorgehensweise auch: Wenn irgendjemand im Projekt etwas sucht oder erarbeitet, ist das eine Phase, in der ich zunächst auf weiteren Input warte. Entscheidend für die Organisation ist hierbei, dass ich je nach Projektphase ca. zwei Tage pro Woche für solche 18-Tage-Projekte einplane.

Somit bedeutet dieser Aufwand also eine Dauer von vier Monaten – und das ist nicht unüblich. Bei der Berechnung kommt es auch auf die Größe und die Komplexität des Systems an: Bei überschaubaren Subkomponenten und einem übersichtlichen Entwicklungsteam war das schnellste Lastenheft in ca. drei Wochen erstellt, das aufwändigste dauerte hingegen acht Monate: Hier handelte es sich um ein hochkomplexes, hochintegratives System von Systemen.

Mein Fazit: Unterschätzt die Dauer nicht, auch wenn der Aufwand nicht allzu hoch sein mag.

Plant also die Zeit ein – und vor allem: Bleibt dran! Das ist ein ganz großer Punkt. Immer wieder erstelle ich für Projekte Lastenhefte und merke, dass die Aktivitäten peu à peu weniger werden oder gar im Sande verlaufen.

Hierbei ist der Projektleiter ganz entscheidend, denn ich kann die Motivation des Teams nicht steuern, das kann nur er: Wenn der Projektleiter sich dahinterklemmt, dranbleibt und das Ganze wirklich planmäßig abschließen WILL, dann schaffen wir es auch.

Tipp 2: Weniger ist mehr!

Ich bekomme bei den Vorbereitungen immer wieder zu hören, dass man am liebsten alles und jeden noch in das Lastenheft hineinschreiben möchte. Meine Antwort: „Nein.“

Der große Trick, die große Kunst ist, zu streichen. So lange zu kürzen, bis wir merken: Wenn wir diesen Teil jetzt löschen – diesen Satz, dieses Kapitel, dieses Unterkapitel –, verändern wir den Inhalt entscheidend. Für uns Ingenieure ist es ganz normal, zu viel zu dokumentieren, zu viel hineinzuschreiben – allerdings führt das nicht zu einem Mehrwert im Verständnis, ganz im Gegenteil: Meist führt es nur zu Unklarheiten.

Hier helfen mir die Inhalte der Phasen 1.5 bis 1.8, also die Peer-Reviews, die ich parallel mache und in denen ich ebenso die Frage stelle: „Muss das da rein? Kann man das nicht komprimieren, fokussieren, rausschmeißen?“.

Dieses „weniger ist mehr“ ist ganz wichtig, wenn schließlich Punkt 1.0 in der Welt ist und darauf basierend vielleicht andere, neue Kollegen mit der Umsetzung konfrontiert werden.

Tipp 3: Kein Pseudo-Code!

Pseudo-Code kommt primär im Embedded-Software-Umfeld vor – und gehört dort auch hin. Ich hingegen schreibe keinen Pseudo-Code, denn dies ist eine Lösungsbeschreibung, auf der basierend vor allem Softwareentwickler Quellcodes umsetzen sollen.

Ich mache aber in einem Lastenheft für ein komplexes technisches System auf der obersten Ebene keine Lösungsbeschreibung, die irgendwo ganz unten und viel später eine Embedded-Software im Design umzusetzen hat.

Wenn ich ein Verhalten beschreiben muss, kann ich das wunderbar mit anderen Mitteln machen, aber eben nicht mit Pseudo-Code. Das Gleiche gilt als Bild übrigens auch für die Elektronik und für die Konstruktion.

 

Hier geht es zu den nächsten vier der sieben Tipps