Crystal
Inhaltsverzeichnis
Was ist Crystal?
Crystal ist eigentlich keine agile Methode, sondern eine Familie von agilen Methoden, die je nach Größe und Komplexität des Projekts variieren. Die Crystal Familie wurde Mitte der 1990er-Jahre von amerikanischen Informatiker Alistair Cockburn entwickelt. Cockburn gehört zu den Pionieren der agilen Softwareentwicklung und zu den Verfassern des agilen Manifestes. Bei Methode wird jede zur Familie gehörende spezifische Methode nach einer Farbe benannt. Dabei repräsentiert jede Farbe die Größe und Kritikalität eines Projekts. Kritikalität wird ein Phänomen genannt, das bei dynamischen Systemen bei einem kritischen Phasenübergang auftreten kann. Die agilen Methoden wurden von Cockburn und seinem Team in jahrelangen Versuchen entwickelt. Die Crystal Familie ist ein Ansatz, um Projekte erfolgreich abzuschließen.
Die agilen Methoden der Crystal Familie
Alle Softwareprojekte unterscheiden sich voneinander. Deshalb wird für jedes Projekt eine andere Methode benötigt, die für die jeweilige Situation am besten geeignet ist. Auch wenn die einzelnen Mitglieder zu einer Familie gehören, ist eine Aufwärts- oder Abwärtskompatibilität nicht immer gegeben. Die Crystal Familie verwendet unterschiedliche Farben, um die verwendende Methode zu kennzeichnen. Zurzeit werden folgende Farben verwendet:Crystal Clear – bis 6 TeammitgliederCrystal Yellow – bis zu 20 Teammitglieder:
- Crystal Orange – bis zu 40 Teammitglieder
- Crystal Orange Web
- Crystal Red – bis zu 100 Teammitglieder
- Crystal Brown (Maroon) – bis zu 200 Teammitglieder
- Crystal Blue – bis zu 500 Teammitglieder
- Crystal Violet – bis zu 1000 Teammitglieder
Die verschiedenen Projekte
Ob die verwendete Methode klein oder groß bzw. leichtgewichtig oder schwer ist, hängt immer vom jeweiligen Projekt ab. Eine Einheitsgröße gibt es nicht. Wenn es sich um ein kleines Projekt handelt, kann eine Methode wie zum Beispiel Crystal Clear, Orange oder Yellow verwendet werden. Handelt es sich um ein unternehmenskritisches Projekt, sollten besser die Methoden Crystal Diamond oder Crystal Sapphire zur Anwendung kommen. Ebenso spielen die folgenden Größen für ein Projekt eine wesentliche Rolle:
Anzahl der Mitarbeiter
Priorität eines Projekts
Kritikalität eines Projekts, also die Folgen im Falle des Scheiterns
Die sieben Merkmale von Crystal Projekten
Zwischen den Methoden der Crystal Familie gibt es sieben gemeinsame und vorherrschende Eigenschaften. Cockburn fand heraus, dass je mehr dieser Eigenschaften in einem Projekt enthalten waren, desto wahrscheinlicher war es, dass es erfolgreich war. Die sieben Eigenschaften sind:
Wichtige Kriterien sind die Projektgröße und -kritikalität. Die Projektgröße ist definiert als die Anzahl der Personen, die an einem Projekt beteiligt sind. Wächst die Teamgröße, ändert sich die Crystal Struktur.
Agile und anpassungsfähige Methoden
Nach Cockburn ist klar, dass ein 30-Personen Team nicht so agil arbeiten kann wie ein 8-Personen Team. Unabhängig von der Größe kann jedoch jedes Team seine Agilität optimieren. Um ein Optimum an Agilität zu erreichen, trifft sich das Team zu regelmäßigen Besprechungen bei denen über die angewandte Methode diskutiert wird. Agil handeln bedeutet, die Methode zu ändern, wenn sich die Umstände geändert haben. Nach Cockburn besteht das Ziel darin, sogenannte Sweet Spots zu erreichen. Das sind Situationen, in denen ein Projekt effektiv entwickelt werden kann. Diese Sweet Spots sind:
Kleines Team
Ein Team aus bis zu acht Mitgliedern ist die beste und effektivste Art ein Projekt voranzubringen. Verwaltungsarbeiten sind bei dieser Teamgröße noch minimal.
Anwendungsexperte gibt Feedback
Ein Anwendungsexperte ist vor Ort und gibt ein sofortiges Feedback. Etwaige Änderungen können sofort umgesetzt werden. Das senkt die Risiken einer falschen Entwicklungsrichtung.
Schrittweise Entwicklung
Eine inkrementelle Entwicklung ist die beste Möglichkeit, ein Feedback zu erhalten. Bei manchen Projekten kann das Feedback bis zu mehreren Monaten dauern, Cockburn empfiehlt jedoch kürzere Entwicklungsschritte. Üblicherweise lässt die Konzentration auf ein Projekt nach einigen Monaten nach.
Automatische Tests
Automatische Funktionstests haben den Vorteil, dass die Entwickler ihr Ergebnis überprüfen und bei Bedarf ändern können.
Erfahrene Entwickler
Im Idealfall besteht ein Team aus erfahrenen Entwicklern. Die Anzahl der Entwickler lässt sich reduzieren, wenn das Team aus erfahrenen Leuten besteht.
Die Mitglieder der Crystal Familie
Die einzelnen Mitglieder der Familie werden durch Farben gekennzeichnet. Welche Farbe gewählt wird, hängt von der Kritikalität und der Anzahl der beteiligten Personen ab. Je höher die Anzahl der Entwickler, desto größer ist der Kommunikationsaufwand. Jedes Mitglied der Crystal Familie hat definierte Rollen für die beteiligten Personen. Crystal Clear, ausgelegt auf 1 bis 6 Entwickler, hat die wenigsten Rollen, bei Brown sind es wesentlich mehr. Nicht alle Familienmitglieder werden in der Praxis gleichermaßen angewandt. Hier ist eine kurze Beschreibung der wichtigsten Familienmitglieder.
Crystal Clear
Clear setzt voraus, dass alle Teammitglieder gemeinsam im selben Raum arbeiten. Eine Unterstützung für komplexere Kommunikation ist deshalb nicht vorhanden. Die wichtigste Rolle hat der Senior Designer, von dem erwartet wird, dass er alle technischen Entscheidungen treffen kann, die getroffen werden müssen. Andere Rollen wie Projektmanager, Business Analyst, Tester usw. werden von allen Teammitgliedern geteilt. Clear ist auf kleine Teams beschränkt, die Anzahl der beteiligten Personen ist nicht beliebig erweiterbar.
Crystal Orange
Der Anwendungsbereich von Orange liegt bei einer deutlich höheren Projektgröße. Üblicherweise sind hier bis zu 40 Personen an einem Projekt beschäftigt. Um die Kommunikationswege kurz zu halten, sollten alle beteiligten Entwickler im gleichen Gebäude untergebracht sein. Der größere Projektumfang erfordert bessere Kontroll- und Koordinationsmechanismen. Die Projektdauer beträgt etwa ein bis zwei Jahre.
Crystal Orange Web
Die Methode Orange Web wurde für Unternehmen entwickelt, die für ihre Webpräsenz kontinuierlich Code ändern müssen. In den meisten Fällen sind hier bis zu 50 Entwickler beteiligt. Führungskräfte, Analysten, Programmierer und Tester müssen in die Kommunikation mit einbezogen werden. Eine Definition des Prozesses sollte deutlich machen, welche Aufgaben gelöst werden müssen, wer welche Entscheidungen trifft und welche Informationen die Entwickler benötigen.
Stärken und Schwächen
Im Vergleich zu anderen agilen Methoden hat Crystal seine Stärken in den Bereichen Test, Qualitätsmanagement und Implementierung. Etwas schwächer ausgeprägt sind Bereiche Projektmanagement, Personal-Management und Wartung. Insgesamt sind der Bekanntheitsgrad und die Verbreitung hoch. Außerdem existieren zur Unterstützung spezielle Tools. Eine Lizenzierung ist nicht erforderlich.
Weitere informative Artikel finden Sie in unserem Glossar.
Sie haben noch Fragen?