SW Qualitätsmanagement
Inhaltsverzeichnis
Was ist SW Qualitätsmanagement?
Definition
Das Software Qualitätsmanagement, kurz SW Qualitätsmanagement, stellt durch einen zusätzlichen Prüfschritt eine Schnittstelle zwischen Softwareentwicklung und Auslieferung des fertigen Programmes dar. Um die Qualität regelmäßig und immer wieder zu überprüfen, wird in der Regel eine entwicklungsbegleitende Qualitätslenkung genutzt, die sich nach flexiblen Plänen richtet. Die finale Abnahme ist nicht automatisch das Ende der Arbeit für das SW Qualitätsmanagement. Nachträglicher Support und Fehlerbehebung werden ebenfalls kontrolliert.
Nutzen und Ziel von SW Qualitätsmanagement
Das oberste Ziel im SW Qualitätsmanagement ist es, die Software auf ein Qualitätslevel zu heben, das die Vergabe der notwendigen Qualitätssiegel ermöglicht. Soll die Software beispielsweise in Deutschland zum Einsatz kommen, muss sie den Datenschutzanforderungen Deutschlands, Europas und den TÜV-Anforderungen für funktionelle Software gerecht werden.
Nach ISO/IEC 9126 gelten für alle neu veröffentlichten oder für Kunden zum Einsatz freigegebenen Softwaresysteme die Grundsätze der Funktionalität, Zuverlässigkeit, Benutzbarkeit, Effizienz, Änderbarkeit und Übertragbarkeit. Diese Qualitätsmerkmale sind leicht zu definieren, aber schwer umzusetzen und nehmen in der Praxis zahlreiche Arbeitswochen ein, in denen die einzelnen Punkte immer wieder angeglichen werden.
Die Qualitätsgrundsätze variieren, je nachdem um welche Art von Software es sich handelt und in welcher Branche sie zum Einsatz kommt. Besonders hoch sind die Anforderungen an alle Systeme, die mit steuerlich relevanten Daten oder Finanztransaktionen arbeiten. Allerdings hat die Einführung der Europäischen Datenschutz-Grundverordnung im Mai 2018 die Standards für alle Unternehmen die mit Daten arbeiten, erneut angehoben.
Sobald Kundendaten in irgendeiner Form erfasst, genutzt und verwahrt werden, steht die Sicherheit an erster Stelle. Über das SW Qualitätsmanagement werden diese Anforderungen so lange überprüft, bis sie erfüllt sind. Erst dann erfolgt eine Freigabe durch die zuständigen Teams.
Mangelhaftes oder fehlendes SW Qualitätsmanagement
Findet kein oder nur ein ungenügendes SW Qualitätsmanagement statt, kann die Software nicht für den Markt freigegeben werden. Schließt sich das Zeit Fenster, in dem ein Unternehmen die beauftragte Software benötigt, stocken auch alle anderen Zeitabläufe und es entsteht ein finanzieller Nachteil. Ein mangelhaftes Qualitätsmanagement zeigt sich jedoch häufig auch in der Notwendigkeit zur Nachbesserung einer Software.
Der Schaden für das Unternehmen, welches die Software geplant und programmiert hat, entsteht nicht nur bei Verzögerung oder Fristablauf. Nimmt der Kunde die Software in Betrieb und verliert durch Fehler im Code oder den beauftragten Funktionen eigene Daten, ist der Hersteller in der Pflicht, sein Produkt zu überarbeiten. Schwere Fehler, die Prozesse stören, oder, bei Produktions- und Funktionssoftware, Schäden an den Maschinen oder Produkten des Kunden verursachen, können zu Klagen führen.
Wissenswert
Unternehmen befinden sich daher erst dann auf der rechtlich sicheren Seite, wenn sie ein SW Qualitätsmanagement identifiziert, geschult und mit der ständigen Prüfung beauftragt haben und die durch das SW Qualitätsmanagementgemeldeten Schwachstellen sofort schließen. Die Endabnahme sollte alle Bereiche der Kontrollen vereinen und neben den grundlegenden und beauftragten Funktionen auch die Grundsätze umfassen. Nur dann erhalten Hersteller, Vertrieb und Kunde ein sicheres Softwareprodukt.
Strukturierung des Qualitätsmanagements
Die Prozesse, in denen das SW Qualitätsmanagement durchgeführt wird, teilen sich, je nach Methodik, meist in verschiedene Bereiche ein. Qualitätsplanung, Qualitätslenkung, Qualitätsprüfung und das Management der Qualitätskomponenten finden nacheinander statt. In einem ersten Schritt wird nach der Identifikation der Qualitätsanforderungen die Qualitätsplanung beschlossen. Die Planung geht in die Qualitätslenkung, also dem Einhalten eines Zeitplanes entlang der beschlossenen Stationen, über. Nach dem Beenden eines jeden Zwischenschrittes und des gesamten Arbeitsprozesses steht die Qualitätsprüfung.
All diese Schritte zählen zum Qualitätsmanagement, das entweder für ein bestimmtes Projekt eingerichtet, oder von Anfang an im Unternehmen etabliert wird. Die Aufgaben des Qualitätsmanagements sind vielfältig und verbinden Werbe- und Öffentlichkeitsmaßnahmen, Personal- und Produktaufstellung miteinander.
Dabei geht es nicht nur darum, eine regelmäßige Qualitätsprüfung an Waren vorzunehmen, sondern die Prozesse innerhalb des gesamten Unternehmens auf Effizienz und Wirtschaftlichkeit zu überprüfen. Auch moderne Anforderungen wie eine soziale oder ökologische Nachhaltigkeit werden durch das Qualitätsmanagement geprüft und gelenkt.
Je nach Art und Branche eines Unternehmens können im Qualitätsmanagement ganz verschiedene Ergebnisse fokussiert werden. Während einige Unternehmen auf besonders hochwertige Produkte setzen, bewerben andere Unternehmen ihren sozialen oder globalen Impact und verkaufen sich darüber.
Das Qualitätsmanagement nimmt die bestehenden und gewünschten Prozesse in seine Kontrollroutine auf und untersucht, wie der Soll-Zustand erreicht werden kann. Im Zusammenhang mit dem SW Qualitätsmanagement liegt der Fokus des Managements darauf, das Produkt auf den Markt, beziehungsweise an den Kunden, zu bringen.
Qualitätsplanung als erster Schritt
Die Qualitätsplanung ist als eine Art Brainstorming zu den gewünschten Abläufen im Entwicklungsprozess zu verstehen. Das Qualitätsmanagement plant gemeinsam mit Entwicklern und Kunden, oder Entwicklern und eigenem Unternehmen, was in Auftrag gegeben wurde und wie es umgesetzt wurde. Der Zeitplan selbst ist dabei erst der zweite Schritt.
Zuerst muss in einem Produktlenkungsplan festgehalten werden, wie gelenkt und kontrolliert werden soll. Denn das Qualitätsmanagement handelt nicht selbstständig sondern immer im Auftrag der Entwickler. Statt eines externen Prüfers schreiten die internen Kontrolleure ein, wenn die Prozesse nicht laufen wie geplant.
Der Qualitätsplan beinhaltet die gewünschten Prüfinstrumente, Prüfungsintervalle, Möglichkeiten zur Fehlerfindung und den Gegenstand der Entwicklung selbst. Ziel dieser umfassenden Planung ist es, noch vor Beginn der Arbeit an einer Software ein klar definiertes Konzept an der Hand zu haben, das keine Fragen offen lässt, welcher Mitarbeiter für welchen Punkt und die Erreichung welcher Etappe zuständig ist. Die Qualitätsplanung ersetzt jedoch nicht die Produktionsplanung.
Zeitplan und Qualitätslenkung
Der Prozess einer Softwareentwicklung verläuft entlang eines festgelegten Zeitplanes. Um die Qualität von Anfang an sinnvoll zu kontrollieren, muss dem zuvor festgelegten und gemeinsam beschlossenen Qualitätsplan gefolgt werden. Dazu müssen zuerst die Qualitätsanforderungen an die Software mit den Entwicklungsprozessen abgeglichen werden. Das SW Qualitätsmanagement ist der Ort, bzw. das Team, in dem die Prozesse erstellt und gestreamlined werden.
Um in die Phase der Qualitätslenkung einzutreten, werden aus dem Qualitätsplan die einzelnen Anforderungspunkte in einen Zeitstrahl gebracht, an dem entlang die Prozesse gelenkt werden sollen.
Beispiel:
Firma X entwickelt ein Buchhaltungsprogramm, das in allen Filialen eines Franchises eingesetzt werden soll. Dem Kunden ist die Sicherheit der Datenhaltung besonders wichtig, da das Programm weltweit im Einsatz sein wird und die höchsten Datenschutzbestimmungen nach DSGVO u.a. erfüllen muss. Der Nutzer soll bei der Installation entscheiden können, auf welcher von mindestens drei Sprachen die Software läuft. Die Buchhaltungs-Funktionen erstrecken sich von der automatischen Rechnungserfassung über mobile Scanner bis zur Datenbank für die Kontaktdetails der Kunden. Die Rechtevergabe muss pro Unterkategorie einzeln funktionieren. Das UI soll klassisch modern wirken.
Im Beispiel lauten die zu einfachen Zwischenziele der Qualitätsmerkmale: 1. Hohe Sicherheit, 2. Rechtevergabe- und Zugriffsmanagement, 3. An Sprachen anpassbares modernes UI, 4. Mobile Rechnungserfassung (und andere Funktionen), 5. Kontaktdatenbank.
Die 5 Qualitätsmerkmale können im Verlauf der Softwareentwicklung immer wieder einzeln geprüft werden. Im Endprodukt nach fünf Zwischenetappen müssen alle Merkmale vorhanden sein. Sie stellen die individuellen Anforderungen an den Auftrag dar, welche zusätzlich zu den rechtlichen Vorgaben zu prüfen sind.
In der Qualitätslenkung wird immer wieder die Frage gestellt: Liegt das Projekt im Zeitplan und entwickelt es sich in der festgelegten Zeitspanne weiter? Wenn ja, funktioniert die Lenkung und das Qualitätsmanagement muss lediglich die üblichen Fehlerquellen und Prozesse überwachen. Wenn nicht, sollte bereits hier korrigierend eingegriffen werden, bis das Projekt wieder im Plan liegt.
Qualitätsprüfung und Abnahme
Die Qualitätsprüfung wird immer dann benötigt, wenn eine Zwischenetappe erreicht oder die Arbeit an dem Softwareprodukt abgeschlossen ist. Im SW Qualitätsmanagement übernimmt die Qualitätsprüfung eine wichtige Rolle. Fehler, die hier nicht erkannt werden, werden an externe Prüfer mitübermittelt, oder gehen dem Kunden in Form des Produktes zu.
Solange die Software sich noch im Entwicklerunternehmen befindet, also nicht abgenommen wurde, können kleine und große Funktionsstörungen problemlos behoben werden. Verlässt das fertige Produkt das Unternehmen und ist fehlerhaft, wird es möglicherweise reklamiert.
Vor allem im Bereich der Sicherheitsgefährdung, beispielsweise in Bezug auf den Datenschutz, sollten mehrere Kontrollpunkte eingerichtet werden, um Fehlerquellen zu finden, bevor sie sich über die gesamte Software ausgebreitet haben. Natürlich ist es nicht möglich, jede Möglichkeit einer Fehlbedienung in Betracht zu ziehen. Die Wahrscheinlichkeit, gravierende Probleme zu finden, steigt jedoch mit jedem Prüfungsdurchgang.
Am Ende der finalen Qualitätsprüfung steht die Abnahme. Die Software kann dann einer Testgruppe zugeführt, oder dem Kunden übergeben werden. Testgruppen erzielen dann die besten verwertbaren Ergebnisse, wenn es sich bei der Anwendung um eine Software handelt, die durch den Kunden in den Markt eingeführt und nicht nur intern verwendet werden soll.
Wenn also auch Laienanwender sowohl UI als auch Funktion verstehen sollen, hilft es, der Zielgruppe eine Alpha- oder Beta-Version des Programmes vorzusetzen, um die Reaktionen darauf zu prüfen und Kritik in die Entwicklung einfließen zu lassen.
Modelle der Qualitätssicherung
Das Qualitätsmanagement kennt zahlreiche Modelle, nach deren Methodik die Qualität eines Projektes oder Unternehmens geprüft werden kann. Im SW Qualitätsmanagement arbeiten viele Unternehmen gern mit der testgetriebenen Entwicklung oder einem inkrementellen und schließlich iterativen Vorgehen.
Bei der inkrementellen Entwicklung steht das Befolgen des Entwicklungsplanes im Vordergrund, an dem sich die Qualitätsplanung verfolgen lässt. Die Versionen der Software werden nach Zeitplan fertiggestellt und geprüft. An die Abnahme kann dann die iterative Entwicklung angeschlossen werden.
Die Methoden lassen sich ebenfalls kombinieren statt nacheinander abwickeln. Als iterativ gilt die Entwicklung dann, wenn aus den vorhergehenden Reaktionen und Fehlern gelernt und verbessert wird. Langjährig betriebene Softwares erhalten oft nach vielen Jahren noch Patches oder Updates, wenn sich über die Nutzung und den Support neue Problemstellungen ergeben haben, die behoben werden können.
Ein weiteres beliebtes Planungsinstrument ist das Spiralmodell. Es eignet sich für Software besonders gut, weil jede Phase des Entwurfes, Programmes und der Entwicklungsschritte immer wieder neu verifiziert wird. Die Zyklen wiederholen sich in der Spirale so oft, bis die Abnahme im höchsten Zyklus erreicht ist.
Softwaretests im SW Qualitätsmanagement
Im Gegensatz zu einem ganz allgemeinen Qualitätsmanagement wird im SW Qualitätsmanagement gern zusätzlich mit Testreihen gearbeitet. Während das gängige Qualitätsmanagement vor allem Prozesse beobachtet, mitloggt und wieder in die ideale Planungsphase lenkt, greift der Softwaretest immer wieder praktisch und konstruktiv, gelegentlich auch destruktiv, in die Entwicklung ein.
Die Tests werden durch Entwickler, aber auch Designer und Kontrollgruppen durchgeführt. In der Phase der dynamischen Tests können verschiedene Features noch verstärkt oder entfernt, oder das UI angepasst werden.
Diese zusätzliche Qualitätssicherungsebene sorgt jedoch auch dafür, dass das Produkt selbst sich immer wieder stark verändert. So kann es sinnvoll sein, Qualitätssicherungsprozesse nach jedem Versionsabschnitt neu festzulegen und die Planung auch zeitlich an die neuen Ergebnisse anzupassen.
An die Einführung des Produktes schließt sich in der Softwareentwicklung stets der Support an. Hier können Endkunden und Anwender Probleme schildern, die dann wiederum im SW Qualitätsmanagement verwaltet und in eine neue Version einbezogen werden.
Sie haben noch Fragen?