Bei der Berechnung der Projektlaufzeit bewerten wir traditionell die Dauer der Zwischenschritte, fassen sie dann zusammen und fĂŒgen einen Puffer fĂŒr alle Arten von UnfĂ€llen hinzu. Dann halbiert uns die FĂŒhrung in dieser Zeit. Im Rahmen dieses Hinweises wird der Autor an unseren Berechnungen interessiert sein, da selbst ein Projektmanager mit umfassender Erfahrung hĂ€ufig versteht, dass der berechnete Zeitraum zu kurz ist und manchmal zu viel im Widerspruch zu seiner persönlichen ExperteneinschĂ€tzung steht. Ja, er wird die SchĂ€tzungen der Projektbedingungen und Zwischenschritte zu seiner Expertenbewertung korrigieren und mit wahrer Beherrschung einiger Verarbeitungszeiten die Frist mit einer Genauigkeit von 15% einhalten, aber das Sediment bleibt erhalten.
In diesem Hinweis wird der Grund fĂŒr die Diskrepanz zwischen Experten- und theoretisch berechneten SchĂ€tzungen erlĂ€utert. Es wird auch berĂŒcksichtigt, warum die âĂŒberbewerteteâ Expertenbewertung normalerweise unterschĂ€tzt wird, wenn sie nicht auf der Grundlage von Statistiken ĂŒber die DurchfĂŒhrung Ă€hnlicher Projekte erfolgt. Am Ende wird gezeigt, wie die Projektlaufzeit korrekt berechnet und den Interessenten vor Projektbeginn oder wĂ€hrend des Projekts die Situation erklĂ€rt werden kann.
Die Wurzel des Fehlers
Wenn wir den Implementierungszeitraum einer Arbeit bewerten, bestimmen wir die wahrscheinlichste Zahl. Es kann sich um eine Expertenbewertung zu einem Punkt oder zu drei Punkten handeln, wie bei PERT. In einem komplexen Projekt kann dies eine parametrische Modellierung sein. In allen FĂ€llen machen wir den gleichen Fehler. Tatsache ist, dass bei allen klassischen SchĂ€tzmethoden angenommen wird, dass wir eine Normalverteilung des geschĂ€tzten Wertes haben - nach GauĂ. Theoretiker lieben diese Verteilung sehr.
Normalverteilung bedeutet, dass ein Projekt mit einer korrekt geschĂ€tzten Dauer von 6 Monaten mit gleicher Wahrscheinlichkeit in 9 Monaten oder 3 Monaten abgeschlossen wird. Bei gleichen AbstĂ€nden vom Verteilungszentrum ist die Wahrscheinlichkeit des Abschlusses des Projekts gleich - dies ist ein Merkmal der GauĂ-Kurve. Andererseits sahen in der Praxis nur wenige Menschen ein IT-Projekt, das doppelt so schnell abgeschlossen wurde (nach 3 Monaten), aber Projekte, die sich anderthalb Mal verzögerten (9 Monate), sehen wir regelmĂ€Ăig. DarĂŒber hinaus wĂŒrde bei einer Normalverteilung die HĂ€lfte unserer Projekte vor der geschĂ€tzten Zeit und die HĂ€lfte danach enden. Dies wird aber auch in der Praxis nicht beobachtet. Dies deutet darauf hin, dass die Normalverteilung fĂŒr die SchĂ€tzung von Fristen nicht anwendbar ist. Das heiĂt, wir haben keine Normalverteilung, sondern eine andere mit unterschiedlicher Wahrscheinlichkeit der Fertigstellung vor und nach dem wahrscheinlichsten Datum.
Betrachten Sie die logarithmische Normalverteilung als Beispiel fĂŒr eine solche Verteilung. Es zeigt uns die Merkmale dieser Verteilungsklasse. FĂŒr die logarithmische Normalverteilung liegen der Median und die mathematische Erwartung deutlich ĂŒber dem Peak:

In der dargestellten Grafik zeigt der Peak die gröĂte Wahrscheinlichkeit des Abschlussdatums des Projekts. Diese Zahl enthĂ€lt normalerweise diese Zahl plus einen bestimmten Spielraum. Der Median gibt einen Trennungspunkt an, an dem die HĂ€lfte der Projekte vor Ablauf dieser Frist und die zweite HĂ€lfte danach abgeschlossen wird. Die mathematische Erwartung gibt den Durchschnittswert der Projektdauer an. FĂŒr ein Arbeitsfragment weist die Verteilung dieselben Merkmale auf: einen groĂen Unterschied zwischen dem am meisten erwarteten Zeitraum fĂŒr die Implementierung des Arbeitsfragments (PlĂ€ne basieren traditionell darauf) und dem Durchschnittswert des Begriffs.
Um die Dauer des Projekts vorherzusagen, bestimmen wir die lĂ€ngste Kette in der Zeit und addieren die Dauer seiner Fragmente. Wenn wir die nach GauĂ verteilten Werte addieren, sollte im Durchschnitt der richtige Endterm erhalten werden. In der Tat wird die HĂ€lfte der Fragmente der Arbeit vorzeitig fertiggestellt, die HĂ€lfte spĂ€ter, und diese HeterogenitĂ€ten werden sich gegenseitig aufheben. Je mehr Fragmente vorhanden sind, desto genauer werden die InhomogenitĂ€ten kompensiert. AuĂerdem können wir den Fehler berechnen und die Frist je nach den Folgen der Frist um ein oder zwei Sigma verschieben.
Wir haben aber keine GauĂsche Verteilung. In unserem Land ist es viel wahrscheinlicher, die AusfĂŒhrungszeit fĂŒr jedes Werk zu verlĂ€ngern, als es um den gleichen Betrag zu verkĂŒrzen. Wenn wir also die Fristen fĂŒr die wahrscheinlichste Fertigstellung jedes Werks hinzufĂŒgen, werden die HeterogenitĂ€ten in Bezug auf die Fertigstellung nicht kompensiert, sondern verstĂ€rkt. DarĂŒber hinaus verstĂ€rken sie sich in Richtung einer VerlĂ€ngerung der realen durchschnittlichen Laufzeit des Projekts im Vergleich zur SchĂ€tzung. Was wir im wirklichen Leben beobachten: Wenn der erste Begriff ĂŒberfĂ€llig ist, sind alle anderen Begriffe ĂŒberfĂ€llig, wĂ€hrend die Verzögerung nur zunimmt. Nur durch zusĂ€tzliche Anstrengungen kann die Projektverzögerung gestoppt werden.
Ein Merkmal dieser Berechnungsmethode ist eine bekannte Tatsache: Je kleiner die Fragmentierung der Arbeit zur Beurteilung der Projektdauer ist, desto ungenauer ist die SchĂ€tzung. Obwohl theoretisch genau das Gegenteil der Fall sein sollte. Der Grund dafĂŒr ist, dass unsere Expertenbewertung fĂŒr die gesamte Arbeit und fĂŒr ihre Bestandteile aus Erfahrung stammt. Die Erfahrung bewertet jedes Element unabhĂ€ngig und nicht arithmetisch, wonach die Dauer der Arbeit die Summe der Dauer seiner Bestandteile sein sollte. Arithmetik funktioniert hier nicht, da die Summe der wahrscheinlichsten Fristen fĂŒr die Fertigstellung von Teilen nicht die wahrscheinlichste Frist fĂŒr die Fertigstellung aller Arbeiten ergibt - nur mathematische Erwartungen können korrekt summiert werden.
Wenn wir versuchen, den geschĂ€tzten Term fĂŒr das gesamte Projekt oder seine Teile geringfĂŒgig um ein oder zwei Sigma zu verschieben, wobei die Verteilung als normal angesehen wird, hilft dies nicht viel, da der Verteilungsende viel dicker als die GauĂsche Kurve ist. Infolgedessen kann man aufgrund einer solchen Erhöhung der LaufzeitschĂ€tzung nicht einmal den Median erreichen, ganz zu schweigen vom Durchschnittswert der Projektdauer in Form einer mathematischen Erwartung.
Was zu tun ist
Einerseits sollten mathematische Erwartungen hinzugefĂŒgt werden. Andererseits sind wir keine Mathematiker. Wir kommen aus dem wirklichen Leben und verstehen das Problem der Berechnung der Parameter von Graphen, selbst wenn dafĂŒr Zeit und einige akkumulierte Statistiken Zeit sind. Es gibt aber auch andere Möglichkeiten. Am Ende hat das Problem, den Zeitpunkt von mehr als einem Dutzend Jahren einzuschĂ€tzen, und die Praktiker gelernt, damit zu arbeiten.
Brooks-Methode : Wir betrachten den Implementierungszeitraum des Programms als âfrontalâ (der Benutzer ist der Programmierer selbst) und multiplizieren mit 3 fĂŒr das Softwareprodukt (der Benutzer ist ein unbegrenzter Personenkreis) oder den Softwarekomplex (in der aktuellen RealitĂ€t - eine Reihe von Mikrodiensten) und 9 fĂŒr das Systemsoftwareprodukt ( in der gegenwĂ€rtigen RealitĂ€t eine Reihe verwandter Infrastrukturkomponenten). Woher diese Koeffizienten kommen, ist im ersten Kapitel von Brooks 'Buch Mythical Man-Month theoretisch gut begrĂŒndet, und diese Beschreibung von 1975 ist gut auf die aktuellen RealitĂ€ten verschoben.
Scrum-Methode : Wir fĂŒhren eine abstrakte Zwischeneinheit der KomplexitĂ€t der Implementierung der Funktion ein, betrachten die Statistik der Implementierung der Funktion, die in den angegebenen Einheiten der Funktion gemessen wird, und bitten das Team, die KomplexitĂ€t der Projektaufgaben zu bewerten, die Einheiten in die Scrum-Iteration (Sprints) bekannter LĂ€nge zu ĂŒbersetzen und eine SchĂ€tzung der Begriffe fĂŒr dieses Entwicklungsteam zu erhalten. Da wir mit tatsĂ€chlich gesammelten Statistiken arbeiten und das Team fĂŒr die SchĂ€tzung der KomplexitĂ€t verantwortlich ist, ist die Bindung der Dauer an die Arbeitseinheit eine mathematische Erwartung, und daher endet die HĂ€lfte der Sprints etwas frĂŒher, die HĂ€lfte etwas spĂ€ter. In der Praxis muss das Team in halben Iterationen von Scrum an den Aufgaben teilnehmen und in der HĂ€lfte ungeplante Aufgaben hinzufĂŒgen, damit die SprintlĂ€nge konstant bleibt.
Die Aufgabe, die Scrum-Bewertung eines Teams auf ein anderes Team zu ĂŒbertragen, ist eine Kunst. Sie können nicht einfach durch EinfĂŒhren eines Umrechnungsfaktors fĂŒr die Arbeitseinheiten eines Teams in die Arbeitseinheiten des anderen Teams ĂŒbertragen werden. Tatsache ist, dass ein Team ein gutes Front-End in seiner Zusammensetzung hat, aber keinen guten Basisspezialisten, und das andere Team einen guten Basisspezialisten, aber die Front-Line-Aufgaben dafĂŒr sind von zunehmender KomplexitĂ€t. Unterschiede in der Spezialisierung der Entwickler fĂŒhren dazu, dass in Bezug auf Backend-Aufgaben ein Team eine ĂŒbermĂ€Ăige KomplexitĂ€t in Bezug auf Aufgaben in der Datenbank und das andere auf der Vorderseite aufweist. DarĂŒber hinaus bestimmt das Team selbst das erforderliche Niveau der internen QualitĂ€t des Produkts, und verschiedene Teams bestimmen es auf etwas andere Weise als die benachbarten Teams, was es auch schwierig macht, Arbeitseinheiten neu zu berechnen. Das heiĂt, es ist möglich, die Zwischeneinheiten eines Teams in die Zwischeneinheiten eines anderen Teams zu ĂŒbersetzen, indem SchĂ€tzungen Ă€hnlicher Aufgaben verglichen werden. Diese Aufgaben sollten jedoch aus verschiedenen Arten von AktivitĂ€ten ĂŒbernommen werden, wobei die StĂ€rken und SchwĂ€chen der Teams zu berĂŒcksichtigen sind und die Besonderheiten der Einrichtung ihres Scrums zu berĂŒcksichtigen sind.
Funktionselementmethode : Wir fĂŒhren eine Zwischeneinheit des Arbeitseinsatzes ein, erstellen eine Liste der Funktionselemente (Bildschirme in einem Browser, Microservices, benutzerdefinierte Infrastrukturelemente usw.) und schĂ€tzen den Arbeitsaufwand fĂŒr jedes Funktionselement in Zwischeneinheiten. AnschlieĂend bewerten wir basierend auf unserer Expertenerfahrung in der Arbeit mit einem bestimmten Entwicklungsteam den Umrechnungsfaktor der Zwischeneinheit ĂŒber die Zeit. Persönlich bewerte ich die Umrechnungsfaktoren fĂŒr verschiedene Arten von AktivitĂ€ten immer noch unabhĂ€ngig voneinander: Analyse, Entwerfen, Schreiben von Aufgabenanweisungen, Schreiben von Code, Layout, Testen, Integration usw. Danach sollte die Reihenfolge der Operationen, die charakteristische Zeitverzögerung zwischen dem Abschluss der vorherigen Operation und dem Beginn einer neuen Operation berĂŒcksichtigt und die Dauer des Projekts durch die Methode des kritischen Pfades bestimmt werden.
Bisher haben wir mit den internen Faktoren des Projekts gearbeitet. Wir haben aber auch externe: externe Auftragnehmer, verwandte Abteilungen, Lieferanten und den Kunden. Die Probleme mit ihnen sind genau die gleichen: Sie reagieren zweimal oder schneller oder seltener als eineinhalb Mal lĂ€nger als der wahrscheinlichste Wert. Das heiĂt, es gibt auch keine normale Zeitverteilung. Dies sollte auch auf der Grundlage von Statistiken ĂŒber die Arbeit mit Kunden, Auftragnehmern und verwandten Einheiten festgelegt und berĂŒcksichtigt und, wenn möglich, mit Hilfe von Strafen geschĂŒtzt werden.
Zeitliche Rechtfertigung
Daher haben wir die geplante Projektdauer geschĂ€tzt. Wie kann man die erhaltene Frist rechtfertigen? Basierend auf den durchgefĂŒhrten Berechnungen. Beispielsweise erstellt der Autor einer Notiz fĂŒr Nicht-Scrum-Projekte in Google Sheets normalerweise eine groĂe mehrzeilige visuelle Tabelle mit einer detaillierten Berechnung nach der Methode der Funktionselemente. Die Berechnung basiert auf der Praxis, alle Koeffizienten und Parameter sind visuell, und die Praxis fĂŒr interessierte Parteien ist normalerweise ein starkes und gutes Argument, auch wenn sich herausstellt, dass es fĂŒr bestimmte Personen eine unangenehme Zeit ist. Insbesondere ist die Praxis visuell und wird im Rahmen des aktuellen Unternehmens erlangt.
Werden Stakeholder wie das Management einer gut gemachten und gut informierten Zeitplanbewertung zustimmen? Nicht immer, auch wenn die Interessenten die EinschĂ€tzung vollstĂ€ndig verstehen und erkennen. Manchmal ist die Bewertung aus externen GrĂŒnden nicht akzeptabel, aber dies ist bereits ein Schmerz fĂŒr die interessierten Parteien, was zu einer schwierigen Entscheidung des Managements ĂŒber den Zeitpunkt fĂŒhrt. Wenn die Berechnungen jedoch auf Erfahrung basieren, haben das Management und andere interessierte Kreise die Möglichkeit, die endgĂŒltige Laufzeit des Projekts vorhersehbar zu beeinflussen, indem zusĂ€tzliche Ressourcen und Befugnisse zugewiesen werden. Manchmal verkĂŒrzt das Management, das die Zeitsituation versteht, weiterhin die Fristen, ohne zusĂ€tzliche Ressourcen und Befugnisse zuzuweisen. Wie man damit lebt, ist das Thema einer separaten Notiz.