Evaluierung von Software-Qualität

Wie viel Qualität es sein darf

Die Evaluierung von Software-Qualität für eingekaufte Software ist schwierig. Einige Indikatoren gibt es allerdings, die eine Beurteilung ermöglichen.

Die angelegte Qualitäts-Messlatte liegt um so höher, je geringer die Bereitschaft ist, den Risikofall zu tragen. Sind die Kosten eines möglichen Risikos hoch oder gibt es andere Gründe, die Wahrscheinlichkeit für ein unerwartetes Verhalten zu reduzieren, dann lohnt das Investment in eine höhere Qualität.

Das Interessante dabei: Nicht die Hersteller entscheiden, wie viel Qualität es sein darf. Ausschliesslich die Anwender, der Anwendungszweck und die Konsequenzen von unerwartetem Verhalten entscheiden, wie hoch die Qualitäts-Messlatte liegen muss.

Unerwartetes Verhalten

Wir fassen Software-Qualität als Funktion von unerwartetem Verhalten auf. Anders formuliert: Je öfter sich die Software unerwartet verhält, desto schlechter ist die Software-Qualität. Demzufolge ist die Anzahl der unerwarteten Verhalten ein mögliches Messkriterium der Software. Damit sich dieses Messkriterium nicht verschlechtert, wenn sie öfters eingesetzt wird oder länger läuft, macht es Sinn, dieses Kriterium zu normalisieren (also z.B. “Unerwartetes Verhalten pro User” oder ”Unerwartete Verhalten pro Laufzeitstunde”).

Erfahrungsgemäss werden Softwarehersteller diese Zahlen nicht ermitteln. Sofern sie es doch tun, werden potenzielle Interessenten sie mit hoher Wahrscheinlichkeit nicht erfahren. Dennoch: Fragen im Rahmen der Softwareauswahl kosten nichts.

Darüber hinaus gibt es weitere indirekte Indikatoren, die Rückschlüsse auf die Software-Qualität erlauben.

Releases

Wie schnell könnte ein neues Release bereitgestellt werden?

Dass eine Release technisch bereitsteht und wann bzw. ob sie veröffentlicht wird, sind zwei unterschiedliche Ereignisse, die nicht gekoppelt sein müssen.

Die Frage, in welcher minimalen Zeit ein Release produziert werden könnte, ist ein mögliches Indiz für die Software-Qualität. Liegt die Zeit im Bereich von Minuten oder Stunden, spricht dies für einen hohen Automatisierungsgrad beim Testen und Bau der Software.

Reden wir von Tagen, Wochen oder mehr, spricht dies für viele manuelle Schritte.

Schnelle Bereitstellung ist insbesondere für sicherheitsrelevante Korrekturen notwendig.

Ein weiterer Indikator für eine gute Software-Qualität ist der möglichst geringe Aufwand beim Einspielen eines neuen Releases. Kann das, wie in modernen Smartphones, innerhalb von Sekunden oder Minuten und “auf Knopfdruck” geschehen? Oder braucht es aufwändige Arbeiten, möglicherweise sogar von Integrationspartnern? Je leichter Updates durchgeführt werden können, desto besser ist es.

Support

Wie viele Kunden betreuen Support-Mitarbeitende im Durchschnitt?

Die Grösse des Support-Teams in Relation zur Kundenbasis ist ein weiteres Indiz für die Software-Qualität. Generell gilt: Je minderer die Qualität, desto mehr Support wird benötigt. Bei einem zu grossen Support-Team ist Skepsis angebracht.

Mitarbeiter-Fluktuation

Wie gross ist die Mitarbeiter Fluktuation beim Software-Hersteller?

Je öfter Mitarbeiter wechseln, desto geringer ist das Know-How über die Software im Unternehmen. Das Wissenslevel nimmt ab und erhöht damit die Quote von möglichen Fehlern in der Programmierung.

Self-Service

Gibt es einen Support-Self-Service Bereich?

Ein guter Self-Service-Bereich entlastet nicht nur die Mitarbeitenden im Support, sondern kann auch als Indikator für die Einfachheit der Software herangezogen werden. Je komplizierter die Software zu bedienen, warten oder anzupassen ist, desto schwieriger wird es, einen Self-Service-Bereich aufzubauen, der den Anwendern ausreichend Hilfestellung bei unerwartetem Verhalten gibt.

Je weniger unerwartet sich die Software verhält, desto grösser wird die Community und desto grösser ist die Hilfestellung der Anwender untereinander. Der Support wird also entlastet.

Plug-Ins

Plug-Ins sind zusätzliche Module, die nahtlos in die bestehende Software integriert werden können, um spezifische Funktionen oder Erweiterungen hinzuzufügen. Diese Erweiterungen ermöglichen es, die Grundfunktionalität Ihrer Software nach Bedarf anzupassen, ohne die Kernstruktur zu verändern. Somit kann eine flexible Anpassung an geschäftliche Anforderungen gewährleistet werden.

Die Kunst eines guten Modularisierungskonzeptes ist es, Anpassungen der Software zu erlauben, ohne dass diese Updates behindern.

Gleichzeitig muss die Software auf alle erforderlichen Business-Cases angepasst werden können.

Wenn Hersteller beides positiv bescheinigen, ist dies ein starkes Indiz für gute Software-Qualität.

API

Gibt es eine oder mehrere API und wie vollständig ist diese und die zugehörige Dokumentation?

In der heutigen Welt werden Software-Inseln immer seltener. Daten müssen zwischen den Systemen ausgetauscht, verarbeitet, veredelt, weitergeleitet und zurückgespielt werden. APIs sind dazu das Mittel der Wahl. Bildet die API nicht alle Funktionalitäten der Software ab oder hat die Dokumentation Lücken, ist dies ein starkes Indiz für eine veraltete Software.

Ist die API-Dokumentation mittels Standards wie z.B. swagger automatisch erzeugt, ist dies ein Indiz für moderne Software in guter Qualität. Auch die Ausrichtung nach den MACH-Prinzipien (Microservices, API-first, Cloud-native, Headless) spricht eher für eine moderne, hochqualitative, skalierbare und gut wartbare Software.

Ralf Trapp

Über den Autor

Ralf Trapp – CEO, Unternehmer & Evangelist

1992 hat Ralf während des Studiums seine erste Softwarefirma gegründet. Seitdem lässt ihn die Verbesserung der Software-Entwicklung nicht mehr los.

Wer einmal erlebt hat, wie gute Softwarequalität:

  • Zur Stressreduktion beiträgt
  • Deine Mitarbeiter und Kunden zufriedener macht
  • Den Umsatz und Rohgewinn nachhaltig verbessert

… der möchte nie wieder zurück zum „Altbewährten“.

Mehr über procelo

Verwandte Artikel

Software-Qualität, Code-Qualität

Innere Aspekte von Software-Qualität

Die innere Software-Qualität, insbesondere die Code-Qualität, beeinflusst maßgeblich die Lebensdauer und Fehleranfälligkeit einer Anwendung.

Weiterlesen

Software-Qualität

Äussere Aspekte der Software-Qualität

Je nach Stakeholder-Gruppe wird der Schwerpunkt von Software-Qualität auf andere Aspekte gelegt. Hier betrachten wir die äussere Aspekte.

Weiterlesen

Business, Software-Qualität

Software-Qualität: Einfluss auf dein Business

Software-Systeme spielen eine immer größere Rolle. Wir beleuchten die verschiedenen Aspekte von Software-Qualität für eine objektivere Bewertung.

Weiterlesen