Einige Bücher über Metriken, über die Ihre Universitätsbibliothek wahrscheinlich verfügt, enthalten Software-Metriken sowie Metriken und Modelle in Software Quality Engineering . Diese 2 sollten Ihnen einen Startplatz geben. In der industriellen Welt haben nur sehr wenige Unternehmen überhaupt ein metrisches Messprogramm.
Haben die meisten Unternehmen eine Möglichkeit, müssen sie kein elegantes Programm sein, um aussagekräftige Kennzahlen zu messen?
Visual Studio enthält einige Tools zur Codeanalyse, mit denen Sie loslegen können. Die meisten Unternehmen haben nicht einmal etwas, um die schlechteste Metrik zu messen: Codezeilen. "Just get it done" scheint die überwältigende treibende Kraft in der Branche zu sein, und Bedenken hinsichtlich der Wartbarkeit werden den Bedenken der Manager in Bezug auf "Werde ich dieses Jahr meinen Bonus erhalten?" und "wird dies in der Zeit geschehen, die ich versprochen habe?" Selbst bei Produkten, die sich von Jahr zu Jahr mit inkrementellen Änderungen übertragen, stellten diese beiden Bedenken die Bedenken der Entwickler hinsichtlich Wartbarkeit und Fehlererkennung / -prävention in den Schatten.
Welche einzelnen oder kombinierten Metriken helfen Ihnen dabei, den Umfang und die Schätzungen Ihres Projekts einzugrenzen?
Ich finde, dass zyklomatische Komplexität und Kopplung starke Indikatoren dafür sind, wie fehlerhaft oder wie schwierig es sein wird, den Code zu warten. Wenn die zyklomatische Komplexität bei etwa 20 liegt, ist es meiner Meinung nach fast unmöglich zu testen (da es bis zu 2 ^ 20 Pfade durch den Code gibt) und sollte in kleinere Teile zerlegt werden. Sie können die Komplexität nicht beseitigen, aber Sie können sie in besser handhabbare Teile aufteilen.
Wenn Sie suchen , Schätzung , möchten Sie wahrscheinlich untersuchen Funktion Punkte .
Die Codeabdeckung% senkt jede Iteration drastisch. Machen Sie Ihre Entwickler auf das Problem aufmerksam
Ich finde, dass die meisten Manager sich um die Anzahl der Check-Ins und die Anzahl der Fehler kümmern, die behoben werden. Mein derzeitiger Manager ist gegen Unit-Tests (er hält dies für Zeitverschwendung), und mein vorheriger Manager war der Ansicht, dass die für Unit-Tests aufgewendete Zeit die Zeit war, die eigentlich für das Schreiben hätte aufgewendet werden müssen.
Das von Entwicklern verwendete kanonische Argument lautet: Wenn Sie etwas messen, erhalten Sie nur dieses. Dieses Argument beruht auf der Idee, dass die einzige Metrik Codezeilen sind.
In the industrial world, very few companies have any sort of metric measurement program at all.
Jedes Unternehmen mit einem CMMI-Rating von 2 oder höher verfügt über ein Mess- / Metrikanalyseprogramm. Das Sammeln von Messungen und Metriken ist eine Reifegrad 2-Anforderung. CMMI Maturity Level 4 erfordert ein quantitatives Projektmanagement, das auf diesen Messungen und Metriken basiert, sowie Dinge wie die Ursachenanalyse, um auf identifizierte Probleme zu reagieren. Es gibt eine große Anzahl von Organisationen, die auf CMMI Level 4 (oder 5) bewertet sind.Ich war bei einem Vortrag über Softwaremetriken, bei dem der Redner meiner Meinung nach einige aufschlussreiche Punkte machte. Da ich selbst wenig Erfahrung mit diesen Dingen hatte, war ich immer noch fasziniert und inspiriert, aber ich kann nicht sagen, ob es falsch oder richtig ist.
Die Hauptideen waren:
Um dies zu lösen:
Auf diese Weise kann man sehen, ob die Codequalität abnimmt, wenn Tickets schnell repariert werden. Wenn mit der Fehlerdatenbank nicht viel zu passieren scheint, kann die Codequalität steigen, da Refactorings durchgeführt werden.
Zusammenfassend: Es ist diese Art von dynamischem Verhalten, die wichtig ist und die Ihnen Informationen anstelle von Rohdaten liefert (was der Wert einer einzelnen Metrik wäre).
Ich plane, einige Grafiken nach diesem Schema auf einem Breitbildfernseher neben unseren mit CI verbundenen Lavalampen zu platzieren. ;)
quelle