Frage

Es war mein freiberuflicher Job bei oDesk.Ich habe in der gegebenen Zeit mehrere Jobs früher gemacht, aber dies war das erste Mal, dass ich die Frist verpasst habe.Es war eine sehr langwierige Arbeit und ich habe mein Bestes gegeben, aber ich habe die Frist trotzdem verpasst.Jetzt habe ich große Angst.Denn es ist meine Schuld, dass ich die Frist verpasst habe.

Meine Frage ist: Ist dies ein großes Problem oder werden bei Programmierjobs häufig Termine verpasst, also sollte ich mir darüber keine allzu großen Sorgen machen?

War es hilfreich?

Lösung

Ja.Terminüberschreitungen sind in der Softwareentwicklung keine Seltenheit.

Viele Freiberufler halten Fristen ein, indem sie technische Schulden machen oder den Dreck unter den Teppich kehren.

Paraphrasierung Frederick Brooks' The Mythical Man Month:

Frederick Brooks, author of The Mythical Man Month

  • Fristen werden oft versäumt, weil Projektleiter Software-Aufgaben nach wie vor genauso einschätzen wie Tiefbau-Aufgaben. Dies ist ein fehlerhafter Ansatz, da Software eine neuartige Handwerksbranche ohne klare Normen ist.Dies ist so wahr, dass Sie die "Erlaubnis" eines Programmierers zum Programmieren wegen Fehlverhaltens nicht widerrufen oder jemanden ohne Titel wegen Programmierens verklagen können.

  • Softwareentwicklung hat eine inhärente Komplexität, die anderen Disziplinen fehlt.Ein großes Programm kann mehr Komponenten haben als ein Auto, und diese Komponenten können auf mehr und unterschiedliche Weise interagieren.

  • Software ist schwer zu visualisieren, daher werden verschiedene Arten von Diagrammen verwendet, um verschiedene Aspekte eines Projekts zu sehen, und diese Aspekte sind möglicherweise nicht orthogonal.Auf der anderen Seite verfügt das Bauingenieurwesen über Blaupausen, mit denen Sie Rohrleitungen, Kabel usw. in einem Diagramm (oder Schichten) orthogonal sehen können.

  • Es ist nicht üblich, dass der Kunde den Umfang des Projekts nach der Hälfte des Baus einer Brücke oder eines Gebäudes vollständig ändert.Dies ist bei Softwareprojekten häufig der Fall.

  • Der Stand der Technik in der Softwareentwicklung hat noch nicht den Punkt erreicht, an dem Softwareprojekte wiederholbar und nahezu risikofrei sind.Selbst die größten Softwareunternehmen wie Microsoft können Fristen um Monate oder Jahre versäumen.

  • Die meisten Vaporware sind nichts anderes als Softwareprojekte, die wegen dieser Art von Problemen geschnitten wurden.

Abschließend:

Durch Fehleinschätzungen und Unterschätzung der Komplexität aufgrund der handwerklichen Natur des Softwareentwicklungsprozesses bleibt dieser eine unausgereifte Disziplin.

Andere Tipps

Versäumte Fristen sollten keine gängige Praxis werden, wenn Sie weiterhin Jobs bekommen wollen.

Abgesehen davon möchten Sie sich normalerweise etwas zusätzlichen Spielraum bei Ihren Schätzungen lassen, falls etwas passiert (und das tut es immer).Sie müssen nicht offenlegen, dass Sie zusätzliche Zeit hinzugefügt haben, aber machen Sie es nicht unangemessen.Vielleicht zwischen 5 - 10 % der Gesamtzeit?Der einzige Weg, um es herauszufinden, ist, es ein paar Mal zu tun.

Um richtig gut in Schätzungen zu werden, muss man wissen, wie lange es dauert, einen bestimmten Widget-Typ zu codieren... zum Beispiel, man muss ein unendliches Scroll-Widget für Client X erstellen. Wenn Sie eine Woche brauchenUm es ohne Fehler in der Produktion bereitzustellen, können Sie dies als Grundlage für Ihre unendlichen Scroll-Schätzungen verwenden.

Versäumte Fristen sind in der Softwareentwicklung keine Seltenheit.Wie lange ein Softwareprojekt dauern wird, lässt sich kaum genau abschätzen.

Professionalität zeigt sich darin, wie man damit umgeht.Wenn Sie wissen, dass Sie eine Frist verpassen, informieren Sie Ihren Kunden so früh wie möglich darüber, damit er entsprechend planen kann.

Es ist ziemlich häufig, aber Sie können darin besser werden.Vielleicht möchten Sie eine Schätzung mit etwas Abstraktem wie Story Points durchführen und Ihre Geschwindigkeit im Auge behalten, um Ihre tatsächlichen Schätzungen zu berechnen.Diese Konzepte werden am häufigsten mit Scrum in Verbindung gebracht, können aber auch verwendet werden, wenn Sie kein Scrum verwenden.

Das Erstaunliche an der Geschwindigkeit ist, dass sie all die immateriellen Dinge wie Unterbrechungen und unerwartete Komplexität umfasst, die Entwickler in ihren Schätzungen nur schwer berücksichtigen können.Alle Wahrscheinlichkeiten mitteln sich über die Zeit.Im Durchschnitt über 10 Wochen waren unsere Geschwindigkeitsschätzungen innerhalb von etwa 5 % genau.Wenn wir jedoch die gleichen Aufgaben in Stunden schätzen, unterschätzt das exakt gleiche Team durchweg 30-50%.

Meine (unbewiesene) Theorie ist, dass Menschen sich so entwickelt haben, dass sie komplizierte Jobs um zwei oder drei zu eins unterschätzen.Jedes Mal, wenn der Kongress die NASA so etwas fragt: Was wird es kosten, ein Shuttle zu bauen oder zum Mond zu reisen, kommen sie innerhalb einer Woche mit einer Nummer zurück.Nachdem sie alle erwarteten Kosten aufgebraucht haben, stellen sie fest, dass es dreimal so viel kosten wird.

In den 1970er Jahren hatten wir einen Witz: Nehmen Sie eine beliebige Schätzung des Programmierers, verdoppeln Sie die Zahl und verschieben Sie sie dann auf die nächste Zeiteinheit.Wenn also ein Programmierer sagt, dass dies in zwei Wochen erledigt werden kann, wird er es in vier Monaten fertigstellen.

Wenn jemand eine Küche umgebaut hat, denkt er im Allgemeinen: 'Nun, das werde ich in zwei Wochen machen lassen'.Etwa sechs Wochen später sind sie damit fertig.

Lizenziert unter: CC-BY-SA mit Zuschreibung
scroll top