Bevor ich zu weit gehe , möchte ich sagen, dass Software Estimation: Demystifying the Black Art eine hervorragende Ressource für Menschen ist, die Schätzungen betrachten und darüber nachdenken. Die beiden folgenden Bilder stammen aus diesem Buch und bilden den Kern der folgenden Ideen.
Wie Sie bereits bemerkt haben, sind Schätzungen ein wichtiger Bestandteil, um die Arbeit genau vorhersagen und planen zu können. Ohne Schätzungen macht das Unternehmen blind, wie lange etwas dauern wird. Es ist nicht ungewöhnlich, dass Unternehmen eine völlig falsche Vorstellung davon haben, wie lange die Dinge dauern werden - was sie für einfach halten, dauert sechs bis acht Wochen, und was als schwierig erachtet wird, ist ein Hack am Freitagnachmittag.
Das erste ist eine Schätzung. Eine Schätzung selbst ist keine einzelne Zahl - das ist eine Verpflichtung. "Wie lange wird ABC dauern" -> "Ungefähr 5 Tage" bedeutet, dass es ungefähr 5 Tage dauert. Eine gute Schätzung ist jedoch ein Bereich, in dem Sie zu 90% davon überzeugt sind, dass Sie ihn in diesem Bereich haben werden. Wenn Sie sagen wollen "Ich bin zu 90% zuversichtlich, dass es zwischen 1 und 5 Tagen dauern wird", dann sagen Sie das. Arbeiten Sie nicht mit "Ich denke, es wird zwischen 1 und 10 Tage dauern, also sind 5 Tage wahrscheinlich durchschnittlich" - das ist keine Schätzung und Sie werden in 50% der Fälle falsch liegen.
Nun, 50% oder mehr der Zeit sind Programmierer berüchtigte Unterschätzer für Aufgabenzeiten.
Betrachten Sie den Konus der Unsicherheit:
Bild von http://www.construx.com - vollständiger Artikel unter http://www.construx.com/Thought_Leadership/Books/The_Cone_of_Uncertainty/
Beachten Sie, dass die erste Schätzung in diesem Bereich das 16-fache beträgt. Dies entspricht der Aussage "Ich denke, es wird zwischen einem Nachmittag und zwei Wochen dauern" - aber Sie wissen es noch nicht. Wenn Sie das Design etwas weiterentwickeln, wird die Reichweite auf 4x verringert. Dies bedeutet nicht , dass es eine Woche dauern wird, sondern dass Sie stattdessen sagen würden: "Nach einigem Hinsehen dauert es drei Wochen." - Ja, die Schätzung ist gestiegen, aber auch die Reichweite der Schätzung ist gestiegen Nieder.
Bei jeder von Ihnen angegebenen Schätzung müssen Sie zu 90% sicher sein, dass die Schätzung innerhalb dieses Bereichs liegt. Sie können sich irren - 10% der Fälle liegen außerhalb dieses Bereichs.
Es gibt viele Möglichkeiten, die Größe von Projekten abzuschätzen. Vergleiche es mit früheren Projekten, benutze einen Proxy (ich denke, es würde 1000 Codezeilen brauchen, was so lange dauert), benutze Funktionspunkte (um in LOC zu konvertieren ...), um Schätzungen von einer Reihe von Leuten zu erhalten und dann iterativ verfeinern ... einige arbeiten für einige projekte, einige arbeiten für andere projekte.
Ein sehr wichtiges Kapitel in diesem Buch, das ich oben erwähnt habe, ist # 23, das sich mit der Politik der Schätzung und dem Umgang mit Managern und Führungskräften befasst.
Der Schlüssel zu einer Schätzung ist der iterative Prozess der Verfeinerung, nachdem ein wenig daran gearbeitet wurde.
Zu früh eine zu genaue Schätzung abzugeben, kann sehr fehleranfällig sein. Wenn Sie sich nicht sicher sind, geben Sie die breite Schätzung an und kommen Sie nach einiger Zeit mit einer weiteren Schätzung zurück, um sich eingehender mit dem Problem zu befassen und möglicherweise zu skizzieren, wie Sie es tun werden, und zu prüfen, für wie viel Code Sie es geschrieben haben das letzte ähnliche Problem und andere Faktoren, die die Schätzung beeinflussen.
Schätzungen erfordern einige Überlegungen - geben Sie die Manschettenschätzungen nicht ab. Diese haben oft große Fehler, verglichen mit dem, was man braucht, wenn man ein bisschen darüber nachdenkt.
Von Wie zu reagieren , wenn Sie eine Schätzung gefragt werden?
Was ist zu sagen, wenn Sie um einen Kostenvoranschlag gebeten werden?
Sie sagen: "Ich melde mich wieder bei Ihnen."
Sie erzielen fast immer bessere Ergebnisse, wenn Sie den Prozess verlangsamen und einige Zeit damit verbringen, die in diesem Abschnitt beschriebenen Schritte durchzuarbeiten. Schätzungen, die an der Kaffeemaschine abgegeben wurden, werden (wie der Kaffee) zurückkommen, um Sie zu verfolgen.
Aus Kapitel 4 der Softwareschätzung:
Beachten Sie, dass die Schätzungen nach einer kurzen Überprüfung systematisch weniger fehleranfällig und fehleranfällig sind als die Schätzungen ohne Manschette. Lassen Sie die Manschettenschätzungen nicht außer Acht. Setzen Sie sich, überlegen Sie sich die Aufgabe und schätzen Sie sie nach einigem Überlegen ab.