Äussere Aspekte der Software-Qualität

Äussere Aspekte der Software-Qualität

In diesem Teil es Blogs geht es um die von aussen sichtbaren oder wahrnehmbaren Aspekte von Software-Qualität. Im dann kommenden Teil betrachten wir die inneren Aspekte rund um den Software Code.

Je nach Stakeholder-Gruppe wird der Schwerpunkt von Software-Qualität auf andere Aspekte gelegt. Im Folgenden werden einige äussere Aspekte der Software-Qualität betrachtet. Die Auflistung ist nicht vollständig, gibt jedoch schon einen guten Überblick.

Funktionsumfang

Ein wichtiger Aspekt der Software-Qualität ist für viele Menschen der Funktionsumfang einer Software. Lange Zeit hat man darunter meist den maximal möglichen Funktionsumfang verstanden – dementsprechend waren auch die Auswahlverfahren durch Maximal-Listen geprägt.

Zwischenzeitlich hat sich mehr und mehr die Erkenntnis durchgesetzt, dass die “eierlegende Wollmilchsau” nie benötigt wird und ein unnötig hoher Funktionsumfang sich außerdem negativ auf weitere Aspekte der Software-Qualität (wie z.B. Usability, Performance und Wartbarkeit) auswirken kann.

Wesentlich sinnvoller ist es deshalb, auf der Grundlage von relevanten Anwendungsfällen die heute und in absehbarer Zukunft tatsächlich benötigten Funktionalitäten zu ermitteln und diese entsprechend ihrer jeweiligen Relevanz zu gewichten. Damit hat man eine gute Grundlage, um den Funktionsumfang einer Software konkret zu bewerten.

Performance als äusserer Aspekt der Software-Qualität

Fast schon selbstverständlich und dennoch wichtig zu erwähnen: Der Aspekt „Performance“. Niemand wartet gerne; insofern sollte die Software so performant sein, dass sie die üblichen Aufgaben schnell genug ausführt, um keine Wartezeiten zu erzeugen. Die Performance sollte sowohl beim aktuellen Mengengerüst als auch hinsichtlich eines möglichen Wachstumspfades betrachtet werden. Wichtig dabei ist, dass die gewünschte Performance mit vertretbaren Ressourcen realisiert werden kann und keinen (teuren) Ausbau der benötigten Hardware erfordert.

Jakob Nielsen sagte bereits 2010, dass Ladezeiten von Websites nicht länger als 1 Sekunde sein dürfen. Heutzutage dürfen wir erwarten, dass Programme innerhalb von 200ms oder weniger reagieren. Eine längere Reaktionszeit ist im wahrsten Sinne des Wortes uner-”wartet”.

Benutzerfreundlichkeit

Ein zunehmend wichtiger Aspekt der Software-Qualität ist die Benutzerfreundlichkeit einer Software – vor allem dann, wenn diese Software nicht nur von einigen wenigen Experten genutzt wird, sondern auch Gelegenheitsnutzern, die die Software nur selten oder auch nur für einen eingeschränkten Anwendungsfall benötigen.

Wenn die Software keine intuitive Nutzung ermöglicht, ist die Hürde für diesen Anwenderkreis häufig zu hoch. Um eine intuitive Nutzung zu ermöglichen, sollte es daher möglich sein, die Oberfläche an den jeweiligen Bedarf bzw. Anwendungsfall anzupassen, um keine unnötigen Funktionalitäten anzubieten.

Ausserdem ist es hilfreich, wenn bei der Gestaltung der Oberflächen allgemein übliche Usability-Kriterien zugrunde gelegt und keine “Experimente” gemacht werden. Damit entspricht die Software der Erwartung, die die Anwender aufgrund gängiger Design-Kriterien haben, und vermeidet somit unerwartetes Verhalten.

Portabilität

Die Portabilität einer Software bezieht sich auf ihre Fähigkeit, problemlos von einer Umgebung zur anderen zu wechseln. Eine portierbare Software kann reibungslos auf verschiedenen Systemen oder Plattformen laufen, sei es auf unterschiedlichen Betriebssystemen, Hardwarekonfigurationen oder Cloud-Diensten. Dieses Qualitätsmerkmal ermöglicht es, Kosten und Aufwand für Anpassungen an verschiedene Umgebungen zu reduzieren.

Eine gut portierbare Software ist flexibel und unabhängig von spezifischen technologischen Einschränkungen. Sie erleichtert eine reibungslose Einführung und Wartung, was die Agilität des Unternehmens steigert und die langfristige Anpassungsfähigkeit der Software gewährleistet.

Für den Fall, dass die Software auf verschiedenen Plattformen betrieben wird, ist sicherzustellen, dass sie sich auf keiner der Plattformen unerwartet, also anders als auf anderen, verhält.

Technologie Stack

Unter Umständen kann es sinnvoll sein, dass ein weit verbreiteter Technologie Stack zum Einsatz kommt; das hat zumindest den Vorteil, dass es eine grosse Zahl von Fachleuten gibt, die damit umgehen können, so dass man nicht von einigen wenigen abhängig ist.

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