Was ist Softwarequalität?

Jana Sust

Backoffice

20.11.2020

Qualität - ein Begriff, der die Arbeit in allen Branchen ständig begleitet. Auch für uns im Bereich der Softwareentwicklung ist Qualität ein ständiger Begleiter. Wir finden, dass dies ein guter Grund ist, sich einmal das Thema Qualität genauer anzuschauen und zu erläutern, wie wir bei newcubator Qualität im täglichen Arbeitsalltag leben.

Der Ursprung des Begriffs Softwarequalität

Was ist denn nun Qualität? Vor allem die Abstraktheit dieses Begriffes macht eine einheitliche Definition schwierig. Der Begriff leitet sich ursprünglich vom lateinischen Wortstamm quaris ab, was übersetzt beschaffen bedeutet.

Der Wortursprung ist somit eher neutral, bezeichnet aber in der Praxis einen wertenden - meist positiv behafteten Zustand. Qualität an sich beschreibt folglich den Zustand oder die Beschaffenheit eines Produktes oder einer Leistung.

Um trotzdem eine gewisse Vereinheitlichung mit dem Qualitätsbegriff zu verbinden, existieren ISO-Normen, die dies verankern. Dadurch wird Qualität bis zu einem gewissen Grad messbar gemacht.

Softwarequalität messbar machen

Um in der Praxis die Qualität im Unternehmen messbar zu machen, sollten zu Beginn Qualitätsziele formuliert werden. Aufgestellt werden diese meist anhand der SMART-Methode:

  • S wie spezifisch: Die Formulierung muss so klar sein, dass alle Beteiligten wissen, warum ein Zustand angestrebt wird und was schlussendlich entstehen soll.
  • M wie messbar: Ziele müssen mit einer messbaren Größe ausgestattet werden, einer Kennzahl.
  • A wie attraktiv: Ansprechende Ziele wirken motivierend auf die Mitarbeiter, sonst werden sie schnell vergessen und/oder ignoriert.
  • R wie realisierbar: Zu abstrakte Ziele führen zu keinem Ergebnis. Die Ziele müssen im Rahmen des Unternehmen und mit den vorhanden Ressourcen realisierbar bleiben.
  • T wie terminiert: Bestenfalls wird ein fixes Enddatum pro Zielformulierung festgelegt, manchmal reicht auch eine Zeitspanne (zum Beispiel in Quartal vier des Jahres).

Die beste Realisierung der Qualitätsziele durch die Mitarbeiter ist zu erreichen, wenn diese bereits bei der Zielformulierung in den Prozess integriert werden. So wird sicher gestellt, dass ein grundlegendes Verständnis für alle aufgestellten und zu erreichenden Ziele herrscht. Mehr über die Formulierung von Zielen finden Sie hier

Eine genauere Qualitätsdefinition ist damit in einigen ISO-Normen zu finden. Beispielhaft konzentrieren wir uns in diesem Artikel auf zwei Normen:

  • ISO 9001: Qualität ist der Grad der Erfüllung von Anforderungen. In der Praxis werden diese Anforderungen zumeist durch den Kunden gestellt. Dabei gibt es nicht die absolute Qualität, sondern Abstufungen des Grades, zu welchem Anteil die Anforderungen des Kunden erfüllt werden. Hier kann beispielsweise eine Skala mit Ausprägungen von sehr gut bis sehr schlecht angewandt werden. Bewertet der Kunde oder Leistungsempfänger die Qualität eines Produktes/einer Leistung, spricht man von einem kundenorientierten Qualitätsbegriff. Die Sicht des Kunden oder Leistungsempfängers bildet eine subjektiv bewertete oder auch relative Qualität, die sich aus den erwarteten und realisierten Leistungen zusammensetzt.
  • ISO 55350: Qualität ist die Beschaffenheit eines Produktes oder Leistung und die Eignung, vorausgesetzte und vorher festgelegte Anforderungen zu erfüllen. Dabei wird sowohl der Gegenstand an sich, als auch gesamtheitliche Beschaffenheit betrachtet und bewertet. Deswegen wird hier meist ein produktbezogener Qualitätsbegriff genutzt. Das Produkt oder die Leistung muss dabei vorher festgelegte objektive Kriterien erfüllen.

Speziell für die Softwarequalität existieren ebenfalls Normen, die aber vorrangig Kernkriterien verankern, die als direkte Qualitätsindikatoren für eine Software gelten. Sie helfen aber vor allem den Auftraggebern einer Softwarelösung und stellen realistische Ziele dar, die die Software schlussendlich erreichen muss.

  • Funktionalität
  • Verlässlichkeit
  • Effizienz
  • Sicherheit
  • Kompatibilität
  • Usability
  • Wartung
  • Portierbarkeit

Softwarequalität im Tagesgeschäft bei newcubator

Im folgenden möchten wir den Begriff der Softwarequalität diskutieren, der uns täglich begleitet. Was ist Softwarequalität? Was macht eine gute Software aus? Wir haben einige Aussagen für unsere Entwickler vorbereitet, die sie vervollständigen sollten. Dabei sind spannende Antworten zusammengekommen.

Für unsere Kunden bedeutet (Software-)Qualität, ...

  • "... dass wir eine Lösung entwickeln, die nicht umfällt, sobald sie mit neuen Gegebenheiten konfrontiert wird."
  • "... dass die Software zuverlässig und wartungsarm läuft."
  • "... eine effiziente Lösung, die ihren Anforderungen und unseren Versprechen entspricht."
  • "... auch Vertrauen."

Qualität ist in unserer Arbeit wichtig, weil...

  • "... sie uns auszeichnet. Qualität zeige ich in meiner Arbeit durch Sorgfalt bei der Umsetzung der Features einer Software."
  • "... sie essentiell ist. Jede Implementierung ergänzt die Basis, auf die in den folgenden Jahren aufgebaut wird."
  • "... sie die Grundlage für eine vertrauensvolle Zusammenarbeit legt."
  • "... sonst Fehler auftreten."
  • "... sie die Firma und unsere Expertise widerspiegelt."

Ich erziele die Qualität in meiner Arbeit durch...

  • "... Hinterfragen bestehender Umsetzungen und Teilen von neuen Ideen."
  • "... Einsatz, Verantwortung und Sorgfalt."
  • "... effiziente Lösungen und kooperatives Arbeitsverhalten."

Für uns ist Softwarequalität das Maß der Dinge, da wir damit nicht nur unsere eigenen Ansprüche, sondern vor allem die Ansprüche des Kunden zufrieden stellen wollen.

Ein konkretes einheitliches Testverfahren für die Qualität einer Software gibt es nicht. Wir testen daher eigenständig und laufend unsere programmierte Software auf Funktionalität, Usability und weitere Kriterien, die unsere Kunden für ihr Business als relevant erachten. So stellen wir sicher, dass das finale Produkt bei unserem Kunden die volle Zufriedenheit erlangt.

Alle unsere Projekte erfolgen in enger Zusammenarbeit mit unseren Kunden, von Anfang bis Ende. Gemeinsam stellen wir die Qualitätsziele auf, bearbeiten sie, teilen Zwischenstände miteinander und schalten das fertige Ergebnis schlussendlich live. Mehr dazu können Sie auch in unserem Blogbeitrag Agile Werte und Prinzipien nachlesen.

Daher können wir sagen: ein gemeinsamer Entwicklungsprozess ist für uns der Schlüssel zum Erfolg - eine Software mit konstant hoher Qualität!