Ich bin Softwareentwickler und arbeite in einer kleinen Webentwicklungsfirma. Es scheint ein wiederkehrendes Thema zu sein, dass ein mittlerer Manager mich fragt, wie lange etwas dauern wird, und wenn ich ihnen meine Schätzung gebe, denken sie, dass es zu hoch ist. Wenn es sich um einen eher technischen Manager oder einen anderen Entwickler handelt, denken sie normalerweise bereits an eine eigene Schätzung und versuchen, diese auf ihre eigene Weise zu implementieren, da sie glauben, dass sie dies schneller tun können.
Es gibt jedoch einen Trend, bei dem die anderen Entwickler deutlich mehr Zeit verbrauchen als angegeben. Sie werden die Hälfte ihres Budgets erreichen und dann feststellen, dass es einige geschäftliche Anforderungen gibt, die in ihrem Implementierungsplan nicht richtig berücksichtigt werden können. Mehr als einmal hätte mein Plan dieses Bedürfnis angesprochen, aber es wurde als " Du wirst es nicht brauchen " -Funktion abgetan .
Schlimmer noch, wenn sie gegen diese Wand stoßen, kommen sie normalerweise zu mir, um ihnen zu helfen, aus der Ecke herauszukommen, in die sie sich gemalt haben, aber es gibt nur so viele Stunden an meinem Tag.
Bester Fall : Diese Unterbrechungen verkürzen die Zeit, die ich für meine eigene Entwicklungsarbeit aufgewendet habe, was dazu führt, dass andere Projekte verzögert werden oder ich Überstunden machen muss, weil ich "der einzige bin, der X kann".
Schlimmster Fall : Am Ende muss ich die Aufgabe / das Projekt als meine eigene übernehmen, und zu diesem Zeitpunkt bleibt mir im Budget keine Zeit mehr, es "auf meine" Weise zu tun. Ich muss versuchen, das, was sie begonnen haben, so zu beenden, wie sie es begonnen haben, damit "das Unternehmen kein Geld mehr verliert". Das kommt immer wieder zurück, um mich zu beißen, weil es dann "mein" Hacky-Code wird, und wenn es kaputt geht, fragen mich die Leute, warum es so erstellt wurde, wie es war (schließlich haben sie keine Ahnung, wer es tatsächlich erstellt hat).
Meine Frage lautet also : Wie kann ich diesen Kollegen helfen, zu verstehen, wenn die Dinge nicht so einfach sind, wie sie sich vorstellen, und sie müssen ihr Verständnis für die Bedürfnisse des Kunden neu bewerten?
Im Gegensatz zu dieser ähnlichen Frage, wie man das Management davon überzeugen kann, mit [bestehenden] technischen Schulden umzugehen , sucht meine Frage nach Strategien, um dem Team zu helfen, [proaktiv] zu realisieren, bevor technische Schulden entstehen, um zu verhindern, dass diese anfangen. Diese beiden Dinge gehen Hand in Hand, aber sie unterscheiden sich in meinem Kopf deutlich. In den Antworten der anderen Frage wird vorgeschlagen, die Refactoring-Zeit in die Schätzungen für zukünftige Funktionen aufzunehmen. Dies kann niemals funktionieren, wenn andere Entwickler (und damit auch Manager) immer der Meinung sind, dass diese zukünftige Funktion weniger Zeit in Anspruch nimmt als sie tatsächlich wird, und ich kann sie nicht davon überzeugen, dass meine Schätzung realistischer ist.