Wie schätzt man Zeiten bei der Arbeit an einer neuen Technologie ein? [geschlossen]

7

Ich habe in den letzten Monaten an Flex gearbeitet und da dies das erste Mal war, dass ich Flex machen musste, unterschätzte ich die Projektaufgaben, was zu einer Verzögerung führte. Wie schätzt man die Projektzeit bei der Arbeit an einer neuen Technologie ein?

    
andHapp 05.12.2008, 12:21
quelle

12 Antworten

2

Ich empfehle auch, diesen Thread zu betrachten: Arbeitet jemand mit Funktionspunkten?

Funktionspunkte sind ein "Industriestandard" (was auch immer das bedeutet), um abzuschätzen, wie lange es dauert, etwas zu tun. Zum größten Teil versuchen sie herauszufinden, was das Programm macht, und DANN setzen Sie sie in einen Algorithmus wie diesen:

%Vor%

Der Thread, mit dem ich von oben verlinkt bin, spricht über Story Board Points, was in und zwischen sich eine interessante Unterhaltung ist. Ich würde beide Themen untersuchen, um herauszufinden, welche für Sie funktioniert.

Das Schöne an Funktionspunkten und Storyboardpunkten ist, dass sie einen Sprachmultiplikator haben. Die gleiche Art zu denken wird für alle Sprachen verwendet.

Wenn Sie eine neue Sprache lernen, wäre die Komplexität für Ihr spezifisches System höher.

    
Jeremiah 05.12.2008, 15:20
quelle
10

Sie können nicht.

Sie müssen es als Forschung betrachten, und Forschung kann nicht geschätzt werden.

    
Eduardo Molteni 05.12.2008 12:27
quelle
6

Ich würde mir eine bestimmte Zeit geben, um mit der neuen Technologie zu experimentieren und sie zu lernen, bevor ich versprach, etwas zu einem bestimmten Zeitpunkt zu liefern.

Machen Sie nach dieser ersten Zeit einige grobe Schätzungen und stellen Sie sicher, dass Ihre Vorgesetzten wissen, wie hart sie wirklich sind.

    
Nailer 05.12.2008 12:26
quelle
4

Benutze Hofstadters Gesetz:

  

Es dauert immer länger als du   erwarte, auch wenn du es nimmst   Konto Hofstadters Gesetz.

    
eehh 12.07.2009 08:57
quelle
3

Als ich an einem Projekt arbeitete, bei dem ein mittelgroßes Entwicklungsteam auf .Net umgestellt wurde, bestand die einzige Möglichkeit, eine vollständige Konvertierung abzuschätzen, darin, eine erste Forschungsphase zu ermöglichen. Dies ermöglichte es einigen Entwicklern, sich mit der Technologie vertraut zu machen und einen kleinen Teil der Funktionalität vollständig zu implementieren. Ich fand es sehr wichtig, dass der Teil des Systems, an dem gearbeitet wurde, zu einem Produktionsstandard vervollständigt wurde.

Etwas, das ebenfalls besprochen wurde, war die Einstellung eines Beraters, der mit der Technologie vertraut war. Dies wurde aus Kostengründen entschieden, aber ich denke, es wäre enorm hilfreich gewesen, jemanden zu haben, der Erfahrung mit .NET-Projekten hat, um uns in die richtige Richtung zu weisen.

Wenn Sie an einem Projekt dieser Art arbeiten, müssen Sie außerdem abschätzen, wie lange es dauern wird, bis andere Entwickler auf dem neuesten Stand sind. Offensichtlich wird dies weniger als die Zeit, die die Forschungsphase dauerte. Obwohl die Entwickler, die an dem Prototyp arbeiteten, bereit sein sollten, denjenigen zu helfen, die jetzt die neue Technologie aufgreifen.

Zusammenfassend:

  • Sie müssen sich Zeit nehmen, um die neue Technologie aufzunehmen, bevor Sie echte Schätzungen abgeben können.
  • Sie müssen Ihre Schätzungen auf Erfahrungen eines vollständigen Projekts mit einem Produktionsstandard stützen.
  • Haben Sie keine Angst, einen Auftragnehmer mit Erfahrung zu beauftragen, um Best Practices schnell zu lernen.
  • Vergessen Sie nicht, dass jeder diese Technologie lernen muss, bevor sie auf den Produktionscode losgelassen werden.
Jack Ryan 05.12.2008 12:37
quelle
1

Ich schätze in der Regel die Zeit, die ich mit dem Lernen verbracht habe und die Zeit, die ich mit der Implementierung verbracht habe. I.e. Ich schätze das Projekt so, als wüsste ich aufgrund meiner Ratlosigkeit, was ich mache, aber versuche dann abzuschätzen, wie lange es dauern könnte, bis ich die neue Technologie lerne.

    
Harald Scheirich 05.12.2008 13:22
quelle
1

Vor nicht allzu langer Zeit musste ich an einem Projekt in Flex arbeiten und hatte zuvor noch nie Flex (oder Flash) benutzt. Ich wurde auch gezwungen, eine bestimmte 3rd-Party-Bibliothek von Widgets in dieser Flex-Anwendung zu verwenden. Ich schätzte ein, wie lange ich dachte, dass es in einer vernünftigen Sprache wie Java sein würde, dann habe ich es etwa verdoppelt, um eine neue Sprache zu lernen. Das Problem war, Flex ist nicht vernünftig, es ist nicht dokumentiert, es gab eine Reihe von Bugs in der Standard-Bibliothek, und offensichtlich nahm unsere 3rd-Party-Bibliothek alle Design-Features der Standard-Bibliothek zu Herzen, weil es auch sehr war gebrochen. Wir hatten ein schlechtes Produkt mit der Hälfte der Features und über die zugewiesene Zeit. Glücklicherweise erlaubte es uns das Management, eine Weile weiter daran zu arbeiten (sie hatten die Anforderungen geändert, also schuldeten sie uns so viel) und wir haben es wirklich gut in Form gebracht. Es tut immer noch nicht alles, was wir wollten, aber wir haben uns in den meisten Bibliotheksfehlern herumgehackt, einschließlich der schlimmsten Performance-Probleme (nämlich, dass die Instanziierung einer UIComponent eine LANGE ZEIT erfordert, anstatt sie alle beim Start zu machen, wir tun es wie benötigt.Das hat nichts mit unserer dritten Partei lib) zu tun.

Kurz gesagt:

  • Schätzen Sie immer viel Spin-up-Zeit für das Erlernen eines neuen Systems. Über das Erlernen der Sprache hinaus müssen Sie die Eigenheiten lernen. Dies ist wahrscheinlich unmöglich zu schätzen
  • Vermeiden Sie Flex wenn möglich. Ich kann mir nicht vorstellen, dass gerade Flash besser ist, da sie einen großen Teil der Bibliothek teilen.
rmeador 05.12.2008 13:48
quelle
1

Meine Faustregel ist, die Zeit zu verdoppeln, von der Sie denken, dass sie dauern wird. Ich habe festgestellt, dass Sie immer auf einige unerwartete Probleme stoßen werden, deren Auflösung einige Zeit in Anspruch nehmen wird.

    
David Locke 08.12.2008 16:11
quelle
0

Ich schätze für Projekte einer bestimmten Größe, geben Sie sich Zeit, um einen einigermaßen einfachen, aber dennoch vollständigen und nicht trivialen Prototyp eines repräsentativen Teils Ihres Projekts zu erstellen. Dann haben Sie etwas Zeit, um mit der Technologie zu spielen, und Sie erhalten wertvolle Einsichten in Bezug auf die benötigte Zeit, um damit etwas zu schaffen.

    
Eyvind 05.12.2008 12:27
quelle
0

Wenn ich in der Vergangenheit mit einer neuen Technologie gearbeitet habe (d. h. wenn die neue Technologie für die Lieferung des Projekts eine zentrale Rolle gespielt hat), hatte ich gute Ergebnisse, wenn ich folgendes schätze:

%Vor%

... aber es versteht sich von selbst, das ist eine Faustregel und YMMV.

    
Galwegian 05.12.2008 12:48
quelle
0

Eine Sache, die Sie tun können - abgesehen davon, jemanden einzustellen oder nicht zu schätzen - ist, die relative Komplexität Ihrer Aufgaben abzuschätzen und dann die tatsächliche Implementierungszeit mit der Komplexitätsebene zu vergleichen. Im Laufe der Zeit wird das Verhältnis zu einem stabilen Wert konvergieren.

    
philant 05.12.2008 13:00
quelle
0

Jetzt treffe ich ein Problem wie Ihres. Nach dem Lesen dieser Kommentare hier, Ich denke, da gehört zu einer Ebene, die sich über neue Technologien klar machen will. Als erstes, nur in kurzer Zeit Forschung für neue Technologie als rohe (eine Skizze Figur) nach dem es bereits einen Zusammenbruch funktioniert, so jetzt nur priorisieren und tiefer in Auftrag geben.

Ich hoffe, das ist nützlich.

    
Tuan 12.07.2009 08:11
quelle