Handlungen und Vorgehensweisen

Spezifikationen: Problembewusstsein schaffen – und Lösungen finden

In diesem Beitrag möchte ich auf die Frage eingehen, wie Projekte mit dem Problem der vielen, aber kaum gelesenen Spezifikationen umgehen – und wie sie damit umgehen sollten.

Welche Spezifikationen? Oder: Duck an cover

Den ersten und häufigsten Weg nenne ich gerne „duck and cover“ nach dem amerikanischen Spruch aus dem kalten Krieg. Diese Variante liegt in zwei Ausprägungen vor.

Aus Last mach Pflicht – Variante I

Die eine Ausprägung: Man nehme sich das Lastenheft, kopiere stumpf einfach alles – und schreibe darüber „Pflichtenheft“. Das habe ich als Troubleshooter in einem Projekt gehabt und schließlich gefragt: „Wie ist eigentlich diese Systems-Requirements-Specification entstanden?“ „Die ist aus dem Lastenheft kopiert. Wir haben keine Zeit und es sind viel zu viele Anforderungen.“

Das waren in der Tat 40.000 Anforderungen. Ich bin das durchgegangen, habe das analysiert und schnell zeigte sich, dass sie damit auch alle nicht-technischen Projektanforderungen kopiert haben – inklusive einiger unsinniger Anforderungen … Damit haben sie gleichzeitig akzeptiert, was dort drinsteht – und einfach weggeschaut.

In einem anderen Fall hatte ein klassisches, mittelständisches Maschinenbau-Unternehmen ihr System entwickelt, nämlich das, was auf der technischen Zeichnung stand, das waren ja die Anforderungen.

Die Probleme mit einem Teilsystem, das im Feld Schwierigkeiten machte, waren dann groß, denn Elektronik und Software, die mit verbaut waren, hat keiner richtig betrachtet. Und es gab auch kein Lastenheft, denn niemanden interessierte das – bis ich hinzukam. Für sie war es eher überflüssiger Ballast. Sie haben sich geduckt und gehofft, dass der Sturm an ihnen vorbeizieht.

Das große Nichtstun – Variante II

Die zweite Variante sehe ich häufiger bei kleinen und mittelständischen Unternehmen: Einfach gar nichts machen.

Diesen Fall habe ich mit absolut extensiven Spezifikationen bei einem Elektromobilitäts-Projekt erlebt. In der Vorprojektphase brachte der Hersteller ein 600-Seiten starkes Dokument und sagte, dies seien die Spezifikationen.

Parallel waren damit auch viele Widersprüchlichkeit verbunden, denn in der Automobilindustrie wird heutzutage regelrecht in einem Lego-Schema gearbeitet, vieles ist also „reused“. Das ist generell ein großes Thema, weil oft einfach mehrere Bauteile zusammengesteckt werden und ein Lastenheft ergeben sollen und zwar ein extrem ausführliches – das niemand lesen will.

Da wir zudem in einem Innovations-Projekt saßen, hatte gerade mal ein gefühltes Drittel überhaupt Relevanz für uns. Die anderen zwei Drittel dieses Lastenheftes waren zwar da und wir mussten die durchgehen, aber im Grunde konnten wir das hinterher alles komplett wegkehren.

Wirklich hinschauen – die Visualisierung der Spezifikationen

Der dritte Weg, der sich nun mehr und mehr durchsetzt, ist, die Anforderungen erstmal zu visualisieren und sich ein Gesamtbild zu machen.

Ich habe als Mentor in vielen Projekten genau das gemacht: Wir haben den System Footprint aufgehängt, die unterschiedlichsten Spezialisten und auch Bereiche wie Marketing, Vertrieb, Produktmanagement etc. eingeladen und sind gemeinsam durch diesen Footprint gegangen.

Durch diese Visualisierung wird allen erstmal bewusst, was die Anforderungen an dieses gesamte System sind. Wenn ich dann eine Spezifikation lese, habe ich dieses Bild auch im Kopf. Das ist einer der großen Gewinne daran – und dass es für alle funktioniert.

In einem Projekt beispielsweise was es für das Marketing sehr wichtig. Diese Abteilung gab sehr viele Anforderungen mit hinein, doch mit dem Footprint hat das alles wunderbar funktioniert. Er wird dort mittlerweile in den ganzen Business Units eingesetzt und die Unternehmensführung weiß, dass es für sie ein extrem wertvolles Mittel ist.

Es ersetzt keine Spezifikationen, das ist ganz wichtig, es visualisiert diese nur. Aber dann lässt sich mit ihnen auch arbeiten.

Die erste deutsche Online-Bibliothek zum Thema Lastenhefte

Der Blog „Agile Lastenhefte“ eröffnet seine Online-Bibliothek mit Templates, Lernvideos, Tutorials und vielem mehr Templates und Checklisten sind und bleiben heißbegehrte Werkzeuge. Ob für einen Startpunkt, für den Abschluss – oder für Probleme mittendrin: Sie schaffen den nötigen Überblick, bilden Strukturen ab und ermöglichen sinnvolle Deadlines für Lastenhefte.

Requirement Engineering für komplexe Systeme – Teil II

Im letzten Beitrag habe ich bereits zwei Probleme des Requirement Engineering in komplexen Systemen angesprochen: Fehlende Lastenhefte und die fehlende Trennung zwischen System- und Projekt-Anforderungen. Hier möchte ich zwei weitere, nicht weniger relevante Probleme diskutieren. Weiterlesen

Requirement Engineering für komplexe Systeme – Teil I

In diesem Beitrag möchte ich auf die Frage eingehen, warum Requirement Engineering für komplexe Systeme so wichtig ist. Hierfür erläutere ich zunächst die ersten großen Schwierigkeiten in solchen Situationen: Das fehlende Lastenheft und die fehlende Trennung zwischen System- und Projekt-Anforderungen. Weiterlesen

Tolle Kombination: Lastenhefte und agile Methoden

Viele Projektleiter sind verunsichert, wenn sie ein Lastenheft mit ihren agilen Methoden bzw. Scrum vereinen sollen. Ist ein Lastenheft wirklich noch sinnvoll, wenn sich unsere Anforderungen ständig verändern? Wenn wir als Systemingenieure für das Erstellen eines Lastenheftes für ein komplexes System zwei bis sechs Monate brauchen, gibt es dann eine Möglichkeit, dabei agil vorzugehen? Und passt ein Lastenheft eigentlich mit Scrum zusammen? Weiterlesen

Agiles Vorgehen bei der Erstellung eines Lastenheftes – Teil IV

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

Phase V: Die Weiterentwicklung

Für die Erstellung eines Lastenheftes und für das Lastenheft selbst ist diese fünfte Phase – die Weiterentwicklung – eine besondere. Denn der Release von 1.0 bedeutet, dass wir das Lastenheft mit bestem Wissen und Gewissen und auf dem aktuellen Stand der Technik und allem, was wir kennen, erstellt haben.

Release 2.0 – Neues einplanen

Gleichzeitig bedeutet es aber auch: Die Welt dreht sich weiter, wir werden neue Erkenntnisse bekommen, wir werden verstehen, dass und warum Dinge nicht funktionieren, wir werden neue Ideen haben. All das wird kommen. Das heißt, 1.0 ist niemals das eine unveränderliche Lastenheft, das beim Abschluss des Projektes zwangsläufig noch immer genauso vorliegen wird.

In der Regel gibt es eine Weiterentwicklung. Und auch diese kann ich über eine Release-Planung durchaus begleiten. Denn immer wieder kann etwas passieren, das nicht eingeplant war:

Ein Fertigungsstandort wurde plötzlich gewechselt, es ist eine neue Technologie hinzugekommen, die bislang überhaupt nicht geplant war, irgendetwas funktioniert auf einmal doch nicht und muss herausgenommen werden und so weiter.

Das heißt, ich kann in dieser fünften Phase tatsächlich hingehen und sagen: „Wie und auf welchen Wegen wandern wir jetzt zum Release 2.0“?

Mit dem bestehenden Lastenheft und der gesamten Dokumentation kann man sich also weiter zum Release 2.0 iterieren. Das ist eigentlich die Idee dahinter: In vielen kleinen Schritten, in vielen kleinen Schleifen weiterkommen – gegebenenfalls auch noch zu einem 3.0.

Selbst das ist nicht ganz unüblich, allerdings handelt es sich hierbei meist nur noch um Änderungswünsche: 2.0 ist inhaltlich meistens schon relativ stabil, während bei 3.0 eher Änderungen über das Änderungsmanagement abgewickelt werden.

Das agile Vorgehen bei der Erstellung eines Lastenheftes im Überblick

Das waren also die fünf Phasen der Erstellung eines Lastenheftes. Da wir hier relativ stark ins Detail gegangen sind und die Veröffentlichung des ersten Teils schon ein wenig zurückliegt, möchte ich hier kurz alle Phasen zusammenfassen:

1. Phase: Die Nutzen-Klärung

Beim System-Footprint-Workshop werden das System und die Anforderungen definiert und visualisiert. Die Release-Strategien helfen, alle Zusammenhänge zu begreifen, ein gemeinsames Verständnis für das Vorgehen zu entwickeln und eine Roadmap zu erstellen.

2. Phase: Datensammlung

Alle Informationen werden im System-Footprint-Template gesammelt, zusammengestellt und geprüft. So entdecken wir noch bestehende Lücken und füllen sie auf.

3. Phase: Erstellung des Lastenheftes

Hier geht es um die kontinuierliche Erstellung eines Lastenheftes mit einem Requirements-Management-Werkzeug. Release-Stände, zusätzliche Inhalte und Pflege der diversen Attribute fallen in diese Phase.

4. Phase: Reviews & Freigabe

Alle Teammitglieder erhalten alle Daten, Dokumentationen und Teile des Lastenheftes, um 1.0 fertigstellen zu können. Durch die Reviews sind die meisten Inhalte bereits bekannt, sodass es nicht mehr um wirkliche Fehler geht, sondern um zu behebende Auffälligkeiten.

5. Phase: Die Weiterentwicklung

Das Lastenheft kann und wird ständig an die aktuellen Entwicklungen angepasst, 2.0- oder gar 3.0-Releases können die Folge sein.

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.