Einige Ratschläge von der dunklen Seite von jemandem, der es auf die harte Tour gelernt hat.
Die Anforderungen sind unklar. Niemand hat alle Auswirkungen eingehend analysiert.
Machen Sie zu diesem Zeitpunkt noch keine Schätzung. Man schätzt nicht, wie viele Soldaten benötigt werden, um eine Schlacht zu gewinnen, ohne die feindlichen Zahlen zu kennen. Die Schätzung erfolgt nach dem Scouting. Es sei denn, Sie haben diesen Feind bereits bekämpft.
Die neue Funktion wird wahrscheinlich einige Annahmen, die Sie in Ihrem Code getroffen haben, brechen und Sie werden sofort über alle Dinge nachdenken, die Sie möglicherweise umgestalten müssen.
Dies liegt in Ihrer Verantwortung zu berücksichtigen, es sei denn, Sie erwarten von anderen, dass sie das Fachwissen in diesem Bereich haben.
Sie haben aus früheren Aufträgen andere Aufgaben zu erledigen und müssen einen Kostenvoranschlag erstellen, der diese andere Arbeit berücksichtigt.
Das Gleiche gilt für unerwartete Arbeiten, die von einem Teamkollegen neben Ihnen mit einem nahezu nicht existierenden Testverfahren erstellt wurden, bei dem der Code fehlerhaft ist und der nicht im Voraus perfekt vorhergesagt werden kann. Es ist eine Wettervorhersage.
Die Definition von "erledigt" ist wahrscheinlich unklar: Wann wird es erledigt? "Fertig", wie gerade beim Codieren, oder "Fertig", wie bei "Die Benutzer verwenden es"?
Verstehen Sie die Benutzeranforderungen hier, denken Sie wie ein Benutzer. Tun Sie nicht das, was Ihre Kollegen tun, wenn sie einschätzen, dass etwas "erledigt" ist, nur weil einige grundlegende Funktionen mit einem Barebone-Workflow, die möglicherweise kein Benutzer tolerieren kann, ihrer Meinung nach "erledigt" sind . Denken Sie vom Standpunkt des Benutzers aus daran, denn das ist alles, was der Kunde, für den Sie eine Schätzung vornehmen, normalerweise versteht. Schätzen Sie in Bezug auf die vollständigen Benutzeranforderungen und nicht in Bezug auf die technischen Anforderungen des Barebones. Und stellen Sie fest, dass Ihre Kunden, die nach Schätzungen fragen, hier völlig ungenau sind, wie sie Dinge formulieren und die technischen Aspekte Ihrer Aussagen verstehen.
Egal wie bewusst Sie sich all dieser Dinge auch sind, manchmal lässt Sie der Stolz Ihres "Programmierers" kürzer geben / akzeptieren, als Sie ursprünglich angenommen hatten. Besonders wenn Sie den Druck von Fristen und Managementerwartungen spüren.
Mach das nicht! Sie klingen wie ein selbstmotivierter harter Arbeiter und möglicherweise einer, der leicht dem Zwang nachgibt.
Das Problem hierbei ist Folgendes: Nehmen wir an, Sie und Joe haben Zeitschätzungen für dieselbe Aufgabe vorgenommen (jedoch zwischen zwei verschiedenen Mitarbeitern, die beide Schätzungen nicht gleichzeitig kennen). Sie schätzen tapfer, "eine Woche" . Du denkst, du arbeitest mehr als 100 Stunden pro Woche, unbezahlte Überstunden. Jetzt bist du drei Tage zu spät.
Inzwischen schätzt Joe 5 Monate. Du denkst, das ist lächerlich, du denkst, du kannst das in einer Woche schaffen. Wie viel arbeitet Joe? 10 Stunden pro Woche? ... außer dass er pünktlich in genau 5 Monaten fertig ist.
Ratet mal, wer als der Esel wahrgenommen wird? Das stimmt, du. Joe scheint ein großartiger Arbeiter zu sein, Sie scheinen jetzt unzuverlässig zu sein. Es ist nicht so wichtig, dass Sie in ~ 7% der von Joe in Anspruch genommenen Zeit ein noch besseres Ergebnis erzielt haben. Was zählt ist, dass Sie 3 Tage von einer Woche Schätzung entfernt waren.
Nie auf der Seite der engeren Schätzung irren. Err auf der Seite der lockereren Schätzung. In Ihrem Unternehmen muss ein guter Ruf aufgebaut werden, der nicht so sehr auf der Länge Ihrer Schätzungen basiert wie auf der Genauigkeit Ihrer Schätzungen. Bei einer zu langen Schätzung ist es einfach, genau zu sein. Sie haben einfach mehr Zeit, um an dem Problem zu arbeiten und es besser zu lösen. Eine Schätzung, die zu kurz ist, lässt überhaupt keinen Raum zum Atmen. Entweder treffen Sie sie verzweifelt oder Sie sind durchgedreht.