Umgang mit schrecklichen Schätzungen

63

Ein aktuelles Projekt, an dem ich gearbeitet habe, wurde vom Architekten nachweislich stark unterschätzt. Die Schätzung fiel um mindestens 500% aus.

Leider wurde ich in das Projekt aufgenommen, nachdem der Kostenvoranschlag vom Kunden unterschrieben worden war. Als leitender Entwickler wurde mir schnell klar, dass die funktionale und technische Spezifikation stimmen. enthielt einige große Lücken und Unsicherheiten.

Infolgedessen fühlte ich mich gezwungen, ein Notfalltreffen mit den Geschäfts- und technischen Direktoren einzuberufen, um sie über die Realität zu informieren. Als in erster Linie ein Entwickler fand ich dies eine sehr stressige und schwierige Situation. Das "Geschäft" beschuldigte die IT, inkompetent zu sein und der Bote zu sein. Ich erhielt ein paar "Kugeln".

Der Kunde drohte, den Account zu kündigen. Bislang ist das Projekt jedoch noch nicht abgeschlossen und ich bin nicht mehr direkt daran beteiligt.

Der Architekt war sozial nett, aber aufgrund dieser Episode war er entweder einfach inkompetent oder es gab einen großen Verkaufs- / Geschäftsdruck, der seine Schätzung beeinflusste.

Wie erleben Sie als Programmierer diese Situation und wie raten Sie zum Umgang damit?

Asche
quelle
11
Ich denke, Ihre Antwort war das richtige Lehrbuch.
Einige tolle Antworten hier!
4
Ich bin entsetzt über die Tatsache, dass Sie angerufen haben und sich im Notfall mit den Geschäfts- und technischen Direktoren getroffen haben. Warum diskutieren Sie dies nicht zuerst im Projekt? In einer Umgebung zu arbeiten, in der alle eskalieren, ist störender als eine schlechte Schätzung. Wenn Sie als Entwickler Lücken in einer Spezifikation identifizieren, helfen Sie dabei, die Lücke zu füllen, aktualisieren Sie den Kostenvoranschlag und lassen Sie den Projektleiter dem Kunden die Situation erklären.
3
@Bernie, Zur Verdeutlichung ging die Eskalation an die Geschäftsführer des Unternehmens (geschäftlich und technisch), nicht direkt an den Kunden. Außerdem erklärte ich dem Projektmanager, der mein Anliegen für berechtigt hielt, die Situation (wie ich sie sah) und entschied, dass eine Eskalation erforderlich war. Er wusste jedoch genau, dass es eine "schwierige" Situation geben könnte und war froh, mich die Führung übernehmen zu lassen.
2
Manchmal machen die Leute nur ungenaue Schätzungen - Fehler. Jeder macht Fehler, das heißt nicht, dass er inkompetent ist oder dazu gezwungen wurde.
Angelo

Antworten:

53

Lange Antwort, aber hey, ich habe am Ende eine Zusammenfassung, springe einfach zur Zusammenfassung, wenn du nicht die Mühe hast, die ganze Sache zu lesen!

Als Entwickler musste ich mich buchstäblich mit jedem anderen Projekt auseinandersetzen, aber erst als ich in das Projektmanagement wechselte, lernte ich, wie man effektiv damit umgeht. Für mich geht es beim effektiven Handeln um zwei Dinge: das Verwalten von Erwartungen und das Verstehen, wie Schätzungen funktionieren.

Beginnen Sie mit der Annahme, dass es unethisch ist, eine Schätzung vorzunehmen, eine Schätzung vorzunehmen oder andere Anhaltspunkte für die Genauigkeit der Schätzung zu geben, ohne zuvor eine gewisse Sorgfalt walten zu lassen. Andere Menschen verlassen sich auf Ihre professionelle Fähigkeit, den Arbeitsaufwand vorherzusagen. Falsche Angaben schaden ihnen und ihrem Unternehmen.

Aber Sie müssen etwas geben, im wirklichen Leben haben Sie sich in eine spontane Besprechung oder ein spätes Projekt hineingezogen, und Ihr Vorgesetzter wird wahrscheinlich klarstellen, dass er von Ihnen erwartet, dass Sie sich sofort eine Zahl einfallen lassen oder die von ihm angegebene Schätzung kommentieren. Hier kommt das Erwartungsmanagement ins Spiel.

Erklären Sie, dass es falsch wäre, eine Zahl oder einen Hinweis zu geben, ohne das Problem zu verstehen und die Zahlen selbst zu berechnen. Sagen Sie, dass ihre Zahlen richtig sein könnten, Sie wissen es einfach nicht, bevor Sie die Schätzübung selbst durchgingen. Und obwohl Sie vielleicht ein gutes Bild davon haben, was dort und wann benötigt wird, sollten Sie sagen, dass Sie noch etwas Zeit brauchen, um die Zahlen zu erarbeiten. Es gibt nur eine Schätzung, die von Ihnen erwartet werden könnte: wann Sie eine Schätzung abgeben können. Geben Sie diese Zahl auf jeden Fall an.

Als Entwickler übernehmen Sie niemals die Verantwortung für (oder geben Hinweise, die als Akzeptanz von) Schätzungen anderer Personen interpretiert werden können, ohne diese zuerst überprüfen zu können. Als Projektmanager ist das eine ganz andere Sache, denn dann haben Sie tatsächlich eine gewisse Kontrolle über den Schätzungsprozess: Die Art und Weise, wie eine Schätzung abgeleitet und überprüft wird, und Sie müssen sich auf andere Menschen verlassen, um die eigentliche Arbeit zu erledigen, und Sie müssen etwas tun sicher, dass sie verpflichtet sind.

Kommentieren Sie niemals Schätzungen, ohne die gebotene Sorgfalt anwenden zu können. Das ist ethisch. Ein Anwalt oder Arzt wird klarstellen, dass er keine Beratung geben kann, es sei denn, ein Klient (oder Patient) hält sich an seine Regeln und durchläuft zuerst ein Bewertungsverfahren. Sie haben ebenfalls das Recht, Ihre Fragen zu beantworten, bevor Sie eine professionelle Meinung abgeben.

Der zweite Teil befasst sich mit der Funktionsweise der Schätzung. Ich schlage vor, verschiedene Ansätze zur Durchführung von Schätzungen zu untersuchen und zu untersuchen, wie Schätzungsprozesse funktionieren, einschließlich anderer Branchen als der Softwareentwicklung (Fertigung, Finanzmärkte, Bauwesen). Dies gibt Ihnen eine Vorstellung davon, was Sie von Ihrem Chef oder Kunden vernünftigerweise erwarten können, und hilft Ihnen seltsamerweise dabei, genauere Vorhersagen über den Arbeitsaufwand zu treffen. Dies verbessert Ihre Fähigkeit, Ihre Schätzungen zu verteidigen, und Sie müssen die Zahlen jedes Mal verteidigen, wenn sie sich von denen unterscheiden, die von einem Architekten oder einem Verkäufer angegeben wurden.

Normalerweise wird Ihre Schätzung zuerst auf seltsam aussehende oder relativ große Objekte überprüft. Seien Sie daher bereit, alles mit einem „nicht standardmäßigen“ Namen zu verteidigen. Teilen Sie auch größere Aufgaben so auf, dass alle Aufgaben dieselbe Größenordnung haben, dh wenn die meisten Aufgaben 2 Tage dauern und eine einzelne Aufgabe 10 Tage dauert, können Sie sich auf die Übung vorbereiten.

Machen Sie sich klar, was in jeder Aufgabe enthalten ist, und teilen Sie Entwickler- und Komponententests am besten auf, anstatt nur Entwickler zu haben und davon auszugehen, dass auch Dokumentation enthalten ist. Offensichtlich müssen Sie auf diese Weise eine ziemlich feinkörnige Schätzung erstellen.

Als nächstes kommt das Bohren. Da es ziemlich schwierig ist, eine lange Arbeitsunterbrechung zu überprüfen, wird Ihr Kunde oder Chef wahrscheinlich eine andere Strategie verfolgen: Konzentrieren Sie sich auf einen zufälligen Teil, von dem er etwas weiß, und führen Sie einen Drilldown durch, bis er die gesamte Schätzung diskreditiert oder mit Ihrer zufrieden ist Antworten. Die Glaubwürdigkeit der gesamten Schätzung kann von einer zufälligen Stichprobe abhängen! Daher brauchen Sie wieder Zeit, um es sorgfältig vorzubereiten, nur relevante Teile einzubeziehen, Extras auszuschließen oder sie in einen Bereich zu verschieben, in dem Sie sich wohlfühlen und überlegen, wie Sie die Figuren verteidigen wollen.

Natürlich können Sie entweder konsequent vorgehen, dh anhand von Merkmalen, Anzahl der Bildschirme usw. schätzen, oder Sie haben einen Mix von Vorgehensweisen, aber Sie sollten auf jeden Fall bereit sein, zu verteidigen, warum Sie eine bestimmte Art der Schätzung gewählt haben. Erklären Sie auch, warum sich Ihre Zahlen von denen unterscheiden, bei denen andere versuchen, den Arbeitsaufwand vorherzusagen.

Erfahren Sie die offensichtlichen Anzeichen für schwache Schätzungen:

  • Gefüllt mit allgemeinen Standardaufgaben, kopiert aus der Vorlage (gute Schätzungen sind auf die jeweilige Aufgabe zugeschnitten).

  • Grobkörnige Schätzungen (dh Aufgaben, die länger als einige Tage dauern).

  • Schätzungen, die in einem frühen Stadium eines Projekts oder von jemandem erstellt wurden, der möglicherweise nicht über die tatsächlichen Anforderungen oder die damit verbundenen Arbeiten informiert ist.

  • Schätzungen wurden von anderen Personen als den tatsächlichen Handelnden erstellt

  • Unklare Schätzungen (nicht klar, was eingeschlossen und, ebenso wichtig, ausgeschlossen ist).

  • Erheblicher Unterschied in der Größenordnung der Aufgaben.

Üben Sie sich darin, Einschätzungen anderer Personen auszuwerten und die Zahlen ohne tatsächliche Kenntnis der Implementierungsdetails zu bohren. Auf diese Weise können Sie Ihre Forderung für einige Zeit absichern, wenn Sie aufgefordert werden, die Schätzung einer anderen Person zu bestätigen, wenn Sie keine stichhaltigen Beweise haben.

Zusammenfassen:

  • Machen Sie diesbezüglich keine schrecklichen oder Schätzungen, bevor Sie nicht die Gelegenheit hatten, die erforderliche Sorgfalt walten zu lassen.

  • Machen Sie es gleich zu Beginn klar, lassen Sie niemanden davon ausgehen, dass es anders ist, und interpretieren Sie Ihr Schweigen als Zeichen der Übereinstimmung.

  • Wissen, wie verschiedene Schätzmethoden funktionieren, ihre praktische Anwendung und ihre Vorzüge, einschließlich dieser außerhalb der Softwareentwicklung.

  • Seien Sie bereit, Ihre Schätzung zu verteidigen.

  • Erfahren Sie, wie Sie Schätzungen anderer Personen auswerten, damit Sie sich nicht auf äußerst ungenaue Zahlen festlegen müssen.

Vlad Gudim
quelle
Vorschlag: Guter Stil (zumindest beim Zeitungsschreiben ;-) ist es, zuerst die Zusammenfassung und dann das unterstützende Detail / den Hintergrund aufzunehmen.
Dies ist eine gute Antwort und sehr hilfreich. Eine der besten Antworten auf SO.
Alex Angas
27

Es ist unmöglich, die Zukunft vorherzusagen. Das Erfordernis einer Vorhersage ("Schätzung") fordert einfach Ärger. Jeder tut es und jeder versteht es falsch.

Ihre Einschätzung von "out by 500%" ist wahrscheinlich genauso falsch wie die Schätzung des Architekten. Immerhin "... bis jetzt ist das Projekt noch nicht abgeschlossen ..." Hier gibt es keine Fakten.

Niemand kennt die "richtige" Antwort. Und bis es fertig ist, wird niemand wissen.

Und selbst wenn dies erledigt ist, korreliert die "ursprüngliche" Schätzung (mit oder ohne Änderungskontrolle) möglicherweise nicht mit dem tatsächlich Erreichten.

Schätzen ist eine Falle - es ist ein manipuliertes Spiel. Sie können nicht gewinnen, Sie können nicht gleich werden und Sie können nicht einmal aus dem Spiel aussteigen.


Bearbeiten

Umgang mit schlechten Schätzungen; Eine "Legacy" -Schätzung, die falsch erscheint .

Da ist es. Sie stimmen nicht mit den Schätzungen anderer überein. Entweder ließen sie etwas aus, was Sie für notwendig halten; Sie hatten einen anderen Arbeitsumfang als Sie oder eine andere Produktivitätsrate. Wenn die Schätzung mehr als nur Aufwand ist, haben sie eine andere Kostenbasis. All das ist umstritten. So bestreiten Sie die Details, die zur Schätzung führen. Bestreiten Sie nicht die Gesamtzahl - es gibt keine wirklichen Informationen in einer Zusammenfassung. Streit um einzelne Details, die die Schätzung stützen. Finden Sie heraus, was sie dachten.

Es ist genauso wahrscheinlich, dass Ihre Annahmen ebenso falsch sind wie ihre Annahmen. Ebenso wahrscheinlich.

Wenn Sie gefragt werden, um zu schätzen .

  1. Du wirst falsch liegen.

    1. Sie lügen über den Umfang der Arbeit.

    2. Sie kennen die Produktivität des Teams nicht.

    3. Welche neue Technologie auch immer involviert ist, wurde falsch dargestellt.

  2. Sie können nicht einfach Polster einwerfen, um diese Dinge zufällig abzudecken. Sie wissen es eigentlich nicht und haben keine Grundlage für "Schätzung". Es wird nur geraten. Komm darüber hinweg.

Regel 1: Da Sie nur raten, raten Sie in kleinen Schritten.

Die grundlegende Frage bei jeder "Einschätzung" der Situation ist nicht die Vorhersage der Zukunft. Über einen Zeitraum von mehr als ein oder zwei Wochen kann man das nicht genau machen. Beschränken Sie Ihre Vorhersagen auf einen Zeithorizont, über den Sie direkt und unmittelbar detaillierte Kenntnisse haben. Zum Beispiel die nächste Version.

Die grundsätzliche Frage ist - in der Regel - die Entscheidungsfindung Ihrer Einkäufer oder Kunden. Die Frage ist nicht "Was kostet der Wille?" - das ist unvollständig. Die Frage ist: "Lohnt sich die Investition?" Die eigentliche Frage lautet eher "Wie hoch ist das Kosten-Nutzen-Verhältnis?" Und "Wann sollten wir die Ausgaben einstellen, weil mehr Investitionen keine höhere Rendite bringen?". Das sind die wirklichen Fragen.

Regel 2: Unterstützen Sie den Entscheider mit Sachinformationen.

Die meisten Leute werden am besten durch einen agilen Ansatz bedient. Die erste Veröffentlichung - in einem Monat - wird 5 Personen × 4 Wochen dauern und Feature X liefern, das die Verluste von 1 Mio. USD / Tag behebt, und Feature Y, das die fehlenden Gelegenheiten von 200.000 USD / Woche behebt. Sie wissen genau, was Sie tun. Diese Vorhersage ist also sinnvoll. Die Veröffentlichung danach ist ein wenig verschwommen.

Die Veröffentlichung in einem Jahr ist so weit in der Zukunft, dass jede Vorhersage nur in einer Zufallszahl erfolgen kann. Schwitzen Sie in Zukunft nicht länger als 6 Monate an den Details, sondern verwenden Sie nur einfache Faustregeln.

Wenn sie fragen, wie hoch die Gesamtbetriebskosten sind, müssen Sie ehrlich sein. "Die Gesamtkosten entstehen, wenn Sie aufhören, für die Entwicklung zu zahlen. Bis Sie aufhören, zu zahlen, entstehen Ihnen immer Kosten."

Die eigentliche Frage lautet: "Welche Probleme versuchen Sie zu beheben?" oder "Welche neue Chance verfolgst du?" und "was ist das wert?"

Regel 3: Machen Sie die Software kostengünstiger als das Problem, das sie lösen soll.

Wenn Sie das Problem nicht genau kennen, wird die Schätzung der Wahrnehmung angepasst. Versuchen Sie dies zu vermeiden.


Zur Wahrscheinlichkeit . Abgesehen von schwächenden Krankheiten oder Unfällen wird kein Teil der Softwareentwicklung von tatsächlichen Wahrscheinlichkeiten bestimmt. Die "Risiken" sind einfach schlechtes Management. Im Allgemeinen in der Form "Wir haben die Komplexität von Geschäftsbedarf A oder Technologie B nicht berücksichtigt". Häufiger von der Form "als wir mehr über das Problem oder die Technologie erfuhren, änderten wir den Zeitplan", was als "Scope Creep" bestraft wird.

Es ist unwahrscheinlich, dass etwas gelernt und der Umfang geändert wird. Das ist eine Gewissheit.

Zur Planung . Es gibt "Planung" und "Schätzung". Zu planen, was gebaut werden soll, ist eine Sache, die am besten als Checkliste oder Abhängigkeitsgraph dargestellt wird. Die "Schätzung" des erforderlichen Aufwands basiert auf nicht bekannten Faktoren.

"Planung" ist gewöhnliches gutes Management.

"Schätzen" erfordert unbekanntes Wissen. Um den Aufwand genau einschätzen zu können, müssen Sie einen Einblick in das Produkt im Quellcode haben und wissen, welche Person diesen Quellcode eingeben wird und welche Fehler diese Person machen wird. Da Sie das nicht wissen können, muss jede Schätzung falsch sein. Und oft falsch den Punkt der Irreführung und damit unbrauchbar.

Welchen Wert hat eine Schätzung, wenn die Schätzung um 500% verfehlt wurde und das Projekt noch voranschreitet?

Keiner. Alles was es tat, war die Menschen unglücklich zu machen. Das Projekt ging aber trotzdem voran.

Da niemand die Zukunft sehen kann, bedeutet es nichts , eine Schätzung richtig zu machen . Machen Sie es nützlich, helfen Sie Menschen, Entscheidungen zu treffen.


Halte den Horizont kurz. Liefern Sie Wert so schnell wie möglich. Erstellen Sie einen Plan, der es dem Kunden ermöglicht, das Projekt jederzeit abzubrechen und dennoch einen Wert zu haben.

Lassen Sie den Plan nicht zur einzigen "heiligen Wahrheit" im Projekt werden. Die zu liefernde Funktionalität ist heilig. Alles andere sollte sich ändern, wenn sich die Ergebnisse ändern.

Lassen Sie den Plan nicht über den Wert hinausgehen, den er schafft.

S.Lott
quelle
Diese 500% sind vom Beginn des Projekts bis zu dieser Woche. Es ist korrekt, es sei denn, das Projekt wird noch einige Monate fortgesetzt. In diesem Fall sind 1000% möglicherweise genauer;)
1
In beiden Fällen ist "mindestens 500%" immer noch genau!
Jon Skeet
1
@Ash: Hier ist, was ich sage: Hör auf, dir darüber Sorgen zu machen. Das Projekt ging mit schlechten Schätzungen voran, weil Schätzungen NICHT ZÄHLEN. Alle Schätzungen sind schrecklich. Sie lagen falsch. Ihre 500% sind immer noch eine Unterschätzung, deshalb irren Sie sich. Jeder ist falsch. Es ist ein Spiel, das Sie nicht gewinnen können.
S.Lott
1
@Totophil: Schätzung ist nicht erforderlich. Es ist nur erwünscht und nur in einigen Kreisen. Diese Frage ist der Beweis dafür, dass Projekte mit unnötig falschen Schätzungen voranschreiten. Wenn die Schätzung NICHT ausschlaggebend für das Projekt war, welchen Wert hatte sie?
S.Lott
1
@Ash: In diesem Fall ignorierte der "Rest der Welt" die Schätzung und fuhr trotzdem fort. Der Sachverhalt zeigt, dass die Schätzung keine Rolle spielte. Die Gesundheit eines Menschen sollte NICHT auf dem Spiel stehen - Schätzungen sind ein dummes Spiel. Früher war ich angewidert, jetzt versuche ich mich zu amüsieren.
S.Lott
20

Wenn nicht genug Zeit ist, ist nicht genug Zeit. Es gibt sowieso keine magische Lösung, um das Projekt zu beenden. Meiner Meinung nach haben Sie getan, was Sie sagen könnten. Es stellte sich heraus, dass sie es auf die harte Tour herausfinden mussten. So geht es normalerweise. Hoffentlich haben der Architekt und das Management aus ihren Fehlern gelernt und tun es nicht noch einmal. Wenn dies normal ist und das Management zu ignorant ist, um auf Ihre Argumente zu hören und geeignete Maßnahmen zu ergreifen, ist es möglicherweise eine gute Idee, nach anderen Projekten oder einem anderen Unternehmen zu suchen.

"Entwickler sind Handwerker, und das Schlimmste, was Sie einem Handwerker antun können, ist, ihn ein beschissenes Produkt liefern zu lassen." Berühmtes Zitat von irgendwoher, aber ich kann mich nicht erinnern, woher.

TomHastjarjanto
quelle
Ja, ich denke, das Management war etwas überrascht, als ich zu ihnen kam und die Realität der Situation erklärte (ich hatte Metriken und Beweise, um dies zu belegen). Dennoch denke ich, dass es einige Vorteile für "das nächste Mal" haben wird.
Ich stimme zu, wenn Sie die Realität erklären, werden sie Sie für die nächsten Projekte erinnern und Ihre Kommentare
schätzen
Nettes Zitat! Ich fand diesen Artikel softwarebyrob.com/2006/10/31/… das ist wahrscheinlich die Quelle.
Bill Karwin
6

Ehrlichkeit sollte immer geehrt werden. Ich befand mich am Ende einer "Architektenvision", und als der Entwickler zu mir kam, gingen wir zu den Geschäftsbereichen und führten ein schreckliches Gespräch. Der Entwickler legte dann eine neue Schätzung vor, die 80% der Funktionalität umfasste, die er jedoch pünktlich und im Rahmen des Budgets lieferte.

Die Geschäftseinheiten waren von der Tatsache überzeugt, dass der Entwickler ehrlich mit ihnen sprach, die Unzulänglichkeiten seines Unternehmens anerkannte und wie ein Hund arbeitete, um zu liefern. Wir haben diesen Typen in den letzten 7 Jahren für uns arbeiten lassen, weil er immer ehrlich war.

Das gesamte Szenario ist so selten - in den meisten Fällen glauben die Geschäftsbereiche, Sie seien ein Idiot, weil Sie nicht liefern können. Sie müssen diejenigen Kunden ausfindig machen, die nicht auf diese Weise operieren, da Sie langfristig mehr mit ihnen verdienen, als Sie versuchen würden, den Cretins zu gefallen, die Sie nur wie einen Idioten behandeln wollen.

Vermeiden Sie Architekten, die ihr Gebiet nicht kennen, wie die Pest. Ich hatte einen Mentor, der mich auf eine harte Art und Weise unterstützte - "Das. Ist nicht. Denn. Übe!" Er würde Fehler nur tolerieren, wenn Sie sie frühzeitig machten, korrigierten und nie wieder machten. Unternehmen, die es nicht-technischen, unerfahrenen Personen ermöglichen, Positionen bei Kunden einzunehmen, weil sie "kommunizieren" können, verdienen es, aus dem Geschäft auszusteigen.

David Robbins
quelle
5

Ich war einmal mit dieser Situation konfrontiert. Ein Projekt lief außerhalb des Zeitplans, da das Unternehmen die Anforderungen änderte und Kommunikationslücken aufwies und die Geschäftsleitung das Projekt pünktlich zum Projekt haben wollte. Um es noch schlimmer zu machen, wurde ein Typ, der an diesem Projekt arbeitete, herausgezogen, um eine weitere Lücke zu füllen, die mehr Priorität hatte.

Mein Team verbrachte Nächte, um das Projekt abzuschließen. Eines Nachts gegen 3:00 Uhr morgens (ich arbeitete gerade 19 Stunden) habe ich meinen Managern eine E-Mail geschickt, um etwas dagegen zu unternehmen.

Am nächsten Tag hatten wir ein Treffen (nur die Entwickler). Das gesamte Team war an einem Wochenende angereist und hat das Projekt getestet, noch bevor es abgeschlossen war. Nur wenige andere haben sich dem Team angeschlossen, um schnelle Fehler zu beheben. Endlich konnten wir das Projekt mit der Anstrengung des gesamten Teams (nicht nur des Projektteams) durchführen. Wir haben den gleichen Prozess für andere Projekte verfolgt.

Das gesamte Team (auch wenn es nicht an dem Projekt beteiligt ist) hat die Anwendung getestet und bei der schnellen Fehlerbehebung geholfen.

Hinweis: Mein Team besteht aus ungefähr 25 Personen, in denen wiederum Unterteams an verschiedenen Projekten gearbeitet haben.

Mein einziger Rat wäre: "Sprich mit dem Manager. Sag ihnen, dass das Projekt nicht pünktlich geliefert werden kann. Gib ihnen auch eine Alternative. Manager erwarten immer, dass das Baby pünktlich geliefert wird, egal was passiert :)"

Shoban
quelle
5

Während Unternehmen die Tatsache, dass die Dinge viel länger dauern als erwartet, oft nicht mögen, ziehen sie es vor, noch weniger aneinandergereiht zu sein. Je früher Sie jemandem mitteilen, wie lange es wirklich dauern wird, desto schneller kann jeder die Umstände einplanen. Während dies zunächst eine schwierige Zeit sein kann, wird es auf lange Sicht einfacher sein. Machen Sie es einfach beim zweiten Mal richtig und bauen Sie die Kontingenz ein.

Meilen D
quelle
4

Lassen Sie mich einen wichtigen Punkt im Umgang mit Ihrem Management hervorheben: Manager schätzen Lösungen.

Wenn Sie sich mit einem Problem an Ihr Management wenden müssen (z. B. ist die Schätzung äußerst unrealistisch), arbeiten Sie im Voraus intensiv daran, Alternativen zur Behebung der Situation anzugeben. Sie könnten beispielsweise eine Pareto-Analyse (die 80/20-Regel) durchführen, um den Wert des Systems zu verstehen. Sie könnten einen priorisierten Fall für das Ausschneiden von Features (zumindest ab einer ersten Version) erstellen, um sich auf diejenigen mit maximalem Geschäftswert zu konzentrieren. Sie könnten nach Alternativen suchen (Open Source-Projekte usw.), die einen angemessenen Ersatz für benutzerdefinierte Teile des Systems usw. darstellen.

Es ist keine Frage, dass ein Fünf-Pfund-Sack nicht fünfundzwanzig Pfund Sand fasst, aber ein Teil der Unterstützung Ihres Managements bei der Absorption Ihrer unangenehmen Botschaft ist der Nachweis, dass Sie ein verlobter Verbündeter sind.

joel.neely
quelle
Das kommt dem sehr nahe, was ich tatsächlich getan habe. Ich habe immer wieder versucht, in Gesprächen mit dem Management die Sichtweise des Kunden zu berücksichtigen, um sicherzustellen, dass er weiß, warum ich dies als solches Problem sehe. Es ist gut, es validieren zu lassen, danke.
3

Sie könnten an diesem IEEE-Artikel interessiert sein , über den ich zuvor gebloggt habe . Hier sind die Highlights.

  • Einer der größten Gründe für das Scheitern eines Projekts sind zu optimistische Schätzungen.
  • Ein wichtiger Grund, warum Schätzungen zu niedrig sind, ist zu viel Druck von oben, um früh zu liefern.
  • Das andere Problem ist das Kriechen des Anwendungsbereichs während der Implementierung ohne erneute Überprüfung der Schätzungen.
Glenn
quelle
3

Zuerst würde ich informell mit dem betreffenden Architekten sprechen und eine Liste Ihrer Probleme mit seiner Schätzung durchgehen und versuchen, ihn davon zu überzeugen, wo die Probleme liegen und wie viel Zeit sie in Anspruch nehmen würden, um sie zu lösen.

Dann würde ich versuchen, zu Ihrem Vorgesetzten / Projektleiter zu gehen und mit ihm / ihnen darüber zu sprechen.

Am Ende des Tages gab der Architekt ESTIMATES an, so dass sie Änderungen unterliegen, und manchmal in großen Mengen, solange sie darauf aufmerksam gemacht werden, damit sie alternative Pläne machen können, z. B. die Einführung eines Produkts in Phasen, reduziert seine Funktionalität oder andere Mittel.

Letztendlich liegt es nicht mehr in Ihrer Verantwortung, wenn Sie die oben genannten Schritte ausgeführt haben.

Sie sollten sich auf keinen Fall direkt an den Kunden oder den Chef des Architekten wenden, da dies nur negative Gefühle hervorruft und Sie fast immer einen Teil der Schuld tragen.

Bravax
quelle
Ja, aber eine einzige Schätzung sollte immer mit einer Worst / Best-Case-Zahl erfolgen. Wenn er das Beste gesagt hätte: 5 Wochen, das Schlimmste: 4 Monate, hätte ich nichts zu beanstanden. Die Tatsache, dass sein Worst-Case (der wichtige Teil) tatsächlich zu 500% ausfiel, ist besorgniserregend.
Sicher ist es beunruhigend, aber er könnte unter Druck gesetzt worden sein, eine Nummer zu geben. (Einige Projektmanager bestehen darauf.) Der Umfang des Projekts könnte sich geändert haben, oder eine Reihe anderer Dinge. Oder wie Sie sagen, er hat möglicherweise eine schlechte Schätzung abgegeben. Egal, es hat keinen Sinn, Brücken zu verbrennen.
Bravax
1
Es gab definitiv Druck, aber als Architekt ist dies Teil des Jobs.
2

Das Beste, was Sie tun können, ist, aus Ihren (in diesem Fall nicht Ihren persönlichen) schlechten Schätzungen zu lernen. Eine Sache, die Sie lernen sollten, ist, niemals zuzulassen, dass jemand anderes als die Person, die die Ideen umsetzt, schätzt, wie lange es dauern wird. Die Geschwindigkeiten von Programmierern können um eine Größenordnung variieren, sodass eine Schätzung für eine andere Person so gut wie unmöglich ist.

unwesen
quelle
2

In der Vergangenheit musste ich mich mit Projektmanagern auseinandersetzen, die ihre Schätzungen senkten, um eine Zahl zu erreichen, die die Verkaufsabteilung für den Kunden erwartete. Der Manager war der Meinung, dass es besser sei, um Verzeihung zu bitten, als um Erlaubnis zu bitten.

Aus diesem Grund haben Entwickler gelernt, ihre Schätzungen zu protokollieren, weil sie wissen, dass sie von ihren Managern gekürzt werden. Wenn Sie also die Schätzung verdoppeln und 30% hinzufügen, haben Sie eine gute Chance, einen vernünftigen Zeitplan zu erhalten.

Kunden wollen es immer billiger und wenn Sie mit einer vernünftigen Schätzung zu ihnen kommen, werden sie sich dagegen wehren und verlangen, dass Sie die Kosten senken oder dass sie gehen. Aber wenn Sie zu hoch gehen, werden sie einfach ohne Diskussion gehen ("Wir werden darüber nachdenken und uns bei Ihnen melden").

Es ist ein Spiel der gemanagten Erwartungen.

Erik Funkenbusch
quelle
Hallo Teufelskreis. Wenn Sie "Wir brauchen 6 Monate" sagen und zum zweiten Mal immer noch auf 3 abschließen, wird der Smart PM Ihre Schätzungen halbieren.
jmucchiello
2

Das Problem war nicht, dass die ursprünglichen Schätzungen nicht zutrafen - das Management hat Ihnen nicht geglaubt.

Der beste Weg, das Management zu einer Entscheidung zu bewegen, ist:

  1. Beschreiben Sie das Problem mit Beweisen, um es zu sichern. und
  2. Geben Sie mehrere Lösungen zur Auswahl an (in der Reihenfolge von am wenigsten bevorzugt bis am meisten bevorzugt).

Für (1) das Implementieren von Scrum und das Verfolgen von Ist-Werten anhand der zwielichtigen Schätzungen ist eine gute Grundlage für Ihre Ansprüche.

Für (2) wäre eine meiner Optionen "Entwickeln einer priorisierten Featureliste mit dem Client (auch bekannt als Product Backlog in Scrum-Begriffen)". Dies wäre in Festpreis- oder hoch bürokratischen Organisationen schwierig, aber es ist möglich .

Ich hoffe, das hilft!

Fuzzy Purple Monkey
quelle
2

Ich (da bin ich mir sicher, dass fast jeder, der codiert) einfühlt. Mein letztes Unternehmen war in dieser Hinsicht ziemlich schrecklich - die Verkäufer gingen hin und verkauften ein Projekt, und dann kamen Sie herein, sahen sich die Schätzungen an und lachten nur.

Wie Tomh schon sagte - ein Tag hat nur so viel Zeit. Auch wenn du nicht schläfst.

Drei Dinge, denke ich.

Die meiste Zeit muss man nur die Erwartungen des Kunden verwalten und transparent sein . Seien Sie ehrlich mit dem, was Sie tun können und zeigen Sie, was Sie getan haben - und das alles. Dies gilt insbesondere dann, wenn Sie Anforderungen übergeben haben, die viel zu grob aufgeschlüsselt sind (wie Totophil sagte). Wenn sie den Arbeitsaufwand sehen können, den Sie zu erledigen hatten, können sie sehen, wie schlecht die Schätzung war. Wenn sie Produktivität und Fortschritt sehen, ist das meiner Erfahrung nach wichtiger als alles andere.

Ich denke, neben dem Verwalten von Erwartungen und der Transparenz Ihrer Arbeitslast ist das Scope-Management das andere große Thema . Es gibt einen großen Bereich zwischen anal / anstößig zu sein, ein Scope-Nazi zu sein und das eigene Schwanzende abzudecken. Wenn jemand dieses zusätzliche Feature oder diese zusätzliche Funktionalität möchte, stimmen Sie dem zu! Und geben Sie ihnen dann eine relativ genaue Schätzung darüber, wie viel Zeit für das Projekt (oder die nächste Veröffentlichung) aufgewendet werden soll. Das Beste daran ist, dass Sie sich nicht nur auf eine weitere Woche von 80 Stunden beschränken, sondern möglicherweise auch einen Block in dieser Schätzung haben mit dem anderen aufholen.

Viel Glück!

Brian Welch
quelle
Sie wollen aggressive Verkäufer, denn unaggressive sind nutzlos. Das Management muss sich auf das beschränken, was es versprechen kann. Früher habe ich für ein Unternehmen gearbeitet, das es versäumt hat, Versprechen für Maßarbeit einzuhalten, und dort besteht ein Kausalzusammenhang.
David Thornley
1

Nimm niemals etwas auf, ohne es zu sehen oder zu verstehen. Wenn der Kunde oder Ihre eigene Verwaltung nicht bereit ist, sich so viel zu leisten, sind Sie nicht auf Erfolgskurs.

Dies war (und ist oft) ein Missverständnis der Details, Daten und deren Interaktion in der gesamten erstellten Anwendung. Es werden Annahmen getroffen, anstatt Fragen zu stellen, Antworten zu finden und alles festzunageln.

Eine Sache, die ich meinen Kunden oft sage, ist, wenn Sie mich aufhängen wollen, lassen Sie mich wenigstens an meinem eigenen Seil aufhängen oder schießen Sie mit meiner eigenen Waffe und meinen eigenen Kugeln auf mich, nicht mit jemand anderem.

Eine Drehtür von Leuten zu haben, die versuchen, sie zu lösen, wird am Ende für sie weitaus schlimmer sein.

Die unrealistische, schlechte Planung und die mangelnde Weitsicht können Anzeichen eines organisationsweiten Problems sein. In diesem Fall sollten Sie sich besser daran gewöhnen oder weitermachen.

Jas Panesar
quelle
1

Betrachten Sie zunächst die Möglichkeit, dass Sie den Umfang des Projekts überschätzen. Verkäufer und Architekten neigen dazu, ihre Lösungen zu übertreiben. Nimm sie nicht zum Nennwert; Sie erwarten wahrscheinlich, dass Sie sich weniger einfallen lassen, als sie dem Kunden versprochen haben.

Was ich hier tun würde, ist, die Zeit, die ich habe, so weise wie möglich zu verwenden. Finden Sie die Prioritäten des Kunden heraus und setzen Sie diese um. Neun von zehn Fällen ist der Kunde froh, dass seine obersten Prioritäten erreicht wurden, und übersieht 80% der nicht geleisteten Arbeit.

Das Letzte, was Sie tun möchten, ist, Notfallbesprechungen einzuberufen und die Menschen des Bösen zu beschuldigen. Du sagst:

"Lass sie die Realität wissen"

aber die realität ist nur eine meinung! Entspannen Sie sich, erledigen Sie Ihre Arbeit und geben Sie Ihr politisches Kapital für Dinge aus, die Ihnen wichtig sind . Wie Beförderung, mehr Geld, mehr Ferien.

Ihr Chef, der eine Beförderung für Sie handelt, die wirklich hart am Kunden arbeitet, macht Sinn. Du gehst im Auftrag eines Kunden nicht drunter und drüber.

Andomar
quelle
Wollen Sie dem Kunden ernsthaft versprechen und dann davon ausgehen, dass wir die Flexibilität haben, mit weniger zu rechnen? Die Realität ist keine "Meinung", wenn Sie tatsächlich vergleichen konnten, wo laut Schätzung wir uns gegenübergestellt haben, was tatsächlich passiert ist.
1

Eine Sache, an die man sich erinnern sollte, ist, dass Schätzungen keine Ausdehnung des Umfangs oder unvermeidbare Verzögerungen enthalten (oder Probleme, die darauf beruhen, dass der Kunde Ihnen nicht mitteilt, dass sie eine Datei mit Informationen in einem bestimmten Format enthalten).

Wir haben gelernt, die Schätzung und / oder das Fälligkeitsdatum jedes Mal zu verschieben, wenn eines dieser Dinge passiert. Fügen Sie eine neue Funktion hinzu, erhalten Sie einen neuen Kostenvoranschlag und ein neues Fälligkeitsdatum. Wenn Sie die erforderlichen Informationen zum vereinbarten Datum nicht bereitstellen, erhalten Sie ein neues Fälligkeitsdatum. Geben Sie die Informationen an, aber machen Sie sie unvollständig oder falsch oder anders als versprochen, senden Sie eine neue Schätzung und ein neues Fälligkeitsdatum, ändern Sie die Anforderungen der vereinbarten Funktionen, holen Sie eine neue Schätzung und ein neues Fälligkeitsdatum ein. Beenden Sie die Arbeit an dem Projekt, weil der Kunde eine höhere Priorität gewünscht hat, und senden Sie ein neues Fälligkeitsdatum (und möglicherweise eine neue Schätzung, da bei längerem Anhalten des Projekts Nachholzeit erforderlich ist).

Wenn die ursprüngliche Schätzung von außerhalb der Entwicklungsgruppe stammt und diese nicht berücksichtigt wurde, dann erstellen Sie, wenn Sie sie erhalten, eine eigene Schätzung (auf einer detaillierten Ebene aller Aufgaben, von denen Sie glauben, dass sie eine weitaus höhere Ebene haben werden) Detail als die Schätzung, die Sie erhalten haben) und geben Sie sie sofort an und fragen Sie, was Sie ausschneiden sollten, um der Schätzung zu entsprechen, die Sie erhalten haben.

Wenn die Antwort nichts ist, bestehen Sie darauf, dass der Kunde über die neue Schätzung informiert wird, nachdem wir uns eingehender mit der Angelegenheit befasst haben. Wenn das Management darauf besteht, dass der Kunde nur X Stunden bezahlt, fragen Sie ihn, wer für den Rest der Entwicklungsstunden bezahlt, da die Ihnen beschriebene Arbeit nicht für weniger als Ihre Schätzung erledigt werden kann. Es könnte sich herausstellen, dass das Unternehmen bereit ist, den Treffer zu nehmen und die Stunden selbst zu bezahlen.

Wenn sie nicht bereit sind, aus ihrem Gewinn herauszuholen, und dem Kunden nicht mitteilen, dass sie mehr Stunden benötigen, und das Unternehmen die detaillierten Schätzungen der Entwicklungsmitarbeiter über den Umsatz nicht bestätigt, "was der Kunde unserer Meinung nach anstrebt Um die Projektschätzung zu gewinnen, befinden Sie sich in einem Todesmarschprojekt und Ihre beste Wette ist es, so schnell wie möglich auszusteigen. Sie können darauf hinweisen, dass der Kunde zufriedener ist, wenn er weiß, dass das Projekt so schnell wie möglich länger dauern wird, als wenn Sie die 50 Stunden, für die er zu zahlen bereit war, aufwenden und nicht annähernd mit den 500 Stunden fertig sind, die Sie wirklich benötigten. Erinnern Sie sie daran, dass allzu optimistische Schätzungen einer der größten Prädiktoren für das Scheitern eines Projekts sind. Es wird nicht mit diesen Arten von Unternehmen funktionieren, aber vielleicht wird es irgendwann einsinken, wenn Sie es genügend oft wiederholen.

HLGEM
quelle
Gute und praktische Ratschläge. Detaillierte Schritte und Alternativen sind immer besser als "einfach aufhören, sie sind böse". Eigentlich erinnerte mich die ganze Diskussion über Schätzungen an den guten alten steve-yegge.blogspot.com/2009/04/… , den Teil, der mit "Tag 1: (Führungskräfte)" beginnt.
0

Ich würde auch die Verfeinerung des Kostenvoranschlags berücksichtigen. Ich meine "wie ich es jetzt sehe, wird dieses Projekt X Mannstunden dauern". Nach 20-30% werde ich neu schätzen und so weiter.

Wie schätzt ein Dateidownloader schließlich? Es verfeinert es ständig.

Andrei Rînea
quelle
0

Ich denke, nicht genug Schätzer legen nicht genug Wert auf die Fakten von "Schätzung fordert von mir Mathe und Vermutungen, um die Zukunft auf nützliche Weise vorherzusagen" und "Die Verpflichtung, die wir eingehen, ist völlig unabhängig von der Mathematik, mit der wir uns beschäftigen Machen Sie eine Schätzung: Wir können uns darauf einigen, dumme Arbeit zu leisten, uns auf Dinge zu einigen, die wir wahrscheinlich nicht erledigen können, aber keine davon ändert wirklich die Mathematik der Lösung. "und" Wir können Entwicklungsmethoden entwickeln, die nicht riesig sind Eine Reihe von Funktionen A wird bis zum Datum B ausgeführt, wodurch ein Ausfall viel unwahrscheinlicher wird. "

Zu viele Schätzungen werden in der Verhandlungssprache formuliert. Sie müssen sich in der Sprache der Mathematik ausdrücken und über die Unsicherheiten der Mathematik sprechen .

Der Schätzer kann nichts tun, um die Realität dem Willen der Geschäftsleute zu widersprechen, mit denen er verhandelt. Seine einzige Aufgabe ist es, sie davon abzuhalten, es zu versuchen.

user17263
quelle