Die 90-90-Regel in der Softwareentwicklung: Ein Blick auf Zeitmanagement und Projektplanung

Die 90-90-Regel, ein Begriff, der im Kontext der Softwareentwicklung oft mit einem Schmunzeln zitiert wird, stellt eine humorvolle, aber dennoch aufschlussreiche Perspektive auf das Zeitmanagement und die Herausforderungen in Softwareprojekten dar. Ursprünglich von Tom Cargill von den Bell Laboratories geprägt und durch Jon Bentley bekannt gemacht, fasst diese Regel die Erfahrungen vieler Entwickler in einem einfachen Satz zusammen: ‘Die ersten 90 Prozent des Codes benötigen die ersten 90 Prozent der Entwicklungsdauer. Die verbleibenden 10 Prozent des Codes benötigen die anderen 90 Prozent der Entwicklungsdauer.’ Aber was steckt wirklich hinter dieser scheinbar paradoxen Aussage? Dieser Artikel nimmt Sie mit auf eine Reise durch die Entstehung, Bedeutung und die praktischen Auswirkungen dieser berühmten Regel in der Welt der Softwareentwicklung.

Ursprung und Bedeutung der 90-90-Regel

Die 90-90-Regel wurde in den 1980er Jahren von Tom Cargill bei den Bell Laboratories entwickelt. In einer humorvollen Reflexion der Herausforderungen in der Softwareentwicklung formulierte Cargill einen Aphorismus, der schnell an Popularität gewann. Seine Bekanntheit verdankt die Regel vor allem Jon Bentley, der sie in seiner Kolumne “Programming Pearls” im Fachmagazin “Communications of the ACM” im Jahr 1985 zitierte.

Die Bedeutung dieser Regel liegt nicht nur in ihrer humorvollen Darstellung, sondern auch in der treffenden Beschreibung einer allgegenwärtigen Herausforderung in der Softwareentwicklung. Sie beleuchtet das oft beobachtete Phänomen, dass die letzten 10% eines Projekts fast genauso viel Zeit in Anspruch nehmen können wie die ersten 90%. Dieses Phänomen ist nicht nur in der Softwareentwicklung bekannt, sondern findet sich in vielen Bereichen, in denen komplexe Projekte realisiert werden.

Die 90-90-Regel hat sich zu einem wichtigen Teil der Softwareentwicklungs-Kultur entwickelt. Sie dient nicht nur als Warnung für Projektmanager und Entwickler, sondern auch als Erinnerung, dass Aufwandsschätzungen oft schwierig und ungenau sein können. In diesem Sinne spielt die Regel eine Schlüsselrolle in der Diskussion über Zeitmanagement und realistische Planung in Softwareprojekten.

Die Regel im Detail

Die 90-90-Regel fasst in prägnanter Weise ein häufiges Dilemma in der Softwareentwicklung zusammen: “Die ersten 90 Prozent des Codes benötigen die ersten 90 Prozent der Entwicklungsdauer. Die verbleibenden 10 Prozent des Codes benötigen die anderen 90 Prozent der Entwicklungsdauer.” Diese humoristische Formulierung verdeutlicht, dass der scheinbar geringste Teil der Arbeit oft unerwartet viel Zeit beansprucht.

Diese Regel hebt hervor, dass in vielen Softwareprojekten der größte Teil der Arbeit in den ersten 90% der Entwicklungsdauer geleistet zu sein scheint. Dennoch ist es gerade der letzte Teil des Projekts, der häufig unterschätzt wird und zu erheblichen Verzögerungen führen kann. Dies liegt oft an der Komplexität und den Schwierigkeiten, die in den Endphasen der Entwicklung auftreten, wenn die Integration verschiedener Komponenten und das Feintuning erforderlich sind.

In der agilen Softwareentwicklung findet die 90-90-Regel besondere Beachtung. Aufgaben, die als “nahezu fertig” gelten, können oft irreführend sein. In Wirklichkeit kann der Abschluss dieser Aufgaben aufgrund von Abhängigkeiten oder unerwarteten Problemen erheblich länger dauern als ursprünglich geplant. Die Regel erinnert daran, dass es wichtig ist, auch die scheinbar kleinen und abschließenden Aufgaben in der Projektplanung angemessen zu berücksichtigen.

Die praktischen Auswirkungen der Regel

Die 90-90-Regel veranschaulicht ein verbreitetes Phänomen in der Projektarbeit, insbesondere in der Softwareentwicklung: das sogenannte 90%-Syndrom. Dieses Syndrom beschreibt die Neigung, den Restaufwand eines Arbeitspakets, eines Vorgangs oder eines Projekts zu positiv einzuschätzen. In der Realität zeigt sich oft, dass die verbleibenden 10% des Projekts sich als weitaus aufwändiger erweisen, als zunächst angenommen.

In der Praxis bedeutet dies, dass aus den geschätzten 10% Restaufwand häufig weitere 90% werden. Dies führt dazu, dass der Gesamtaufwand eines Projekts letztendlich 180% (90% + 90%) des ursprünglich geplanten Aufwands beträgt. Ein Beispiel hierfür könnte in der Softwareentwicklung das Unterfangen sein, einen Code zu optimieren oder Fehler zu beheben, was oft mehr Zeit in Anspruch nimmt als die ursprüngliche Entwicklung des Codes.

Die 90-90-Regel unterstreicht die Herausforderung, komplizierte Codestellen und potenzielle Probleme in der Anfangsphase der Aufwandsschätzung korrekt zu identifizieren. Während der ersten 90% der geplanten Projektdauer scheinen Zeit und Menge des Codes noch zusammenzupassen. Erst bei der Arbeit an den letzten 10% des Codes wird deutlich, dass für diesen Abschnitt noch einmal fast so viel Zeit benötigt wird, wie für die ersten 90%, weil der Aufwand hierfür stark unterschätzt wurde.

Typische Herausforderungen und Fehler bei der Restaufwandsschätzung

  1. Unterschätzung der Komplexität: In der Endphase eines Projekts können sich oft unerwartete Herausforderungen ergeben, die in der ursprünglichen Planung nicht berücksichtigt wurden.
  2. Übersehen von Abhängigkeiten: Die Abhängigkeiten zwischen verschiedenen Projektteilen werden oft nicht ausreichend berücksichtigt, was zu Verzögerungen führen kann.
  3. Optimismus in der Planung: Die Tendenz, die Dauer für die Fertigstellung der letzten 10% eines Projekts zu optimistisch einzuschätzen.
  4. Fehlende Berücksichtigung von Integrations- und Testaufwand: Der Aufwand für die Integration und das Testen von Systemkomponenten wird häufig unterschätzt.
  5. Vernachlässigung von Nacharbeiten: Die Notwendigkeit von Korrekturen und Anpassungen in der Endphase wird oft nicht ausreichend eingeplant.

Methoden zur Vermeidung von Zeitüberschreitungen

Um die Herausforderungen, die die 90-90-Regel aufzeigt, zu bewältigen, gibt es verschiedene Methoden und Ansätze. Ein wesentlicher Ansatz ist die Verwendung der 0/100-Methode zur Aufwandsschätzung. Diese Methode basiert auf dem Prinzip, dass ein Arbeitspaket entweder 0% oder 100% abgeschlossen ist, ohne Zwischenwerte. Dies hilft, die Illusion von “fast fertig” zu vermeiden, die oft zu einer Unterschätzung des tatsächlichen Aufwands führt.

MethodeBeschreibungVorteileEinsatzgebiet
0/100-MethodeEin Arbeitspaket ist entweder 0% (nicht gestartet) oder 100% (vollständig abgeschlossen)Vermeidet die Illusion von “fast fertig”Projektplanung und -überwachung
Definition of Done (DoD)Klare Liste von Kriterien, die erfüllt sein müssen, bevor ein Arbeitspaket als abgeschlossen giltSchafft Klarheit und vermeidet MissverständnisseAgile Entwicklung und Qualitätskontrolle
Tabelle: Methoden zur Vermeidung von Zeitüberschreitungen

Eine weitere wichtige Ergänzung ist die Definition of Done (DoD). Die DoD ist eine klare Liste von Kriterien, die erfüllt sein müssen, bevor ein Arbeitspaket als abgeschlossen betrachtet werden kann. Diese Kriterien helfen dabei, Missverständnisse darüber, was “fertig” bedeutet, zu vermeiden und sorgen für Klarheit im gesamten Team.

Diese Methoden sind besonders nützlich in der agilen Softwareentwicklung, wo Flexibilität und Anpassungsfähigkeit entscheidend sind. Sie ermöglichen eine realistischere Einschätzung des Arbeitsaufwands und helfen, die häufigen Fallen der Restaufwandsschätzung zu vermeiden. Durch die Anwendung dieser Techniken können Teams die Wahrscheinlichkeit von Zeitüberschreitungen reduzieren und effizienter an ihren Projekten arbeiten.

Ein wichtiger Aspekt ist jedoch, dass trotz aller Werkzeuge und Methoden die Erfahrung und das Fachwissen des Teams eine entscheidende Rolle spielen. Es ist wichtig, aus vergangenen Projekten zu lernen und diese Erkenntnisse in zukünftige Aufwandsschätzungen einfließen zu lassen.

Schlussfolgerung

Die 90-90-Regel bietet eine humorvolle, aber aufschlussreiche Perspektive auf ein allgegenwärtiges Problem in der Softwareentwicklung: die Herausforderung der genauen Aufwandsschätzung. Diese Regel erinnert uns daran, dass die letzten Phasen eines Projekts oft unterschätzt werden und daher ein erhebliches Risiko für Zeit- und Budgetüberschreitungen darstellen können.

Die Betrachtung dieser Regel führt zu einer wichtigen Erkenntnis: Erfolgreiches Projektmanagement erfordert nicht nur technische Fähigkeiten, sondern auch ein tiefes Verständnis für Projektplanung und -management. Methoden wie die 0/100-Methode und die Definition of Done können dabei helfen, realistischere Schätzungen zu erstellen und die Fallen der Restaufwandsschätzung zu vermeiden.

Abschließend lässt sich sagen, dass die 90-90-Regel mehr als nur ein humoristischer Kommentar ist. Sie ist ein nützliches Werkzeug, das Entwickler und Projektmanager daran erinnert, stets wachsam zu sein und die möglichen Fallstricke in der Projektplanung zu berücksichtigen. In einer Welt, in der Zeit und Ressourcen oft begrenzt sind, bietet die Regel eine wertvolle Perspektive, um Softwareprojekte erfolgreich und effizient zum Abschluss zu bringen.