Das tust du nicht.
Die Softwarequalität lässt sich nur schwer objektiv messen. Schwer genug, dass es keine Lösung gibt. Ich verzichte auf diese Antwort, um mich mit der Frage zu befassen, ob es überhaupt eine Lösung geben kann, sondern weise einfach darauf hin, warum es wirklich schwierig ist, eine zu definieren.
Argumentation nach Status quo
Wie Kilian Foth betonte, wenn es eine einfache Maßnahme für "gute" Software gäbe, würden wir sie alle verwenden und jeder würde sie fordern.
Es gibt Projekte, in denen Manager beschlossen haben, bestimmte Metriken durchzusetzen. Manchmal hat es funktioniert, manchmal nicht. Mir sind keine signifikanten Zusammenhänge bekannt. Besonders kritische Systemsoftware (z. B. Flugzeuge, Autos usw.) muss eine Vielzahl von Metriken erfüllen, um die SW-Qualität zu gewährleisten. Es sind mir keine Studien bekannt, die belegen, dass diese Anforderungen tatsächlich zu einer höheren Qualität führen, und ich habe persönliche Erfahrungen mit der Gegenteil.
Argumentation durch Spionageabwehr
Auch schon von Kilian angedeutet und allgemeiner ausgedrückt als "jede Metrik kann und wird gespielt".
Was bedeutet es, eine Metrik zu spielen? Es ist ein lustiges Spiel für Entwickler: Sie sorgen dafür, dass die metrischen Werte wirklich gut aussehen, während Sie wirklich beschissene Dinge tun.
Angenommen, Sie messen Fehler pro LOC. Wie soll ich das spielen? Einfach - fügen Sie einfach mehr Code hinzu! Machen Sie dummen Code, der dazu führt, dass mehr als 100 Zeilen nicht ausgeführt werden und Sie plötzlich weniger Fehler pro LOC haben. Das Beste von allem: Sie haben die Softwarequalität auf diese Weise tatsächlich verringert.
Werkzeugmängel werden missbraucht, Definitionen werden bis zum Äußersten erweitert, völlig neue Wege werden gefunden. Im Grunde genommen sind Entwickler wirklich kluge Leute. Wenn Sie nur einen Entwickler in Ihrem Team haben, der Spaß am Spielen von Metriken hat, sind Ihre Metriken fraglich.
Das heißt nicht, dass Kennzahlen immer schlecht sind - aber die Einstellung des Teams zu diesen Kennzahlen ist entscheidend. Dies impliziert insbesondere, dass es für Beziehungen zwischen Subunternehmern und Drittanbietern nicht gut funktionieren wird.
Argumentation durch falsches Targeting
Was Sie messen möchten, ist die Softwarequalität. Was Sie messen, sind eine oder mehrere Metriken.
Es gibt eine Lücke zwischen dem, was Sie messen und dem, was Sie glauben, dass es Ihnen sagen wird. Diese Lücke ist geradezu riesig.
Es passiert die ganze Zeit in allen möglichen Unternehmen um uns herum. Schon mal Entscheidungen auf Basis von KPIs (Key Performance Indicators) gesehen? Es ist genau das gleiche Problem - Sie wollen, dass ein Unternehmen gut abschneidet, aber Sie messen etwas anderes.
Begründung durch Quantifizierbarkeit
Metriken können gemessen werden. Nur deshalb beschäftigen wir uns überhaupt mit ihnen. Die Softwarequalität geht jedoch weit über diese messbaren Einheiten hinaus und hat eine Menge zu bieten, die nur schwer zu quantifizieren ist: Wie lesbar ist der Quellcode? Wie erweiterbar ist Ihr Design? Wie schwer ist es für neue Teammitglieder, an Bord zu kommen? usw. usw.
Die Softwarequalität nur anhand von Metriken zu beurteilen und die Teile der Qualität, die Sie nicht quantifizieren können, nicht zu beurteilen, wird mit Sicherheit nicht gut funktionieren.
bearbeiten:
Zusammenfassung
Lassen Sie mich darauf hinweisen, dass es darum geht, objektiv zu beurteilen, ob Software gut oder schlecht ist, basierend auf Metriken. Das heißt, es sagt nichts darüber aus, ob und wann Sie Metriken anwenden sollten.
Tatsächlich ist dies eine unidirektionale Implikation: Schlechte Metriken implizieren schlechten Code. Unidirektional bedeutet, dass fehlerhafter Code keine fehlerhaften Metriken garantiert und gute Metriken keinen guten Code garantieren. Auf der anderen Seite bedeutet dies, dass Sie Metriken anwenden können, um ein Stück Software zu beurteilen - wenn Sie diese Implikation berücksichtigen.
Sie messen Software A, und die Messdaten fallen wirklich schlecht aus. Dann können Sie sicher sein, dass die Qualität des Codes schlecht ist. Wenn Sie Software B messen und die Metriken in Ordnung sind, haben Sie keinerlei Ahnung von der Codequalität. Lassen Sie sich nicht täuschen und denken Sie "Metriken gut = Code gut", wenn es wirklich nur "Code gut => Metriken gut" ist.
Im Wesentlichen können Sie Metriken verwenden, um Qualitätsprobleme zu finden, nicht jedoch die Qualität selbst.