Qualitätsmaßnahmen (konstruktiv/analytisch)Qualitätsmaßnahmen der Softwareentwicklung können sich sowohl auf das Softwareprodukt bzw. -teilprodukt, wie auch auf den Prozess der Softwareentwicklung selbst beziehen. Ferner ist dabei jeweils zwischen konstruktiven und analytischen Maßnahmen zu unterscheiden. Konstruktive QualitätsmaßnahmenDie konstruktiven Qualitätsmaßnahmen sorgen dafür, dass das entstehende Softwareprodukt bzw. der Softwareentwicklungsprozess a priori bestimmte Eigenschaften besitzt. Methoden, Sprachen, Werkzeuge, Richtlinien, Checklisten und Standards bzw. deren zielführende Verwendung werden allgemeinhin zu den konstruktiven Qualitätsmaßnahmen gezählt [Balzert 2008, S. 477]. In der Softwareentwicklung sind Fehler zwar nicht vermeidbar. Nichts desto trotz gilt das Prinzip der maximalen konstruktiven Qualitätssicherung: Vorbeugen ist besser als Heilen und Fehler, die nicht gemacht werden, brauchen auch nicht behoben zu werden [Balzert 2008, S. 483]. Die konstruktiven Qualitätsmaßnahmen sind nur schwer abzugrenzen, denn sie greifen in alle fachlich-technischen wie auch in die unterstützenden Aufgaben der Softwareentwicklung ein (vgl. zu den unterstützenden und organisatorischen Gestaltungsbereichen [Mellis 2004] sowie zu den fachlich-technischen Gestaltungsbereichen [Sommerville 2007; Balzert 2001]). Jede Aktivität mit positiver Auswirkung auf die Qualität des Softwareproduktes bzw. -teilproduktes oder des Softwareprozesses kann als eine konstruktive Qualitätsmaßnahme aufgefasst werden. des Weiteren ist der Übergang von einer produkt- zu einer prozessorientierten Maßnahme nicht trennscharf, da jeder (Teil-)Prozess ein (Teil-)Ergebnis zur Folge hat, das ohne die entsprechende Aktivität nicht bzw. nicht in der vorliegenden Form entstanden wäre. Die (Anwendung von) Programmierrichtlinien oder die (Anwendung von Richtlinien zur) Dokumentation des Testprozesses sind ebensolche schwer zuordenbaren konstruktiven Qualitätsmaßnahmen. Nichtsdestotrotz sollen im Folgenden einige idealtypische produkt- und prozessorientierte konstruktive Maßnahmen genannt werden. Zu den konstruktiven Qualitätsmaßnahmen im Hinblick auf das Softwareprodukt zählen bspw. ein fest vorgegebenes Gliederungsschema für das Lasten- und Pflichtenheft, Entwurfsmuster für die Softwarearchitektur, Dokumentenstandards für die Struktur von Anforderungsdokumenten etc. Zu den konstruktiven Qualitätsmaßnahmen im Hinblick auf den Softwareentwicklungsprozess zählen bspw. die Planung und Verwendung eines Vorgehensmodells, Schulungen, vorgegebene Prozessrichtlinien für den Änderungsprozess, die Verwendung von CASE- und Projektmanagementwerkzeugen, Meilensteine und Freigabewesen der Teilprodukte, zielführende Festlegung von Verantwortlichkeiten (bspw. Sicherstellung der organisatorischen Unabhängigkeit des Qualitätsmanagements), Umgang mit Qualitätsrisiken etc. Analytische QualitätsmaßnahmenBei den analytischen Maßnahmen handelt es sich um diagnostische Maßnahmen. Sie „konstruieren“ in das Produkt oder den Entwicklungsprozess keine Qualität per se „hinein“, sondern messen das existierende Qualitätsniveau [Balzert 2008, S.477] U. u. werden analytische Maßnahmen jedoch erst möglich, wenn davor bestimmte konstruktive Maßnahmen ergriffen wurden. Bspw. stellt die geeignete Modularisierung eine wesentliche Voraussetzung für Modultests dar. Analog zu den konstruktiven Maßnahmen können sich die analytischen auf alle Entwicklungsphasen und dabei entweder auf das (Teil-)Produkt oder den Entwicklungsprozess selber beziehen. Bei den analytischen Verfahren werden analysierende und testende Verfahren unterschieden: Analysierende Verfahren sammeln gezielt und mit analytischen Mitteln Informationen über den Prüfling. D. h. hier wird auf die (dynamische) Ausführung des Prüflings mit konkreten Eingaben verzichtet. Testende Verfahren führen den Prüfling mit Eingaben aus [Balzert 2008, S. 478]. Die gängigsten analysierenden produktorientierten Verfahren sind v. a. (Produkt-)Reviews, Code-Inspektionen und sog. Walkthroughts als eine etwas weniger formale Form von Reviews. Beim (Produkt-)Review bzw. Walkthrough erfolgt eine mehr oder weniger formale Überprüfung schriftlicher Dokumente (bspw. Anforderungen, Architektur-Dokumente) durch Gutachter auf Fehler, Inkonsistenzen, Unvollständigkeiten etc. Bei einer Code-Inspektion sollen formale oder inhaltliche Mängel im Code identifiziert werden [Frühauf, Ludewig, Sandmayr 2002, S. 87ff.; Balzert 2008, S. 493ff.]. (Prozess-)Reviews, Assessments und Audits zählen zu den analysierenden prozessorientierten Verfahren. Hier wird der Entwicklungsprozess bzw. das Entwicklungsprojekt auf die Einhaltung von Vorgaben, Richtlinien, Standards, Plänen etc. untersucht [Frühauf, Ludewig, Sandmayr 2002, S. 135ff.]. Zu den testenden Verfahren sei auf Testen von Software in diesem Lexikon verwiesen. LiteraturBalzert, Helmut: Lehrbuch der Softwaretechnik, Bd. 1, Software-Entwicklung. 2. Auflage. Heidelberg : Spektrum Akad. Verl., 2001 Balzert, Helmut: Lehrbuch der Softwaretechnik, Bd. 2, Softwaremanagement. 2. Auflage. Heidelberg : Spektrum Akad. Verl., 2008 Frühauf, Karol ; Ludewig, Jochen ; Sandmayr, Helmut: Software-Projektmanagement und –Qualitätssicherung. 4. Auflage. Zürich : vdf, 2002 Mellis, Werner: Projektmanagement der SW-Entwicklung. Wiesbaden : Vieweg, 2004 Sommerville, Ian: Software Engineering. 8. Auflage. München : Pearson, 2007 |
