Messen Sie - aber mit Köpfchen

22.1.2020 / von Esko Hannula

Ein Softwareprozess ist in der Regel schwieriger zu verwalten und zu optimieren als ein industrieller Fertigungsprozess. Dies hat wenig mit der "intellektuellen Herausforderung" oder der "inhärenten Komplexität" von Software zu tun.  


Die Geschichte der industriellen Fertigung ist einfach viel länger, die zugrunde liegenden Praktiken, Prozesse und Werkzeuge sind viel standardisierter, und es gibt weniger Unterschiede zu verwalten als bei Software.

Ein Unternehmen, das nur so gut ist wie die Software, die es antreibt, kann wettbewerbsfähig bleiben, indem es seinen Softwareprozess kontinuierlich verbessert und optimiert. Und nein: Das hat nichts mit der Zerstörung von Kreativität und Innovationskraft zu tun. Je besser, schneller und automatisierter Ihr Prozess ist, desto mehr können Sie sich Innovationen leisten.

Ein guter Softwareprozess erfordert eine rigorose Messung. Wir müssen erkennen, ob sich die Dinge zum Guten oder zum Schlechten entwickeln. Wir müssen schnell die richtigen Hebel finden, um uns anzupassen, wenn Verbesserungen oder Korrekturen erforderlich sind. Glücklicherweise ist der Softwareprozess einfach zu messen. Fast alles, vom Code bis zum Helpdesk, umfasst Tools, die eine Fülle von Daten produzieren, die zum Verständnis, zur Kontrolle, Verbesserung und Vorhersage der Qualität der Software sowie des Prozesses, der sie erstellt und veröffentlicht, verwendet werden können.

Menschen in verschiedenen Rollen benötigen unterschiedliche Ansichten derselben Informationen. Der Versuch, den Softwareprozess durchzuführen, indem man sich ausschließlich auf Fehlerberichte konzentriert, ist ein wenig so, als würde man versuchen, ein Unternehmen zu führen, indem man nur Forderungen und Verbindlichkeiten betrachtet. Auch der Versuch, ein Unternehmen durch das Lesen von Jahresabschlüssen zu führen und zu entwickeln, ist zum Scheitern verurteilt. Doch die Analyse der Trends wichtiger Finanzindikatoren, die sich aus den Jahresabschlüssen ergeben, ist äußerst hilfreich.

Der Zweck von Softwaremetriken ist es, die bestmöglichen Entscheidungen zum richtigen Zeitpunkt zu treffen. Die aktuelle Literatur bietet Hunderte von praktischen Kennzahlen zur Softwarequalität. Die Kennzahlen, die mir im Software-Qualitätsmanagement am besten geholfen haben, sind die folgenden:

  • Pass/Fail-Statistik.
  • Fehlerakkumulation
  • Prozentsatz der Fehlererkennung
  • Zeit-/Phasenverteilung von Fehlern
  • Architektonische Verteilung der Fehler
  • Akkumulation der Nacharbeit
  • Wartezeitakkumulation
  • Codeänderungen pro Tag/Woche

Aber das ist nur eine Spitze des Eisbergs. Eine umfassende Beschreibung, wie Sie Metriken zu Ihrem Vorteil einsetzen können, finden Sie hier.

Ein Warnhinweis kann jedoch notwendig sein. Die meisten Menschen hassen es, gemessen zu werden. Sie glauben nicht, dass das Management gute Absichten hat, wenn es um Kennzahlen geht. Dies bedeutet, dass jeder Messaufwand, der von Personen verlangt, Dinge manuell zu melden, zum Scheitern verurteilt ist. Automatisieren Sie daher Ihre Kennzahlen. Die Einstellung zur Messung wird sich im Laufe der Zeit ändern, wenn Menschen lernen, Metriken zuerst zu verstehen und erst danach zu kontrollieren.

 


Den Rest der Blog-Serie finden Sie hier:

  1. Hören Sie auf, Ihre Systeme zu kontrollieren – und beginnen Sie, diese zu steuern
  2. Investieren Sie in Produkte, nicht Projekte – und machen Sie Ihre Organisation effektiv
  3. Setzen Sie auf DevOps – und lassen Sie sich nicht entmutigen
  4. Testen Sie – immer dann, wenn es Ihnen am meisten bringt
  5. Automatisieren Sie so viel wie möglich – aber keinen schlechten Prozess
  6. Messen Sie - aber mit Köpfchen



 

Esko Hannula

Geschrieben von Esko Hannula