Crystal ist eine Familie von Software-Entwicklungsmethoden mit einem gemeinsamen genetischen Code, der häufige Lieferung, persönliche Kommunikation und Verbesserung durch Reflexion umfasst. Jede Art von Projekt hat ihre eigene Crystal-Methodologie. Dieser Artikel wird Crystal Clear als Konzept für kleine Teams (bis zu 8 Personen) erkunden. Es ist eine gute Alternative zum Extreme Programming, mit einigen gemeinsamen Aspekten.
Geschichte der Crystal-Familie
Im Jahr 1991 zielte Alistair Cockburn, einer der Mitautoren des Agilen Manifests, darauf ab, eine effektive Software-Entwicklungsmethodik zu schaffen. Er befragte zahlreiche Projektteams und studierte deren Entwicklungsfälle.
Die Forschung legte das Fundament für die grundlegenden Prinzipien von Crystal Clear als einem effektiven Konzept zur Softwareentwicklung:
- Menschenorientierte Methoden sind vorteilhafter als prozessorientierte.
- Die Methodologie sollte auf das individuelle Projekt und Team zugeschnitten werden – es gibt keine universelle Anwendungsentwicklungs-Methodologie.
Im Jahr 1994 setzte er diese Ideen um, als er Hauptberater eines Festpreprojekts im Wert von 15 Millionen Dollar mit einem Personal von 45 Personen namens „Orange“ wurde. Die von Alistair entwickelten Prinzipien wurden zur Grundlage für den Erfolg des Projekts. Er dokumentierte diese Erfahrung in seinem Buch „Surviving Object-Oriented Projects“ (1997) und entwickelte ein Jahr später die Crystal-Familie von Methoden.

Glücklicher Autor der Crystal-Methodenfamilie, Mitautor des Agilen Manifests Alistair Cockburn
Im Jahr 2004 identifizierte Cockburn drei Hauptmethoden des Konzepts:
- Schnelle Lieferung nützlichen Codes: Übergang von großen, seltenen Code-Bereitstellungen zu kleineren, häufigeren Releases.
- Verbesserung durch Reflexion: Sammlung von Erkenntnissen darüber, was in der vorherigen Version der Software gut und schlecht funktioniert hat, um die nächste Version zu verbessern.
- Osmotische Kommunikation: Cockburn beschrieb die Wahrnehmung und den Austausch von Informationen unter Entwicklern, die im selben Raum arbeiten, als Hintergrundgeräusch, ähnlich wie Osmose.
Im selben Jahr veröffentlichte Cockburn „Crystal Clear: Eine menschenorientierte Methodologie für kleine Teams“. Weitere Beiträge zur Entwicklung von CC leistete der Systemadministrator Marcel Wagemann, der einen Aufsatz über die Anwendung der Prinzipien von Crystal Clear, Agile und Scrum in der Softwareentwicklung schrieb.
Was ist die Crystal-Methodologie?
Crystal ist eine Familie von Methodologien, die auf diesen drei Methoden basieren.
Es gibt keine einzige „beste“ Crystal Clear-Methodologie; jede Modifikation passt zu unterschiedlichen Arten von Projekten. Die Organisation oder das Projekt erstellt diese Modifikation basierend auf Crystals „genetischem Code“ (grundlegende Nutzungsregeln).
Die einfachste mögliche Klassifizierung von Crystal basiert auf der Anzahl der Personen im Projekt:
- Clear: 2 bis 8 Personen, die in einem oder benachbarten Büros zusammenarbeiten
- Yellow: 10 bis 20 Personen
- Orange: 20 bis 50 Personen
- Red: 50 bis 100 Personen
Der genetische Code von Crystal Clear besteht aus:
- Ökonomisch kooperatives Spielmodell:Cockburn sieht die Softwareentwicklung als eine Reihe von „Spielen“, die aus Erfindung und Kommunikation bestehen und durch Ressourcen eingeschränkt sind. Jedes Spiel hat zwei Ziele: Software in diesem Spiel zu liefern und sich auf das nächste Spiel in der Reihe vorzubereiten. Jedes neue Projekt erfordert neue Strategien.
- Gewählte Prioritäten: Allen Crystal-Methoden gemeinsam sind zwei Prioritäten: Sicherheit und Entwicklungseffizienz.
- Gewählte Merkmale: Diese unterstreichen die Priorität der Sicherheit. Drei sind grundlegend (schnelle und häufige Lieferung von Code, persönliche Kommunikation, Verbesserung durch Reflexion), während die verbleibenden vier zusätzliche sind: persönliche Sicherheit, Fokus, einfacher Zugang zu Experten und eine qualitativ hochwertige technische Umgebung mit automatisierten Tests.
- Gewählte Prinzipien: Eines verfolgt die Schlüsselrichtung der Individualisierung der Methodologie:
Das Detaillierungsniveau der Softwareanforderungen, Entwurfsdokumente und Planungen hängt von den spezifischen Merkmalen des Projekts ab, einschließlich des Grades der persönlichen Teaminteraktion und dem Schaden, der durch unentdeckte Fehler verursacht werden kann.
Zyklischer Prozess von Crystal Clear
Die meisten Projekte mit Crystal Clear bestehen aus sechs Zyklen, die die Verantwortlichkeiten und Aufgaben des Projektteams definieren:
- Projektzyklus: Obgleich das Projekt selbst eine Produkteinheit ist, folgt normalerweise ein weiteres Projekt, das den Zyklus wiederholt. Der Projektzyklus besteht aus drei Teilen: Vorbereitung (Teambildung, 360°-Forschung, Methodenauswahl), einer Serie von zwei oder mehr Lieferzyklen und einem „Vervollständigungsritual“. Dauer: von ein paar Tagen bis Wochen.
- Lieferzyklus: Umfasst das Neukalibrieren des Softwareveröffentlichungsplans, eine Serie von einer oder mehreren Iterationen, die zu einem getesteten integrierten Code, der Lieferung an echte Benutzer und einem „Vervollständigungsritual“ führen. Dauer: 1 Woche bis 3 Monate.
- Iteration: Besteht aus drei Hauptteilen: Iterationsplanung, täglichen und Integrationszyklusaktivitäten sowie dem „Vervollständigungsritual“.
- Arbeitswoche/Tag: Die Wahl von Tag oder Woche als Zeiteinheit des Zyklus hängt vom Format des Projekts und des Teams ab. Beispiele umfassen wöchentliche Abteilungsbesprechungen, Berichte der Teamleiter und „Brown-Bag“-Seminare (Mittagsdiskussionen über Projektfragen).
- Integrationszeitraum: Entwicklung, Integration und Systemtests. Einige Teams führen kontinuierliches Build-Testing mit einer dedizierten Maschine durch, während andere täglich oder dreimal pro Woche integrieren. Je kürzer der Integrationszyklus, desto besser. Dauer: 30 Minuten bis 3 Tage (abhängig von der Teamerfahrung).
- Entwicklung: Schreiben und Überprüfen eines Teils des Codes. Dies ist die Kernarbeit eines Programmierers in der agilen Entwicklung. Ein Teammitglied nimmt sich eine kleine Aufgabe, programmiert eine Lösung (idealerweise mit Tests) und prüft sie in der Konfiguration mit dem gesamten System. Dauer: 15 Minuten bis mehrere Tage.
Strategien und Techniken von Crystal Clear
„Reines“ Crystal Clear erfordert keine spezifischen Strategien und Techniken. Wir haben jedoch ein Starterset von Methoden vorbereitet, um dem Team zu helfen, effektiv in jedem CC-Zyklus zu arbeiten.Wichtige Strategien umfassen:
- 360°-Forschung: Zu Beginn des Projekts muss das Team verstehen, wie nützlich und bedeutungsvoll das Produkt ist und ob es mit den verfügbaren Ressourcen und Technologien erstellt werden kann. Das Projekt wird in Bereichen wie Geschäftswert, Anforderungen, notwendige Technologien, Projektplan, Teamzusammensetzung und gewählte Methodologien untersucht. Die Umsetzung dauert ein paar Tage bis 1-2 Wochen.
- Früher Erfolg: Ein Erfolg vereint das Team und stärkt das Vertrauen jedes Mitglieds. In der Anwendungsentwicklung umfasst die Strategie des frühen Erfolgs etwa das Finden des ersten funktionierenden Codes, oft ein kleines Element einer nützlichen Systemfunktionalität. Dieser kleine Erfolg hilft den Teammitgliedern, die Arbeitsstile des anderen kennenzulernen, Benutzer bekommen frühzeitig einen Eindruck vom System, und Sponsoren sehen das Potenzial des Teams.
- Inkrementelle Architekturveränderung: Die Systemarchitektur sollte sich entwickeln, da technologische und geschäftliche Anforderungen sich im Laufe der Zeit ändern. Die Strategie adressiert dies, indem sie dem Team erlaubt, die Architektur inkrementell zu ändern, ohne die Gesamtfunktionalität des Systems zu stören. Dieselbe Strategie kann für funktionale Änderungen im endgültigen System angewendet werden.
- Informationsradiatoren: Displays, die dort platziert sind, wo Menschen sie beim Arbeiten oder Ausruhen sehen können. Sie zeigen notwendige Informationen, ohne dass zusätzliche Fragen gestellt werden müssen, und verkörpern die Crystal Clear-Regel „mehr Kommunikation, weniger Unterbrechungen“.
Der Informationsstrahler sollte groß, leicht zugänglich, einfach zu benutzen und zu lesen sein sowie aktuelle Informationen enthalten. Beispiele sind Scrum- und Kanban-Boards und ein funktionierendes Glossar, das die Projektterminologie interpretiert.

Beliebte Techniken umfassen:
- Methodologie bilden: Die Anpassung von Crystal Clear erfolgt in zwei Stufen: Projektinterviews (Schaffung einer Mini-Bibliothek von organisatorischen Erfahrungen, die die Stärken und Schwächen des Projekts hervorhebt) und einem Workshop zur Methodologiebildung (Analyzing von Erfahrungen zur Stärkung von Stärken und Kompensation von Schwächen). Die Informationen aus dem ersten Schritt werden im zweiten verwendet.
- Reflexionsworkshop: Periodisch sollte das Team eine einstündige Pause einlegen, um einen „Reflexionsworkshop“ durchzuführen, in dem dazu diskutiert wird, was gut oder schlecht funktioniert, was verbessert werden muss und was anders gemacht werden könnte in den nächsten Projektphasen.
- Blitzplanung: Ermöglicht Sponsoren, Benutzern und Entwicklern, gemeinsam einen Projektzeitplan mit Zeitvorgaben zu erstellen.
- Tägliche Stand-up-Meetings: Kurze Treffen zur Feststellung des Projektstatus, Fortschritts und der Probleme. Diese Treffen sind nicht zur Diskussion gedacht, sondern nur zur Problemerkennung. Ergebnisse werden in einem Online-Aufgabenmanager oder auf einem physischen Kanban-Board festgehalten.
- Pair Programming: In diesem Prozess arbeiten zwei Personen an einer Programmieraufgabe auf einem einzelnen Gerät. Pair Programming wird oft dafür kritisiert, individuelle Ansätze für Aufgaben zu eliminieren und qualitativ hochwertige zwischenmenschliche Beziehungen innerhalb des Projektteams zu erfordern. Eine alternative Technik, „Slide-by-Slide“, umfasst zwei Personen, die nah genug sitzen, um die Bildschirme des anderen zu sehen, aber an unterschiedlichen Aufgaben an getrennten Arbeitsplätzen arbeiten. Dies entspricht dem Konzept der „osmotischen Interaktion“.
Empfohlene Lektüre zu Crystal Clear
Leider gibt es sehr wenig Literatur zu Crystal Clear, und keine spezialisierte Werke in Ukrainisch bis 2017.Schlüsselressourcen zur Erforschung von Crystal Clear umfassen:
- „Crystal Clear: Eine menschenorientierte Methodologie für kleine Teams“ von Alistair Cockburn: Das wesentliche Buch, um die Methodologie von ihrem Schöpfer zu verstehen. Es enthält viele Fallstudien, Beispiele und Mini-Leitfäden zur Implementierung einzelner Elemente von Clear in einer Organisation.
- „Pair Programming Illuminated“ von Laurie Williams: Eine detaillierte Analyse einer der Techniken von Crystal Clear, Pair Programming. Das Buch bietet praktische Ratschläge zur Anwendung von PP in der Softwareentwicklung.
- „Agile Software Development: The Cooperative Game“ von Alistair Cockburn: Erklärt das Konzept der Softwareentwicklung als ein „kooperatives Spiel von Erfindung und Kommunikation“. Cockburn erweitert Ideen von Crystal Clear in diesem Buch und formalisiert sie später in „Crystal Clear: Eine menschenorientierte Methodologie für kleine Teams“.
- Die offizielle Website des Schöpfers von Crystal Clear: Obwohl kein Buch, bietet sie eine Fülle von Informationen, einschließlich Interviews, Diagrammen, Blogbeiträgen und Diskussionen über die Methodologie. Der einzige Nachteil ist das unfreundliche Design der Seite.
Urteil
Viele sogenannte „beste“ Methoden werden von Projektteams abgelehnt, weil sie zu komplex, aufdringlich und unhandlich sind.