Wie der Beitrag eines Individuums zu einem Software-Projekt zu schätzen? [geschlossen]

StackOverflow https://stackoverflow.com/questions/2437881

  •  19-09-2019
  •  | 
  •  

Frage

Ich arbeite an einem Software-Projekt und möchten den Prozentsatz schätzen, aus dem Gesamtbeitrag, dass ich bei der Entwicklung der Software gesetzt haben. Gibt es ein Werkzeug, um dies zu tun? Ein solches Werkzeug kann für Gutachten oder Verhandlungen, zum Beispiel nützlich sein. Schließlich arbeiten wir für Geld (ja, nicht nur Geld, den Punkt bleibt gesetzt). Ich denke, es ist genug, um von Hand winkt für die wichtigsten Dinge.

Die Schätzung ist sehr subjektiv (zumindest für mich jetzt), aber ich weiß nicht, jedes Werkzeug, das auch eine subjektive Einschätzung zur Verfügung stellt. Ich kenne sloccount dass Zauber aus dem Gesamtaufwand der Codezeilen verwenden, aber nicht auf pro-Entwickler-Basis.

Meine Vorstellung von einem idealen Werkzeug für diesen Zweck würde:

  • misst die Komplexität des Codes (komplexer ist mehr Aufwand, aber mehr Aufwand ist nicht unbedingt mehr Beitrag)
  • messen die Zersetzbarkeit / Flexibilität der Software (mehr abbaubar ist besser)
  • wie viel Code-Bibliothek verwendet wird - unter Verwendung von Code-Bibliothek beschleunigt den Entwicklungsprozess, erhöht sich das damit verbundene Risiko und erfordert den Entwickler von wissen, bevor oder über die Bibliothek lernen.
  • sein intelligent genug, um zwischen „wer den Code schrieb“, „wer den Code kopiert“ und „wer den Code eingerückt“.

Es ist schwierig, zwischen der Komplexität bei der Implementierung und die intrinsischen Komplexität des Problems zu unterscheiden. Vielleicht kann ein Vergleich mit einem äquivalenten Open-Source-Gegenstück gemacht werden, wenn es oder für jedes Submodul einzeln.

Wenn es kein solches Werkzeug ist, gibt es kein Verdienst ein solches Werkzeug in zu haben? Oder glauben Sie, in „Ich Arbeit zu tun, ich weiß nicht messen“? Es braucht Zeit, nachdem alle. Vielleicht sollte der Projektmanager kontinuierlich diese Einschätzung tun, sagen wir, wöchentlich. Gibt es Standards? Ja, Standardisierung ist schwierig, weil jedes Projekt unterschiedliche Ziele hat, aber vielleicht sollte das bedeuten, dass es mehrere Standards sein sollte, nicht keine Normen überhaupt. Dies ähnelt der, wie ein Unternehmen auf dem Markt bewertet wird.

Aktualisieren : Nach ein paar erste Antworten zu sehen: Es macht keinen Sinn, ein Werkzeug, sich vorzustellen, dass nur die Anteile ausgibt. Gibt es Tools, die Menschen (insbesondere Manager) in einem besseren Entscheidungen helfen kann? Oder was ist die erschöpfende Statistik für bessere Entscheidungen zu treffen? Sind diese Statistiken zur Verfügung?

Keine korrekte Lösung

Andere Tipps

ich wirklich Zweifel gibt es jede zuverlässige vertrauenswürdige Art und Weise auf die Lösung individuellen Beitrag zu messen. Manchmal Umschreiben einige komplizierte Legacy-Code, dass die Ergebnisse in weniger Codezeilen, weniger komplizierte Lösung (kleinere zyklomatische Komplexität etc.) als ganz wesentlichen Beitrag zu sehen ist, während in anderen Fällen wertvolle Code löschen Grenzfälle abdeckt, dass die Ergebnisse in den gleichen Statistiken ( weniger Codezeilen, kleiner CC etc.) sind auf jeden Fall etwas schlecht. Es kommt alles auf Menschen, Vertrauen und Zusammenarbeit, Individualismus im Team fast immer falsch ist, und ich würde es lieber vermeiden und vor allem nicht als Motivationsfaktor verwenden.

Dies ist ein Forschungsthema für sich allein. Es gibt mehrere Werkzeuge, die versucht haben, Metriken zu definieren wie Code Eigentum . Es gibt auch andere Ansätze, die andere Seite der kollaborativen Entwicklung angehen, zum Beispiel TruStability- können wir im Code haben.

Es gab auch mehrere Studien, die die Informationen von Bug-Tracker zu verwenden versucht. Zum Beispiel, um den Entwickler zu identifizieren, desto wahrscheinlicher einzuführen Bugs ist. Aber es ist schwer, objektiv zu sein (Ein brillanter Entwickler, der den kritischsten Teil des Systems zugeordnet ist, wird immer noch eher kritische Fehler einzuführen).

Es ist wirklich schwer zu Monetisieren die Entwicklungsaufgaben. Was sind die Kosten für einen Fehler? Was ist der Gewinn von Refactoring? Das wäre jedoch eine Möglichkeit, den Beitrag eines Entwicklers zu schätzen.

Die letzten kühle Werkzeug, das ich sehe diese Art war die

Ich glaube nicht, dass Sie ein Werkzeug bekommen Ihren Anteil an dem Projekt zu bewerten. Messlinien Quelle ist alles sehr gut, aber was ist mit der Qualität dieser Quelle? Sie würden nicht jemand wollen den Kredit für 200 Zeilen Quelle zu nehmen, wenn der Job easiy in 20 ...

hätte getan werden können

Auch Denken meines Arbeitgebers für einen Moment, tragen viele Menschen auf das Projekt auf andere Weise als Code. Sofortige Beispiele, die ich denken kann, wäre Projektmanager und Tester -. Beide sind von wesentlicher Bedeutung, die beide zu Recht einige Kredit verdienen

Martin

Das einzige, was ich mir vorstellen könnte, wäre ein Wahlsystem sein. Ich habe absolut keine Ahnung, ob das wäre in Ihrem Team oder überall - aber ich bin sicher, dass Sie Menschen für jede realistische Einschätzung der Qualität des Codes benötigen

.

In Stroustrup Buch auf C ++ Ich habe einmal gelesen „Versuchen Sie nicht, soziale Probleme mit technischen Mitteln zu lösen“.

progmatically Denken, die Haltung und die Fähigkeit eines Programmierer sehr schnell, indem sie einen Code-Review zusammen geschätzt werden können und einen Vortrag zu relevanten Themen haben.

Denken als IT-Enthusiasten und als Kontrollfreak, sollte dies nicht sehr schwer sein, eine lehrbar Maschine-Learning-Software zu implementieren, die versions cotrol verwendet, Bug-Datenbank, etc. und GREATES Echtzeit performanced Daten für jeden Beitrag. Z.B. R, KNIME oder WEKA könnte dafür verwendet werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top