Die Metapher der Qualitätsinvestition ist wirklich ein Gewinn. Die alleinige Betrachtung der technischen Schulden kommuniziert zwar die Folgen fortwährender Qualitätskompromisse, hilft aber recht wenig bei der Planung zukünftiger Iterationen. Stattdessen hinterlässt sie eher ein Gefühl der Ratlosigkeit ("Oh je, alles so verschuldet hier. Wo sollen wir anfangen aufzuräumen?"). Die weiterführende Gegenüberstellung von Sanierungs- und Nicht-Sanierungskosten (Remedy Cost/RC, Non-Remedy-Cost/NRC) unter Einbezug der Änderungswahrscheinlichkeit (Probability of Change/PC) ist da sehr hilfreich. Es stimmt, manche "Schulden" muss man nie zurückzahlen wenn der entsprechende Code nicht geändert werden muss. Für diese Betrachtung des Return of Invests (ROI) braucht man zusätzlich eine Schätzung der Änderungswahrscheinlichkeit wodurch sich der Fokus wieder zurück auf die Planung richtet. Das ist gut.
Wenn man schon die technischen Schulden mit Unterstützung eines Tools wie SonarQube differenziert und automatisiert ermittelt (bottom-up), scheint auch der Einsatz von CodeQ Invest gegenüber manuellen Schätzungen (meist top-down) sinnvoll.
Dazu ist es widerum hilfreich die Genauigkeiten der entsprechenden Schätzungen abzuwägen. Kennt man die Änderungswahrscheinlichkeiten sehr genau (kleiner Unsicherheitskorridor) ist eine genaue und differenzierte Analyse der Schulden natürlich auch toll. Als Numeriker würde man dann sagen, dass das Problem der Ermittlung der Kosten "gut konditioniert" ist.
Kenn man die Änderungswahrscheinlichkeiten nur so genau dass eine Angabe in T-Shirt-Größen (S,M,L,XL) ausreicht gewinnt man mit einer aufwendigen, differenzierten Analyse bis auf Klassenebene herunter würde nicht besonders viel. Der "ungenauere Faktor" (Änderungswahrscheinlichkeit) dominiert den genaueren Faktor ("technische Schulden") und bestimmt damit die Gesamtgenauigkeit (Nicht-/Sanierungskosten).
Oft wird ja auch andersherum argumentiert: "Ach, eine genaue Schulden-Analyse ist ja so aufwendig. Da lohnt es nicht eine genaue Änderungs-Planung zu machen".
Diese ökonomisch motivierten Rechnungen ändern sich drastisch, wenn sich der Aufwand für differenzierte Schulden-Analysen durch den Einsatz von Tools wie "SonarQube" erheblich reduziert. Dann rechnet es sich auf einmal wieder auch die Änderungsplanung genauer zu machen.
Um dem Argument "Schön, dass wir die genauen Schulden mit SonarQube jetzt so leicht ermitteln können. Aber ach, für die Gesamtplanung hilft das nicht viel, da ja eine differenzierte Änderungsplanung so aufwendig ist" zu begegnen, gilt es auch den Aufwand für detaillierte Schätzungen der Änderungswahrscheinlichkeiten zu reduzieren.
Mit CodeQ Invest wird das Schätzen/Ermitteln der Änderungswahrscheinlichkeiten
No comments:
Post a Comment