Umfangreiches Reporting
Für den Vergleich erfassten alle Teams ihre Aufwände und Fortschritte. Im deutsch-japanischen Cirquent-Team wurde dazu mit "VersionOne" ein für die agile Softwareentwicklung konzipiertes Planungs- und Monitoring-Tool genutzt, zusätzlich wurden die Aufwände in einem "Effort Monitoring File" akribisch für das Reporting an den Auftraggeber erfasst. Abstimmung und Arbeitsübergaben zwischen den drei regionalen Gruppen des Cirquent-Teams wurden über ein spezielles "Handover File" koordiniert. Um wettbewerbsverzerrende Unterschiede in den Funktionen und den Skills von Mitarbeitern innerhalb der drei konkurrierenden Teams auszuschließen, wurden die angefallenen Aufwände zudem über einen Skill-Faktor-Index gewichtet.
Der Projektverlauf zeigte, wie schnell und gut sich das verteilte Cirquent-Team der ungewohnten 24-Stunden-Entwicklung anpasste. Zunächst als knapp empfunden, erwiesen sich die Übergaben in der einstündigen Schichtüberlappung der drei lokalen Gruppen im weiteren Projektverlauf als gut ausreichend. Die Lernkurve war steil, schnell wussten die drei Gruppen, auf welche Informationen es für die Fortführung der Arbeit in der jeweils nachfolgenden Gruppe ankam.
60 Prozent Zeitersparnis
Wie bei jedem Verchönuch begann man bei NTT Data mit einer Hypothese über die zu erwartenden Resultate. Das Cirquent-Team kalkulierte dabei die Zeitersparnis durch die "aggressive" Kombination einer Follow-the-Sun-Organisation mit agiler Entwicklungsmethodik vor dem Projekt auf etwa 60 Prozent. "Diese Schätzung war fast eine Punktlandung", wie Jürgen Schön später zufrieden feststellen konnte. Verglichen mit dem japanischen Waterfall-Team konnte die Projektzeit auf 42 Prozent reduziert werden. Auch das japanisch-indische Team mit seinem in puncto Schichten und Methodik deutlich moderateren Ansatz brauchte nur 68 Prozent der Projektzeit des Waterfall-Teams.
- 1. Fokus auf Kernfunktionen
Konzentrieren Sie sich bei der Definition der Anforderungen auf die Kernfunktionen der umzusetzenden Anwendung. Das Pareto-Prinzip gilt in der Regel auch in der Softwareentwicklung. Demnach sollten 80 Prozent der Funktionalität einer Anwendung durch 20 Prozent des Funktionsumfangs erbracht werden. - 2. Defensiver Technikeinsatz
Vermeiden Sie technische Spielereien. Es muss nicht immer jedes neueste Feature genutzt werden. Wägen Sie den Einsatz neuer Techniken sorgfältig ab, auch wenn diese eine höhere Entwicklereffizienz und schnelle Ergebnisse versprechen. Grundsätzlich gilt: Je mehr Funktionen, desto komplexer und damit aufwändiger und teurer wird die Anwendungsentwicklung. - 3. Einsatz vorgefertigter Komponenten
Prüfen Sie, ob Sie verfügbare Komponenten, Plattformen und Produkte nutzen können. Wenn es sich um nicht allzu komplexe Teillösungen handelt, kann das viel Aufwand ersparen. Allerdings ist eine "Buy"-Entscheidung nicht in jedem Fall der richtige Weg. Wenn die Komponenten erst "hingebogen" werden müssen, bis sie allen Anforderungen gerecht werden, ist das aufwändig und birgt Folgerisiken - etwa den Verlust der Release-Fähigkeit. - 6. Nutzung von Erfahrungen
Frühe Fehler können sich zu einem späteren Zeitpunkt zu Kostentreibern entwickeln. Unerfahrene Mitarbeiter sind daher ein Projektrisiko. Zumindest an den neuralgischen Punkten eines Projektes - etwa dem Architekturdesign oder der Projektplanung - sollten Sie den Projektbeteiligten daher erfahrene Mitarbeiter oder externe Berater zur Seite stellen. - 7. Stabile Anforderungen und verbindliche Absprachen
Sorgen Sie für stabile Anforderungen und klare Erwartungen an das Softwaresystem sowie für verbindliche Absprachen zwischen den Projektbeteiligten und strukturierte Change-Request-Verfahren. Dieses Vorgehen wirkt auf den ersten Blick etwas bürokratisch, letztlich hilft es aber, häufige Kurswechsel im Projektverlauf und daraus resultierende arbeitsintensive Nacharbeiten zu vermeiden. - 8. Kalkulation interner Ressourcen
Bewerten Sie die Verfügbarkeiten und Kapazitäten der internen Projektbeteiligten realistisch. Mitarbeiter, die beispielsweise zusätzlich zu ihrem Tagesgeschäft "nebenbei" im Projekt mitarbeiten, verursachen oft versteckte Mehrkosten, Terminverschiebungen und vor allem Qualitätsprobleme. - 10. Realistische Aufwandsplanung
Planen Sie die Aufwände eher vorsichtig. Zu optimistische Einschätzungen - "das ist schnell gemacht", "das ist ja fast fertig" - verfälschen die Kalkulation. Hektisches Nacharbeiten und Terminverzüge verursachen letztlich meist mehr Kosten als sauber geplante Projekte.