Agile / Knowledge Management / Projektmanagement / Software-Entwicklung

Agile Patterns – Teil 2/4: Prinzipien Crystal Family

Im ersten Teil der Blogserie Agile Patterns haben wir damit begonnen, leichtgewichtige Methoden der agilen Softwareentwicklung zu betrachten und haben den Ansatz der Crystal Methods im Überblick vorgestellt: Eine Sammlung von Methoden,  basierend auf Alistair Cockburn, einen der Unterzeichner des Agilen Manifests.  Er vertritt den Standpunkt, für jedes Projekt müsse aufgrund dessen Größe (gemessen anhand der Anzahl beteiligter Mitarbeiter) und dessen Kritikalität (von Kundenzufriedenheit bis zur möglichen Gefährdung menschlichen Lebens) ein angepasstes Vorgehen gewählt werden. Heute widmen wir uns den Prinzipien und der Philosophie dieses Vorgehens.

Agile Patterns_Crystal Family_Prinzipien

Cockburn beschreibt in seinem Buch Agile Software Development: Software Through People fünf typische menschliche Verhaltensweisen, die seiner Meinung nach zum Scheitern von Projekten führen.

 

Overcoming Failure Modes

  • Making Mistakes
    that is exactly why iterative and incremental development were invented.
  • Preferring to Fail Conservatively
    rather than to risk succeeding differently
  • Inconsistent Creatures of Habit:
    We resist learning new behaviors, and at the same time we tend toward inconsistency
  • Inventing Rather than Researching
    the Not-Invented-Here (NIH) syndrome
  • Countering with Discipline and Tolerance
    consistency in action is a human weakness, high-discipline methodologies are fragile. Even when they contain good practices, people are unlikely to keep performing those practices over time

Dem stellt er Erfolgsmethoden gegenüber.

 

Human Success Modes

  • Being able to learn
    People who are novices on one project become experienced by the end of the same project
  • Being malleable (adaptable)
    People are remarkably able to act differently given new motives and new information
  • Being good at looking around
    Looking around and noticing when something is not right
  • Taking pride in work
    people develop a personal interest in seeing that their work is acceptable
  • Contributing and taking initiative
    strong intrinsic motivators are also core contributors to project success

Die Essenz agilen Arbeitens fomulierte Alistair Cockburn kurz gefasst so:

 

Management Summary

  • Arbeite in kurzen Iterationen
  • Führe regelmäßig Retrospektiven durch
  • Kommuniziere eng

Die Methodenfamilie Crystal baut auf sieben Prinzipien auf, die für alle Variationen gelten.

 

7 Prinzipien

  • Frequent delivery
    Funktionierenden und getesteten Code regelmäßig an Endanwender auszuliefern und Feedback zu erhalten.
  • Reflective improvement
    Mithilfe von Reflection Workshops Möglichkeiten zu finden, das Vorgehen zu verbessern. Am besten in Form einer inkrementellen Produktentwicklung, bei der nach jeder Iteration eine Retrospektive im Team erfolgt.
  • Close or osmotic communication
    Räumliche Nähe führt zu einem natürlichen Informationsfluss. Befindet sich das Team in einem einzigen Raum, verfügt jeder über die benötigten Informationen. Teams sollten daher nicht zu groß sein.
  • Personal safety
    Jeder im Team muss die Sicherheit haben, Anregungen und Kritik äußern zu dürfen, ohne deswegen einen Schaden zu erleiden. Damit wird unterstützt, dass jeder Einzelne zum Projekterfolg beitragen kann, indem er oder sie sich einbringt.
  • Focus
    Jeder Mitarbeiter kennt die Ziele des Projekts und seine Aufgaben.
  • Easy access to expert users
    Erfahrene Anwender sind für das Projektteam erreichbar. Detailfragen können rasch und ohne Fomalitäten geklärt werden.
  • Technical environment with automated tests, configuration management and frequent integration
    Continuous Integration, Durchführung von automatisierten Tests, Vorliegen von Versionierungs- und Konfigurationstools. Sie helfen dabei, Fehler frühzeitig zu erkennen und somit schneller zu lösen.

 

Philosophie

Shu Ha Ri, Quelle: https://commons.wikimedia.org/wiki/File:ShuHaRi.png

 

Cockburn bezieht sich in seinen Überlegungen zur Teambildung und zur Weiterentwicklung des Vorgehens auf das Lernsystem Shu Ha Ri. Dieses stammt aus der japanischen Kampfkunst und umfasst drei Stufen, ringförmig dargestellt.

Shuhari

Lernphasen des Aikido, Quelle: http://winfwiki.wi-fom.de/index.php/Beschreibung_und_Analyse_von_Crystal

 

  • Shu – Follow the rule
  • Ha – Break the rule
  • Ri – Be the rule

Zuerst lernen wir durch Nachahmen. Indem wir Anweisungen befolgen. In dieser Phase geht es darum, Grundwissen vermittelt zu bekommen, Regeln zu verinnerlichen. Auf der zweiten Stufe beginnen wir, sie zu verstehen und zu hinterfragen, sie zu variieren. Um sie zu verbessern und ihrem Sinn noch besser zu entsprechen. Im fortgeschrittensten Stadium gelingt es uns, Ideen frei anzuwenden, Regeln zu überwinden, uns von ihnen zu lösen. Als Meister unsere eigenen Regeln aufzustellen.

Alistair Cockburn definiert daher Crystal als eine Sammlung von Agile Patterns für Fortgeschrittene, die sie situatativ anwenden und anpassen.

Im nächsten Blogartikel dieser Reihe werden wir uns mit einigen Erkenntnissen und Tipps beschäftigen, die Cockburn in der praktischen Anwendung seiner Methoden gesammelt hat. Stay tuned!

 

Quellen / Lesetipps:

Agile Software Development: Software Through People, Alistair Cockburn

Seminarbeit an der Universität Zürich (Hollenstein/Rutz), eine hervorragende Zusammenfassung, kompakt und übersichtlich

Interview mit Alistair Cockburn

 

Blogreihe
Agile Patterns – Teil 1/4: Überblick Crystal Family
Agile Patterns – Teil 2/4: Prinzipien Crystal Family
Agile Patterns – Teil 3/4: Beispiele Crystal Family
Agile Patterns – Teil 4/4: Tipps für den sanften Umstieg zu agiler Softwareentwicklung

Passende Artikel

Kommentare gesperrt.