Verwendet jemand Software-Schätzmethoden in seiner rechnerwissenschaftlichen Forschung?

11

Bei der Arbeit arbeite ich im Wesentlichen als unabhängiger Berater. Für das Management und die Kunden muss ich die Zeit abschätzen, die für die Entwicklung von Software im Rahmen meiner rechnerwissenschaftlichen Forschung benötigt wird. Meine Zeitschätzungen sind jedoch normalerweise nicht korrekt. Ich weiß, dass es Methoden gibt, um die Zeit abzuschätzen, die für die Entwicklung von Software benötigt wird. Werden diese Methoden mir genaue Schätzungen für Forschungsaufgaben geben? Sind sie überhaupt in einer Forschungsumgebung nützlich? Wenn nicht, gibt es eine bessere Methode als "Aufzeichnungen führen und Schätzungen entsprechend überarbeiten"?

Geoff Oxberry
quelle
1
Angesichts der Tatsache, dass zwischen den hellsten und den weniger hellen Programmierern ein Größenordnungsunterschied besteht, werden Ihre Schätzungen durch die Wiederverwendung vorhandener Datensätze nicht auf magische Weise der Realität angepasst. Sie können jedoch Ihre vorherigen Projekte durchgehen, Komplexitätsdaten sammeln und einige einfache Regressionen anpassen. Forschung unterscheidet sich von anderen Arten von Aktivitäten darin, dass ein erhebliches Risiko besteht, ein paar Mal gegen eine Mauer zu stoßen ... Bauen Sie Ränder ein, die mit der relativen Neuheit Ihres Projekts zusammenhängen, und korrigieren Sie Ihren eigenen Optimismus mithilfe des Murphy-Gesetzes.
Deer Hunter
4
In einer früheren Karriere als Softwareentwickler habe ich regelmäßig solche Schätzungen für genau festgelegte Projekte durchgeführt. Wenn das Design vollständig genug war und keine wesentlichen technischen Risiken bestanden, funktionierte dies recht gut. Die Art der Softwareentwicklung, die ich jetzt mache, ist jedoch mehr Forschung als Softwareentwicklung. Es gibt erhebliche Fragen, ob die Idee überhaupt funktioniert, und es treten ständig unerwartete Probleme auf.
Brian Borchers

Antworten:

1

In den meisten Forschungsumgebungen haben Sie keinen Zugriff auf professionelle Programmierer mit relativ einheitlichem Kenntnisstand, deren Zeit Sie bestimmen können. Vielmehr haben Sie eine Mischung aus erfahrenen Programmierern (vielleicht Postdocs, vielleicht Dozenten) und Studenten mit wenig Programmiererfahrung und überhaupt keiner Erfahrung in Bezug auf Großprojekte. Darüber hinaus haben alle diese Akteure zahlreiche andere Aufgaben (Lehren, TAing, Überprüfung von Papieren, Sitzen in Ausschüssen), die sich im Laufe der Zeit stark unterscheiden. Infolgedessen denke ich, dass es sehr schwierig sein wird, genaue Schätzungen zu haben. Ich habe die Erfahrung gemacht, dass "es länger dauern wird, als ich dachte".

Wolfgang Bangerth
quelle
In all diesen Fragen haben Sie im allgemeinen Fall Recht. Ich war neugierig, weil ich in meinem Fall oft der einzige bin, der an der Codierung arbeitet (höchstens ein oder zwei andere Personen codieren ebenfalls für dasselbe Projekt, normalerweise jedoch für nicht verwandte oder unabhängige Aufgaben). Aufgrund des beraterähnlichen Charakters meines Jobs weiß ich mit großer Sicherheit, wie viel Zeit ich wöchentlich für ein bestimmtes Projekt aufwenden kann, was die Unsicherheit erheblich verringert.
Geoff Oxberry