In einem neuen Projekt musste ein Freund Tests schreiben, bei denen die zum Schreiben erforderliche Zeit von einem Excel-Makro berechnet wurde, das von seinem Nicht-Entwickler-Manager geschrieben wurde.
Sollte ein Entwickler unter solchen Umständen die Verantwortung übernehmen, die Tests in der berechneten Zeit zu schreiben und auszuführen? Sind die Ergebnisse dieser Tests vertrauenswürdig?
Zur Information, mein Freund lehnte es ab, für Schätzungen verantwortlich zu sein, die er nicht gemacht hatte, und fragte, ob es gelingen würde, an einem anderen Projekt zu arbeiten.
project-management
productivity
testing
Nelstaar
quelle
quelle
Antworten:
Es hängt davon ab, wie vernünftig sie für den Entwickler sind und auf welchen Daten / Logik sie basieren. (sie könnten auf statistische Daten über mehrere Jahre gesammelt basieren , wie viel Zeit erforderlich war - dieses Entwicklers selbst und / oder durch andere - ähnliche Aufgaben in der Vergangenheit zu lösen ... oder sie vielleicht ganz auf seine Managers basieren - richtig oder falsch - Annahmen.)
Im Idealfall sollte er mit seinem Vorgesetzten besprechen, dass nicht zu erwarten ist, dass man sich für eine von jemand anderem geschätzte Aufgabe einsetzt und Verantwortung dafür übernimmt.
Wenn er sich schlichtweg weigert, sich auf die Schätzungen zu verpflichten, kann dies in der Tat dazu führen, dass er umgehend ersetzt wird. Es ist daher besser, einen weicheren Ansatz zu wählen und direkte Konfrontationen zu vermeiden, wenn dies möglich ist.
quelle
Vermutlich verarbeitet das Makro irgendeine Art von Eingabedaten, es ist nicht nur ein Zufallszahlengenerator? Um Ihre Frage beantworten zu können, müssen wir wissen, was die Eingabedaten sind und was das Makro bewirkt. Ohne dies ist jede Antwort ziemlich bedeutungslos.
Oder geht es bei Ihrer Frage wirklich darum, Schätzungen zu akzeptieren, die von einem Manager ohne einschlägige Erfahrung erstellt wurden? In diesem Fall lautet die Antwort "Nein". Sie (oder Ihr Freund) sollten ihre eigenen Schätzungen erstellen und diese dem Manager vorlegen. Wenn die beiden Zahlen nicht übereinstimmen, müssen sie zusammenarbeiten, um den besten Weg nach vorne zu finden. Vielleicht müssen sie sich darauf einigen, weniger Tests zu schreiben, oder es dauert länger, sie alle zu schreiben.
Punktuelle Ablehnung hilft niemandem, und es macht auch keinen Spaß, an einem Zeitrahmen zu arbeiten, den man nicht einhalten kann. Die Lösung besteht darin, professionell vorzugehen und einen Kompromiss zu finden, der es ermöglicht, die Arbeit fortzusetzen.
quelle
Ganz bestimmt NEIN.
Ein kleines Programm, auch ein großes, kompliziertes Programm, kann unmöglich abschätzen, wie lange ein Programmiervorgang dauern wird. Die Gründe dafür finden Sie unter Mathematische Grenzen der Softwareschätzung . Ein längerer, von Experten geprüfter Artikel mit dem Titel " Große Grenzen für die Softwareschätzung" ist ebenfalls verfügbar.
Ich würde auch meine Meinung zum fraglichen Manager überdenken: Warum glaubt er oder sie, dass ein Tabellenkalkulationsmakro in der Vergangenheit nicht ausprobiert wurde, da in der Vergangenheit alles andere versucht wurde, die Dauer von Softwareaufgaben abzuschätzen.
quelle
Pfui!
Dies ist ein gigantischer "Jobgeruch". Das ist ein unglaubliches Mikromanagement.
Wenn sie nicht darauf vertrauen können, dass ihre Mitarbeiter eine Schätzung abgeben, womit vertrauen sie Ihnen sonst nicht?
quelle
Definitiv nein.
Ich verspreche Ihnen, dass Manager nicht so getäuscht sind, dass sein Excel-Makro Schätzungen genau vorhersagen kann. Ich streite nicht einmal darüber, was wohlbekannt sein sollte, dass es zu viele Variablen gibt, um so etwas in einem Algorithmus genau vorherzusagen. Wenn er einen solchen Algorithmus erfunden hat, sollte er ihn patentieren und meiner Meinung nach Millionen verdienen.
Was hier wirklich passiert, ist, dass der Manager dieses vermeintliche Excel-Makro als eine kaum verhüllte Verkleidung verwendet, um die Tatsache zu verbergen, dass er unrealistische Erwartungen und übermäßigen Druck auf seine Entwickler ausübt.
Er weiß, dass es sich um BS handelt, und es ist ihm egal, es ist eine Ausrede, Ressourcen zu überbuchen und zu versuchen, Dinge schneller zu erledigen, indem alle seine "wertlosen" Entwickler ständig auf "SPÄT" gesetzt werden.
Dieser Manager klingt wie ein ausbeuterischer Idiot.
quelle
Es gibt parametrische Schätzmodelle zur Schätzung der Fertigstellungszeit von Projekten, einschließlich Softwareprojekten. Normalerweise bezieht sich die Schätzung auf Produktionscode, aber ich verstehe nicht, warum es nicht hochgerechnet werden kann, um abzuschätzen, wie lange es dauern wird, Testcode zu schreiben. Diese Schätzungen sind jedoch nur so gut wie die Daten, die in sie eingespeist werden.
Angenommen, die verwendete Methode ist ein gültiges Schätzmodell und die Daten sind genau und gültig, gibt es keinen Grund, warum eine gute Schätzung nicht aus einem Excel-Makro stammen kann, das von einem Nicht-Entwickler-Manager geschrieben wurde.
Unter keinen Umständen sollte eine Schätzung blind akzeptiert werden. Keine Schätzung ist jemals perfekt, unabhängig davon, wie sie generiert wird. Es ist Aufgabe des Ingenieurs, alle Schätzungen zu überprüfen, potenzielle Probleme zu identifizieren, deren Auswirkungen zu bewerten und die Schätzung nach Bedarf zu diskutieren und zu verfeinern.
Tests sind nur so gut wie der Aufwand, sie zu entwerfen und umzusetzen. Wenn ein Tester minderwertige Tests durchführt, rutschen die Fehler durch die Tests und gelangen in eine spätere Phase des Projekts. Es liegt auf der Hand, dass der Zeitplandruck zu Tests mit geringer Qualität führen wird. Wenn die Zeit also nicht ausreicht, um die entsprechenden Testfälle zu entwerfen und diese dann zu implementieren, wären die Tests nicht so nützlich.
quelle
Klingt so, als würden Sie zwei verschiedene Fragen stellen:
Excel ist ein Tool wie jedes andere, mit dem wir arbeiten, und was in den Berechnungen geschrieben wurde, sollte eigentlich keinen Einfluss auf die Ergebnisse des Algorithmus selbst haben. Die Tatsache, dass die Schätzung von einem Excel-Makro stammt, spielt keine Rolle, ob die Ergebnisse der Berechnung (dh die Gültigkeit der Schätzung) gültig sind oder nicht. Wenn Sie im zugrunde liegenden Modell falsche Annahmen haben, spielt es keine Rolle, was Sie für die Berechnung verwenden, da die zugrunde liegenden Annahmen falsch sind.
Wenn die Forderung, dass der Entwickler die Arbeit in der angegebenen Zeit erledigt, in ihrem Kontakt steht, können sie nicht viel dagegen tun, solange die Schätzungen angemessen sind. Was zum nächsten Punkt führt: Wenn die Berechnungen einen angemessenen Zeitraum angeben und den Schätzungen entsprechen, die sich der Entwickler selbst geben würde, besteht kein Grund, keine Einwände gegen die angegebenen Fristen zu erheben. Tatsächlich könnte dies für die Entwickler von Vorteil sein, da sie möglicherweise die im Modul verwendeten Annahmen beeinflussen können, im Gegensatz dazu, wenn ihnen eine willkürliche Zeitachse zugewiesen wird.
Wenn die Zeitpläne für den erforderlichen Arbeitsaufwand undurchführbar erscheinen, sollten sie dieses Problem offensichtlich ansprechen und versuchen, mit dem Manager zusammenzuarbeiten, um realistischere Zeitpläne zu erhalten. Wenn die Zeitpläne jedoch durchführbar sind, werden sie Schwierigkeiten haben, Einwände dagegen zu erheben.
In Bezug auf das Projektmanagement und die Schätzung von Zeitplänen ist dies zwar möglich, hängt jedoch in hohem Maße von der Art der ausgeführten Arbeit ab. Sie werden wahrscheinlich genauere Schätzungen für die zum Schreiben von Unit-Test-Code erforderliche Zeit sehen (vorausgesetzt, der Entwickler versteht das Framework und hat sie zuvor geschrieben) als für das Schreiben von neuem Code in Bezug auf die Anwendungsfälle, in denen der Test-Code geschrieben wird zum.
quelle
Ich möchte Schreibtests nicht herunterspielen, aber das Projekt hat wahrscheinlich schon mehrere Entwickler dazu veranlasst, sie zu schreiben. Wenn Schätzungen auf diesen Daten basieren, sind diese möglicherweise genauer als von Ihrem Freund angenommen. Da Ihr Freund das Projekt verlassen hat, keinen Versuch unternommen hat, gegenteilige Schätzungen zu erstellen oder zu prüfen, ob diese wie vorhergesagt abgeschlossen werden können, werden wir es nie erfahren.
Alles, was er tun musste, war ein oder zwei Tests abzuschließen, um festzustellen, wie genau die Schätzung war, und mit einer berechtigten Argumentation an den Manager zurückzukehren. Möglicherweise gibt es andere Teammitglieder, die Feedback zur Zuverlässigkeit der Schätzungen oder zu den Folgen eines Versäumnisses hätten geben können. Manchmal muss ein Manager seinem Chef etwas geben, um alle zufrieden zu stellen. Entwickler betrachten dies als falsches Sicherheitsgefühl. Wenn Entwickler veranlasst würden, Schätzungen vorzulegen und die Bereitschaft zu zeigen, Dinge zu erledigen, könnte das Management möglicherweise mehr Vertrauen entwickeln.
Ich vermute, wenn er die Tests in kürzerer Zeit abschließen könnte, würde er nichts dazu sagen. Andererseits kann die Entschuldigung einer Praxis, an die er nicht glaubt, auf ein hohes Maß an Integrität hindeuten.
quelle
Einfache und kurze Antwort:
Es ist dir egal, woher die Schätzung kommt.
Was Sie wirklich interessiert, ist die Schätzung selbst. Stimmen Sie dem zu oder stimmen Sie nicht zu und erklären Sie warum und wie viel Sie schätzen würden. Das ist das Wichtigste.
quelle
Theoretisch sollte ein Entwickler niemals eine Schätzung akzeptieren, die von einer anderen Person erstellt wurde, unabhängig davon, wie sie erstellt wurde. Ein Grund dafür ist, dass bei einer längeren Schätzung, mit der Ihr Manager vertraut ist, sofort ein potenzielles Zeitplanproblem oder möglicherweise ein Missverständnis über den Umfang der auszuführenden Arbeiten aufgedeckt wird.
In der Regel ist die Schätzung der Programmierzeit noch schwieriger als die Programmierung selbst. Wenn Ihr Manager also ein Excel-Makro schreiben kann, kann dies behoben werden erstellen dieses Problem zu , kann er wahrscheinlich ein Makro zum Schreiben des Codes erstellen (unwahrscheinlich).
Wenn Sie nun in der Praxis die Arbeit verstehen und die Schätzungen als vernünftig erachten, ist es sinnvoll, im Nachhinein einige Bedenken hinsichtlich der Methodik auszudrücken und dann vorläufig zuzustimmen, ob Sie diese erfüllen können. Später, wenn die Arbeit länger dauert als erwartet, sollten Sie Ihre Vorgesetzten zum frühestmöglichen Zeitpunkt darauf aufmerksam machen. Bereiten Sie sich darauf vor, die genauen Gründe auf der Grundlage Ihrer tatsächlichen Implementierungserfahrung zu besprechen. Hoffentlich ist Ihr Manager zu diesem Zeitpunkt nicht unvernünftig und besteht weiterhin darauf, dass Sie an mechanisch erstellten Schätzungen arbeiten.
quelle
Eine der neuesten Methoden zur Softwareentwicklung ist agil , und eines der bekannten agilen Frameworks ist agil Scrum . Bei dieser Methode müssen Entwickler (Scrum-Team) jedoch die erforderliche Zeit berechnen, um eine Aufgabe zu erledigen oder eine User Story zu implementieren.
Sage ich definitiv NEIN . Weil:
quelle