Muster

While the Scrum Guide provides the basic rules of Scrum, the patterns amplify the guide by showing teams how to solve problems in a specific context. – Jeff Sutherland

Wir stehen 2016 in der agilen Community an dem Punkt, an dem sich die objektorientierte Software-Entwicklung 1994 befand, als sie darüber nachdachte, wie man mit all den neuen Vorgehensweisen sinnvoll umgehen soll, wenn einem die Erfahrung fehlt. Daraus entstand die Idee der Entwurfsmuster. Nur wenig später wurde Scrum quasi als Mustersprache in genau jener Software-Entwicklungs-Community vorgestellt.

Mittlerweile sind wir 20 Jahre weiter. Aber immer noch kein Buch, das den aktuellen Stand der Musterdiskussion widerspiegelt. Die Veröffentlichung zu organisatorischen Mustern (Buch, Online) von Cope vor über 10 Jahren ist zumindest als Basis mit in die Diskussion eingeflossen.

Als alter Muster-Fan der Software-Entwicklung bin ich unerklärlicherweise sehr spät auf das Thema im agilen Kontext gestoßen. Andreas Heilwagen, leider 2013 verstorben, hatte die Idee 2012 auf openPM platziert, aber mit der damaligen Darstellung wurde ich nicht wirklich warm. Erst als ich Cope’s Video 2015 zu Scrum Mustern gesehen habe, habe ich verstanden, auf welchem Weg Andreas bereits war:


Folien

Blue Scrum Musterkatalog

22. März 2016

Einleitung

Der Einsatz von Mustern ist in der Software-Entwicklung ein alter Hut. Mindestens mal die Ausarbeitung der Gang of Four zieht bis heute ihre Kreise.

Was lag also näher, als das Konzept auch bei der Organisation der Produktentwicklung einzusetzen. So haben z.B. die Scrum Erfinder und einige aktive Muster Experten aus der Software Entwicklung schon vor der Definition des Agilen Manifests Erfahrungswissen in Musterbeschreibungen festgehalten.

Agilität wird vielerorts bereits ausprobiert. Die Organisation von Umsetzungsteams ist aber leider nicht trivial. Expertenwissen steht selten ausreichend zur Verfügung. Hier können Muster eine Anleitung geben, in welche Richtung experimentiert werden könnte.

Da wir uns in komplexen Umgebungen bewegen, kann es keine Best Practices geben, die immer die gewünschte Wirkung entfalten. Muster helfen uns die Räume für Experimente so zu verkleinern, dass wir einer für unsere Situation passende Lösung sehr nahe kommen können. Die Kunst besteht darin, einen passenden Anfang zu finden.

Im Sinne der kontinuierlichen Verbesserung wird sich spätestens in der Retrospektive zeigen, wie sich der eingeschlagene Weg am besten fortsetzt. Wer mutig voran schreitet und das Scheitern eines Experiments als Chance zum Lernen auffaßt, wird schnell eine Lösung finden.

Der Blue Scrum Musterkatalog gibt einen Überblick über Muster bzw. Musterkandidaten der agilen Community. Alle Blue Scrum Muster sind vereinheitlich in deutscher Sprache verfaßt und verwenden deutsche Namen (abweichend zu der Bezeichnung der Originalmuster, auf die z.T. verwiesen wird). Neben den grundlegenden Aspekten der Originalmuster sind auch Erfahrungen aus meiner Praxis als Scrum Master, Agile Coach und Change Leader eingeflossen.

Die Blue Scrum Muster sind „work in progress“. Verbesserungsvorschläge sind willkommen.

Beschreibung von Mustern

Ein Muster beschreibt die Wiederholbarkeit der Lösung eines Problems in einem bestimmten Umfeld. Es ist das Wesen eines Musters, dass es sich hierbei nicht um einen einmaligen Vorgang handelt und das die Lösungen nie gleich ausgeprägt sind.

Man könnte auf den Gedanken kommen, dass Muster so etwas wie „Best Practices“ darstellen. Diese Annahme funktioniert lediglich in linearen, von Kompliziertheit geprägten Umgebungen, die eine Voraussage zulassen. In der software-basierten Produktentwicklung ist dieser Fall praktisch nicht mehr vorhanden.

Muster sind ein Hilfsmittel mit komplexen Fragestellungen umgehen zu können. Wer Muster als Basis für ein experimentelles Vorgehen nutzt, hat die Möglichkeit schneller zu einer Lösung zu kommen. Die Herausforderung besteht darin, die passenden Ausgangsmuster für ein Experiment zu identifizieren. Mustersprachen helfen hier bei der Abschätzung.

!|+Bezeichnung[?]

Die Bezeichnung erlaubt die eindeutige Identifikation im Musterkatalog. Sie kann aus einem Wort bestehen oder sich aus mehreren Worten zu einer Phrase zusammensetzen. Im Sinne der Definition einer Fachsprache (Mustersprache) mit eigenen Fachbegriffen (Mustern) können hieraus satzähnliche Beschreibungen entstehen, die im Sinne einer zeitlichen, räumlichen oder anderer Anordnungen Lösungswelten definieren können.

Bezeichnungen werden um Kontextmarkierungen ergänzt: Muster werden mit einem vorangehenden Plus gekennzeichnet, Mustersprachen wird ein Ausrufezeichen vorangestellt. Musterkandidaten werden mit einem abschliessenden Fragezeichen gekennzeichnet.

Beschreibung

Die Beschreibung ist, abweichend von den GoF-Mustern, descriptiv und orientiert sich eher an der „alexandrischen Form“. Sie entspricht folgender Struktur:

„Das Muster (Bezeichnung)… hilft bei (Zweck)… Im Umfeld der (Kontext)… gibt es folgende (Problem)… hierbei stehen sich gegenüber (Kräfte:Ziel vs. dunkle Seite:Einschränkungen)… deshalb bietet sich an (Lösung)… Weiter helfen könnte auch (Muster\[sprache] Bezeichnung)… bzw. (Querverweis)…“

Zweck – Kurzer Hinweis, wann das Muster Wirkung entfalten kann

Kontext – Problem und Lösung stehen immer in einem kontextuellen Zusammenhang, der veranschaulicht, wie diese einzuordnen sind

Problem – Abweichungen vom Angestrebten, die man überwinden möchte

Kräfte – Die Lösungen basieren stets auf Abwägungen der im Kontext wirkenden Kräfte. Quasi jenen Dingen, die an Lösungen zerren. Meist existieren auch Beschränkungen, die die Lösung beeinflussen. Je nach Bewertung all dieser Kontextparameter können zu unterschiedlichen Zeitpunkten die Gewichtungen anders ausfallen, ohne dass sich der Kontext verändert hat.

Lösung – Die Lösungsbeschreibung ist generisch bzw. abstrakt gehalten, damit diese für die jeweilige Situation spezialisiert werden kann.

Arbeitsablauf

Dieser Bereich gibt Hilfestellung beim Einstieg in den Musterkatalog, indem ausgehend von einem Kontext auf Mustersprachen und Muster geschaut wird.

!Hochleistungsteam

Wer sich mit der hohen Kunst der Teambildung beschäftigt, kommt irgendwann auf die Frage, ist es möglich Hochleistung zu erreichen. Auch wenn diese schwer zu fassen ist, da wir uns in komplexen Umgebungen bewegen, die nur sehr begrenzt erlauben, Voraussagen über etwas treffen zu können, läßt sich festhalten, dass es Muster gibt, die ein optimales Teamgefüge und -umfeld unterstützen, so dass man diesem Ideal näher kommen kann.

Voraussetzung ist die vollständige Abbildung des Scrum Guides. Folgende Muster werden !Hochleistungsteam zugerechnet:

Umgesetzt wird dies im Sinne von !Prozessverbesserung.+Eins nach dem Anderen

Siehe auch A Project Language of Hyperproductivity, High Performing Scrum Team

!Produktorganisation

+Sofortmaßnahme

Das Muster +Sofortmaßnahme hilft bei (Zweck)… Im Umfeld der (Kontext)… gibt es folgende (Problem)… hierbei stehen sich gegenüber (Kräfte:Ziel vs. dunkle Seite:Einschränkungen)… deshalb bietet sich an (Lösung)… Weiter helfen könnte auch (Muster[sprache] Bezeichnung)… bzw. (Querverweis)…Emergency Procedure

!Umsetzungsteam

+Gleichbleibende Teams

Das Muster +Gleichbleibende Teams hilft bei (Zweck)… Im Umfeld der (Kontext)… gibt es folgende (Problem)… hierbei stehen sich gegenüber (Kräfte:Ziel vs. dunkle Seite:Einschränkungen)… deshalb bietet sich an (Lösung)… Weiter helfen könnte auch (Muster[sprache] Bezeichnung)… bzw. (Querverweis)…Stable Teams

+Im Schwarm arbeiten

Das Muster +Im Schwarm arbeiten hilft bei (Zweck)… Im Umfeld der (Kontext)… gibt es folgende (Problem)… hierbei stehen sich gegenüber (Kräfte:Ziel vs. dunkle Seite:Einschränkungen)… deshalb bietet sich an (Lösung)… Weiter helfen könnte auch (Muster[sprache] Bezeichnung)… bzw. (Querverweis)…Swarming: One Piece Continuous Flow

+Zeit für Unterbrechungen

Das Muster +Zeit für Unterbrechungen hilft bei (Zweck)… Im Umfeld der (Kontext)… gibt es folgende (Problem)… hierbei stehen sich gegenüber (Kräfte:Ziel vs. dunkle Seite:Einschränkungen)… deshalb bietet sich an (Lösung)… Weiter helfen könnte auch (Muster[sprache] Bezeichnung)… bzw. (Querverweis)…Illegitimus Non Interruptus

!Prozessverbesserung

+Eins nach dem Anderen

Das Muster +Eins nach dem Anderen hilft bei (Zweck)… Im Umfeld der (Kontext)… gibt es folgende (Problem)… hierbei stehen sich gegenüber (Kräfte:Ziel vs. dunkle Seite:Einschränkungen)… deshalb bietet sich an (Lösung)… Weiter helfen könnte auch (Muster[sprache] Bezeichnung)… bzw. (Querverweis)…one Step at a Time

+Fröhlichkeitsmessung

Das Muster +Fröhlichkeitsmessung hilft bei (Zweck)… Im Umfeld der (Kontext)… gibt es folgende (Problem)… hierbei stehen sich gegenüber (Kräfte:Ziel vs. dunkle Seite:Einschränkungen)… deshalb bietet sich an (Lösung)… Weiter helfen könnte auch (Muster[sprache] Bezeichnung)… bzw. (Querverweis)…Happyness Metric

+Hindernisbeseitigung

Das Muster +Hindernisbeseitigung hilft bei (Zweck)… Im Umfeld der (Kontext)… gibt es folgende (Problem)… hierbei stehen sich gegenüber (Kräfte:Ziel vs. dunkle Seite:Einschränkungen)… deshalb bietet sich an (Lösung)… Weiter helfen könnte auch (Muster[sprache] Bezeichnung)… bzw. (Querverweis)…Scrumming the Scrum

+Weniger macht schneller

Das Muster +Weniger macht schneller hilft bei (Zweck)… Im Umfeld der (Kontext)… gibt es folgende (Problem)… hierbei stehen sich gegenüber (Kräfte:Ziel vs. dunkle Seite:Einschränkungen)… deshalb bietet sich an (Lösung)… Weiter helfen könnte auch (Muster[sprache] Bezeichnung)… bzw. (Querverweis)…Teams that Finish Early Accelerate Faster

!Wertstrom

Relatives Schätzen

+Heute wie gestern

Das Muster +Heute wie gestern hilft bei (Zweck)… Im Umfeld der (Kontext)… gibt es folgende (Problem)… hierbei stehen sich gegenüber (Kräfte:Ziel vs. dunkle Seite:Einschränkungen)… deshalb bietet sich an (Lösung)… Weiter helfen könnte auch (Muster[sprache] Bezeichnung)… bzw. (Querverweis)…Stable Teams

+Sauberer Code am Tagesende

Das Muster +Sauberer Code am Tagesende hilft bei (Zweck)… Im Umfeld der (Kontext)… gibt es folgende (Problem)… hierbei stehen sich gegenüber (Kräfte:Ziel vs. dunkle Seite:Einschränkungen)… deshalb bietet sich an (Lösung)… Weiter helfen könnte auch (Muster[sprache] Bezeichnung)… bzw. (Querverweis)…Daily Clean Code

(Wird fortgesetzt)