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öglichesMesskriterium 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. Portale wie https://www.kununu.com/ oder https://www.glassdoor.de/Bewertungen/index.htm könnten hier nützliche Hinweise oder Warn-Indikatoren liefern.

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[1] 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)[2] spricht eher für eine moderne, hochqualitative, skalierbare und gut wartbare Software.

Fazit

Es gibt eine ganze Reihe von Aspekten, die die Evaluierung von Software-Qualität ermöglichen und die Qualität einer Software beeinflussen. Und da die Software-Qualität einen hohen Einfluss sowohl auf die Folgekosten als auch auf den erzielbaren Nutzen hat, ist eine umfassende Betrachtung dieser Aspekte in Verbindung mit der Bewertung von Software-Systemen dringend zu empfehlen.

Dabei muss jedes Unternehmen – abhängig von den jeweiligen Rahmenbedingungen – bei der Software-Bewertung selbst festlegen, welches Gewicht die einzelnen Aspekte haben.


[1] https://swagger.io/solutions/api-documentation/

[2] https://machalliance.org/


Die Autoren

Jürgen Burger ist Gründer und Geschäftsführer von SIMIO.

Er verfügt über eine langjährige Beratungserfahrung und eine umfassende Kenntnis des Anbietermarktes im Kontext Produktkommunikation. In diesem Zusammenhang unterstützt er Unternehmen immer wieder auch bei der Auswahl von Software-Systemen.

Ralf Trapp ist Gründer der tronet GmbH und geschäftsführender Gesellschafter der procelo GmbH.

1992 hat Ralf während des Studiums seine erste Softwarefirma gegründet. Seitdem lässt ihn die Verbesserung der Software-Entwicklung nicht mehr los und er ist leidenschaftlicher Evangelist für bessere Software.


© procelo GmbH 2024