Frage

ich meine Namen aus einem Programmierprojekt Sie getan haben und wie lange es dauerte, bitte. Der Chef hat nie beschwert, aber ich fühle mich manchmal wie die Dinge zu lange dauern. Aber dies könnte sein, weil ich auch ungeduldig bin. Lassen Sie uns wissen, Ihre Erfahrungen zum Vergleich.

Ich habe auch bemerkt, dass die Dinge scheinen immer länger dauern, manchmal viel länger, als ursprünglich geplant. Ich weiß nicht, warum wir nicht anfangen, für sie planen, aber dann denke ich, dass es vielleicht für motivierende Zwecke ist.

Ryan

War es hilfreich?

Lösung

Es ist am besten, um sich einfach an der Zeit, Ihre Schätzungen zu erfassen und die durchschnittliche prozentuale bestimmen Sie weg sind. Da, solange Sie konsistent sind, können Sie entsprechend tatsächlichen Zeiten basierend auf abschätzen kann, wenn man glaubte, Sie würden get it done. Es ist einfach nicht, um zu bestimmen, wie schlecht Sie schätzen sind, sondern berücksichtigen die Ordnungsmäßigkeit der unvermeidlichen Ablenkungen (sowohl persönlich als auch Chef / Client-basiert).

Dies basiert auf Joel Spolsky Evidence Based Scheduling , wesentlich Lesen, als er, dass der primäre andere wichtige Aspekt erklärt bricht Ihre Aufgaben nach unten in mundgerechte (16-Stunden-max) Aufgaben, die Schätzung und das Hinzufügen dieser zusammen an Ihrem letzten Projekt insgesamt zu erreichen.

Andere Tipps

Gut-basierten Schätzungen mit der Erfahrung kommen, aber sie wirklich zum Detail müssen die Aufgaben sinnvoll, um etwas beteiligt.

Wenn Sie eine spec haben oder zumindest einige Einschränkungen, können Sie beginnen, Erstellen von Aufgaben (Design Benutzer Seite, Design Tags Seite, implementieren Benutzer Seite, implementieren Tags Seite, schreiben Tags Abfrage, ...).

Sobald Sie dies tun, fügen Sie es auf und verdoppeln. Wenn Sie mit anderen haben zu koordinieren werden, verdreifachen.

Ihre tatsächliche Zeit im Detail Nehmen Sie, wie Sie gehen, so können Sie beurteilen, wie genau Sie waren, wenn das Projekt abgeschlossen ist, und verbessern Sie Ihre Fähigkeiten schätzen.

ich mit den vorherigen Plakaten völlig einverstanden ... nicht auch Ihr Team Workload vergessen. Nur weil Sie ein Projekt schätzungsweise 3 Monate in Anspruch nehmen würde, es bedeutet nicht, es irgendwo in der Nähe getan würde.

Ich arbeite in einem kleineren Team (5 Devs, 1-Führung), viele von uns zu einer Zeit an mehreren Projekten arbeiten - einige große, einige kleine. Je nach Priorität des Projektes, die Launen des Managements und die Verfügbarkeit von anderen Teams (falls erforderlich), die Arbeit an einem Projekt werden unter dem anderen durchsetzt.

Also, ja, 3 Monate im Wert von Arbeit tot sein können, aber es könnte 3 Monate im Wert von Arbeit über einen Zeitraum von 6 Monaten sein.

Ich habe Projekte getan zwischen 1 bis 6 Monaten meiner eigenen, und ich neige dazu, immer meine ursprünglichen Schätzungen zu verdoppeln oder quadrouple

.

Es ist praktisch unmöglich, zwei Programmierprojekte zu vergleichen, da es zu viele Faktoren, die dazu führen, dass die Metriken von nur nicht anwendbar sind auf eine anderen (zum Beispiel spezifischen Technologien verwendet, Vorerfahrungen des Entwicklers, Schaltanforderungen). Es sei denn, Sie ein anderes System Ausstanzen werden die fast identisch mit einer ist haben Sie gebaut zuvor, Ihre Schätzungen eine geringe Wahrscheinlichkeit, genau haben werden.

Ein Nachteil ist, wenn Sie die nächste Überarbeitung eines bestehenden Systems mit dem gleichen Team aufzubauen sind; die spezifische Erfahrung macht die Verbesserung der Fähigkeit gewann die nächste Charge von Arbeit zu schätzen.

Ich habe zu viele Versuche zur Schätzung Methodik gesehen, und keiner gearbeitet haben. Sie können einen pseudo-wissenschaftliche Reiz haben, aber sie funktionieren nur in der Praxis nicht.

Die einzige sinnvolle Antwort ist die relativ kurze Iteration, wie agile Befürworter vertreten: ein Arbeitsfeld wählen, die innerhalb kurzer Zeit ausgeführt werden kann, liefern sie, und dann für die nächste Runde gehen. Die Budgets werden dann auf einer kurzfristigen Basis zugeordnet, mit den Akteuren der Lage zu beurteilen, ob ihr Geld effektiv ausgegeben wird. Wenn es zu lange dauert, überall zu bekommen, können sie das Projekt Graben.

Hofstadter Gesetz:

‚Es dauert immer länger als erwartet, auch wenn Sie Hofstadter Gesetz Rechnung tragen.‘

Ich glaube, das liegt daran, dass:

  • Arbeit erweitert die zur Verfügung stehende Zeit zu tun, um ihn zu füllen. Egal, wie rücksichtslos Sie unnötige Funktionen schneiden, würden Sie war brutaler, wenn die Fristen waren noch enger.
  • Unerwartete Probleme während des Projekts auftreten.

Auf jeden Fall, es ist wirklich irreführend Anekdoten zu vergleichen, zum Teil, weil die Menschen selektive Erinnerungen. Wenn ich Ihnen sagen, es hat mir einmal 2 Stunden eine voll optimierte quicksort zu schreiben, dann vielleicht bin ich zu vergessen die Tatsache, dass ich wusste, dass ich diese Aufgabe eine Woche im Voraus haben würde, und hatte sich über Ideen nachgedacht. Vielleicht, dass ich vergessen, um ein Fehler in es war, dass ich noch zwei Stunden damit verbracht, eine Woche später zu befestigen.

Ich gehe an Sicherheit grenzender Wahrscheinlichkeit aus allen Nicht-Programmierarbeiten, die auf geht: Meetings, Architektur-Design, andere Beratung, das auf etwas steckt ich, admin passieren wissen. So ist es unfair, sich von einer Rate von Arbeit zu denken, die in Bezug auf die „sitzen Codierung“ plausibel erscheint, und erwarten, dass die ganze Zeit aufrechterhalten werden. Dies ist die Quelle einer Menge Gefühle nach der Tatsache, dass Sie „sollte schneller gewesen sein“.

ich Projekte von 2 Wochen bis 1 Jahr. Im Allgemeinen meine Schätzungen sind recht gut, a posteriori . Zu Beginn des Projektes, obwohl ich in der Regel heftig geschlagen bekommen, weil meine Schätzungen betrachtet werden zu groß.

Das ist, weil ich eine Menge Dinge betrachten, die Leute vergessen:

  • Zeit für Bugfixing
  • Zeit für Einsätze
  • Zeit für das Management / Treffen / Interaktion
  • Zeit zu ermöglichen Anforderung Besitzer ihre Meinung zu ändern
  • etc

Der Trick ist, Evidenz basierte Planung zu verwenden (siehe Joel on Software).

Die Sache ist, wenn Sie für ein wenig mehr Zeit planen, verwenden Sie die Code-Basis zu verbessern, wenn keine Probleme auftreten. Wenn Probleme auftreten, sind Sie noch in den Schätzungen.

Ich glaube, Joel einen Artikel zu diesem Thema geschrieben hat: Was Sie tun können, ist auf jeden Entwickler auf Team bitten, seine Aufgabe im Detail zu legen (was alle Schritte, die getan werden müssen) und sie bitten, Zeit benötigt, um abzuschätzen, für jeden Schritt. Später, als Projekt durchgeführt wird, vergleichen Sie die Echtzeit geschätzte Zeit, und Sie werden die Bias für jeden Entwickler bekommen. Wenn ein neues Projekt gestartet wird, sie bittet, die immer wieder zu bewerten und multiplizieren, dass jeder Entwickler mit Vorspannung die Werte in der Nähe zu bekommen, was wirklich erwartet.

Nach einigen Projekten, sollten Sie sehr gute Schätzungen haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top