Crystal

Crystal (oder auch: Crystal Familie, dazu weiter unten mehr) kommt in der agilen Projektentwicklung vor, unter anderem bei Scrum, aber auch bei anderen Methoden. Es handelt sich bei Crystal allerdings nicht um eine einzige Methode, sondern um eine Ansammlung unterschiedlicher Ansätze, die miteinander verbunden werden.

Allgemeine Informationen zum Thema

Die Entwicklung von Crystal nahm bereits Anfang der 1990er Jahre Alistair Cockburn vor. Damals sollte er für IBM Consultings eine Methode entwickeln, die der objektorientierten Entwicklung diente. Cockburns Problem bestand nun aber darin, dass es damals noch keine Möglichkeiten des Vergleichens gab, also analysierte er so viele Projekte wie möglich und führte mit den Beteiligten Interviews.

Cockburn kam zum Schluss, dass jedes Projekt einzigartig und nicht mit anderen Projekten vergleichbar ist. Somit schloss er auch einheitliche Regeln aus, die der Individualität eines jeden Projektes nicht gerecht werden konnten, wie Cockburn annahm. Er setzte stattdessen auf die regelmäßige Kommunikation der Projektteams, die er für maßgeblich hielt. Und er hielt einige Größen und Merkmale fest, die letztlich Crystal ausmachten. Von 1991 bis 1999 blieben Cockburns Ergebnisse auch international Standard.

Merkmale von Crystal

Folgende Größen spielen bei Crystal eine wesentliche Rolle:

  • Die Anzahl der Mitarbeiter
  • Die Kritikalität (also die Auswirkungen im Falle des Scheiterns)
  • Die Prioritäten eines Projektes (dies können spezielle Kundenwünsche sein, Auslieferungstermine oder gesetzliche Vorgaben, die eingehalten werden müssen).

Obwohl Crystal unterschiedliche Verfahren miteinander verbindet, die ihrerseits unterschiedlich zueinander stehen können, gibt es Merkmale, die sie gemeinsam haben. Diese sind:

  • Der Kunde bekommt regelmäßige und lauffähige Zwischenversionen von der verwendeten Software (dies geschieht in der Regel einmal pro Quartal).
  • Meinungsverschiedenheiten im Team oder auftretende Probleme beim Projekt werden offen angesprochen. Das gilt sowohl für die Teams wie auch für die Vorgesetzten.
  • Alle Beteiligten sind ständig auf der Suche nach Verbesserungsvorschlägen, diese werden gesammelt und priorisiert.
  • Die Kommunikation – sowohl im Team als auch mit dem Kunden – ist eng und intensiv.
  • Für den Kunden muss ständig ein erfahrener Mitarbeiter des zukünftigen Projektes erreichbar sein.
  • Alle am Projekt beteiligten Mitarbeiter arbeiten grundsätzlich lösungs- und zielorientiert.
  • Genutzt werden zudem die Versionsverwaltung bzw. das Konfigurations-Management.
  • Regelmäßig werden automatisierte Tests von Programmcodes durchgeführt, darüber hinaus werden regelmäßig lauffähige Testversionen entwickelt[1].


Die Crystal Familie

Die Crystal Familie setzt sich, wie oben angedeutet, aus verschiedenen Entwicklungsmethoden von Software zusammen. Meist werden die „Familienmitglieder“ durch Farben gekennzeichnet, wobei die Variante Crystal Clear (also: glasklar) die einfachste darstellt.

Welche Crystal Variante zum Einsatz kommt, richtet sich nach unterschiedlichen Faktoren. Zwei davon sind die schon angesprochene Anzahl der Beteiligten und die Kritikalität (also die Wahrscheinlichkeit des Scheiterns eines Projektes). Konkret im Zusammenhang mit der Kritikalität stehen Aspekte wie etwa die mögliche Gefährdung der Kundenzufriedenheit, Imageschäden, finanzielle Verluste und als höchste Risikostufe der Verlust von Menschenleben.

Die einfachste Variante Crystal Clear eignet sich für Teamgrößen von zwei bis sechs Personen, die anderen Varianten heißen Crystal Blue, Crystal Magenta, Crystal Red, Crystal Orange Web, Crystal Orange und Crystal Yellow. Sie spiegeln die jeweiligen Teamgrößen der entsprechenden Projekte wider. Abhängig von der Teamgröße und der sich daraus ergebenden Crystal Variante verändern sich auch die Anzahl der Rollen, der Dokumentationsumfang und die Menge der Methoden, die eingesetzt werden[2].

Dokumentation und Aspekte der Qualität bei Crystal Methoden

Auch wenn bei der Methode Crystal das Regelwerk klein ist bzw. den Teams kaum solche auferlegt werden, wird für die erfolgreiche Arbeit ein gewisses Maß an Dokumentationen benötigt. Wenn im Fall von Crystal Clear lediglich zwei bis sechs Personen zusammenarbeiten, kann dies auf einfachem Wege, beispielsweise über ein Whiteboard geschehen. Je größer allerdings die Teams werden, desto notwendiger wird eine umfassendere Dokumentation. Dennoch lässt sich gegenüber anderen Methoden festhalten, dass bei der Methode Crystal der Dokumentationsaufwand relativ gering ist.

Die Erfolgsfaktoren von Crystal richten sich nach der täglichen Integration, automatisierten Tests und dem Management der Konfiguration. Um die Qualität der Zusammenarbeit zu steigern, sind regelmäßige Teammeetings, mehrere Reviews und regelmäßige Auslieferungen wichtig. Nicht zu vergessen ist die Zufriedenheit der Kunden.

Bei Crystal Clear reicht es normalerweise aus, wenn das Team seinen Code gegenseitig testet, ab Crystal Orange sollte ein externer Tester hinzugezogen werden. Die Rollen des Designers und des Programmierers werden zusammengelegt, die Testfälle werden von den Use Cases abgeleitet. Durch diesen Aufbau und die Rollenverteilung werden Kommunikationsprobleme bereits im Vorfeld nahezu ausgeschlossen. Mit der wachsenden Anzahl der beteiligten Personen und der entsprechend höheren Kritikalität muss die Anzahl der kontrollierenden Rollen erhöht werden. Dadurch wird der Prozess zwar etwas formeller, zum Beispiel muss bei Crystal Orange bei mehreren Teams die Schnittstelle genau definiert werden. Der Aufwand, der betrieben werden muss, hält sich allerdings auch hier in Grenzen, während gleichzeitig effektive Maßnahmen zur Qualitätssicherung angewendet werden können[3].

Bedeutung für das Development

Wer bei der agilen Softwareentwicklung ein Maximum an Freiheit braucht, ist mit Crystal gut versorgt. Allerdings muss man mit der Freiheit auch umzugehen wissen und braucht daher dennoch ein erhebliches Maß an Disziplin, um mit der Methode erfolgreich zu sein. Zudem muss bedacht werden, dass das geplante Projekt der richtigen Farbe innerhalb der Crystal Familie zugeordnet wird.

Einzelnachweise

  1. Crystal computerwoche.de. Abgerufen am 25.01.2018
  2. Crystal Family de.wikipedia.org. Abgerufen am 25.01.2018
  3. Alex Hense Evaluierung: Agile Vorgehensmodelle edoc.sub.uni-hamburg.de. Abgerufen am 25.01.2018

Weblinks

Kategorie