Zur Arbeitssituation von Software-Entwicklern (1)

Die Änderbarkeit von Software als Qualitätsmerkmal unterschätzt

28.02.1992

*Udo Bittner und Johannes Schnath sind wissenschaftliche Mitarbeiter, Wolfgang Hesse ist Professor der Informatik mit Schwerpunkt Software-Engineering an der Philips Universität Marburg. Die drei Autoren zeichen für das IPAS-Projekt des MNFT verantwortlich.

Die Adaptierbarkeit von Softwaresystemen ist zum zentralen Qualitätsmerkmal geworden, das speziell für künftige evolutionäre Sytementwicklungen noch an Bedeutung gewinnen wird. Gleichzeitig stellt die Änderbarkeit eines Systems, so einen wichtigen Faktor für die Arbeitssituation von Software-Entwicklern dar.

Im Rahmen des vom Bundesforschungsministerium geförderten "Interdisziplinären Projekt zur Arbeitssituation in der Software-Entwicklung" (IPAS) wurden 29 industrielle Software-Entwicklungprojekte empirisch untersucht. Eine Auswertung der Interviews und Fragebögen zum Thema Änderbarkeit ergab, daß zirka 40 Prozent aller durchgeführten Änderungen auf interne Gründe und nicht auf Kundenwünsche zu rückgehen.

Wiederverwendbarkeit von Software-Komponenten

Die Frage nach der Softwarequalität gehört zu den zentralen Themen der Softwaretechnik und hat schon frühzeitig zur Etablierung des Teilgebiets der Softwarequalitätssicherung geführt. Beim Versuch, Softwarequalität näher zu definieren, hat sich eine Unterscheidung von Herstellungs- und Produktqualität als hilfreich erwiesen. Entsprechend der früher vorherrschenden - eher produktorientierten - Sehweise standen zu nächst Kriterien der Produktqualität im Vordergrund. Dazu gehören einerseits Kriterien, die sich unmittelbar auf die Anforderungen der Anwender an das Produkt beziehen, beispielsweise Schnittstellengestaltung, Robustheit, Zuverlässigkeit und Laufzeiteffizienz. Andererseits sind Kriterien zu beachten, die die Langlebigkeit des Produkts, seine Fortentwicklung und die Anpassung an sich ändernde Umgebungen oder Übertragung betreffen.

In den letzten Jahren hat sich die Erkenntnis durchgesetzt, daß es bei wachsender Vielfalt, Variabilität und Interdependenz von Softwaresystemen nicht länger vertretbar ist, jede benötigte Variante einer Softwarekomponente jeweils neu zu schreiben. Man braucht viel mehr Mechanismen, solche Varianten aus bestehenden Komponenten weiterzuentwickeln oder sogar automatisch zu erzeugen.

Eine wichtige Voraussetzung für die geforderte Wiederverwendbarkeit ist die Änderbarkeit von Softwarekomponenten. Sie hat heute aus noch einem weiteren Grund einen besonderen Stellenwert unter den QuaIitätskriterien: Früher gehörte die Stabilität der Anforderungen zu den Grundannahmen der Software-Entwicklung. Diese Grundannahme ist in den letzten Jahren jedoch nachhaltig erschüttert worden. Je anspruchsvoller, und damit oft weniger präzise, die Vorstellungen der Anwender werden und je länger Software-Entwicklungsprozesse dauern, desto wichtiger ist es für die Entwickler, flexible, leicht änderbare Softwarekomponenten herzustellen.

Adaptierbarkeit ist damit nicht nur ein Kriterium des Produkts, sondern mindestens

ebensosehr des Herstellungsprozesses: Je flexibler er ist und je mehr Änderungen und Erweiterungen am bereits Bestehenden er zuläßt, desto besser sind die Möglichkeiten, in diesem Prozess immer weitere Versionen und Varianten bestehender Softwarekomponenten zu entwickeln und den aktuellen Erfordernissen anzupassen.

Die Änderbarkeit eines Produkts ist aber auch für die Arbeitssituation der Software-Entwickler von Bedeutung. Die Arbeitssituation die im Mittelpunkt des Projekts IPAS steht, ist einerseits durch die arbeitspsychologischen Rahmenbedingungen, andererseits durch das

technische Umfeld wie zum Beispiel die eingesetzten Methoden und Werkzeuge bestimmt.

Immer dann, wenn Entwickler mit Wünschen wie Wieder- beziehungsweise Weiterverwendung bestehender Komponenten oder instabilen Anwenderanforderungen konfrontiert werden, spielt die Änderbarkeit ihrer Produkte eine herausragende Rolle für die Arbeitssituation. Schließlich sind die damit einhergehenden Arbeitsanforderungen gekennzeichnet durch hohe Komplexität und Unvorhersehbarkeit, Knappheit von Ressourcen - insbesondere Zeit - und weite Streuung der benötigten Informationen.

Nur wenn ihre Produkte sich leicht und mit vertretbarem Aufwand erweitern und ändern lassen, sind die Entwickler in der Lage, sich schnell auf unvorhergesehene Situationen einzustellen und wachsende Anforderungen der Anwender und des Managements zu erfüllen.

Im Rahmen von IPAS wurden alle Befragten gebeten, die Ursachen von Änderungen am Produkt prozentual einzuschätzen. Dabei waren drei Ursachen vorgegeben: Neue Lösungsideen, interne Anforderungen wie beispielsweise Kompatibilität zu anderen Projekten desselben Softwarehauses und nachträgliche oder falsch verstandene Wünsche des Kunden.

Es ergab sich entgegen den Erwartungen kein wesentlicher Unterschied zwischen Projekten mit externen Kunden und Inhouse-Entwicklungen. Überraschender Weise hatten die aufgrund der Kundenwünsche angefallenen Änderungen bei externen Kunden jedoch einen etwas höheren Anteil. Offensichtlich wird der in den Einzeluntersuchungen beobachtete direktere Zugriff der Fachabteilungen mehr als ausgeglichen durch nachträgliche Wünsche, die aufgrund von geringeren Kundenkontakten entstehen.

Ein erstaunliches Ergebnis hierbei war auch, daß in beiden Fällen nahezu 40 Prozent aller Änderungen nicht auf Kundenwünsche zurückgehen, vielmehr liegen die Ursachen hierfür in der Software-Entwicklung selbst. Diese nachträglichen Änderungsanforderungen können folglich auch nicht durch höhere Benutzerorientierung während der Entwicklung verhindert werden.

Die an der Untersuchung beteiligten Mitarbeiter wurden gebeten, die Änderungen an ihrem Produkt prozentual auf die Kategorien Datenstruktur, Funktionen/Funktionalität und Sonstiges (wie zum Beispiel Maskenlayout oder Ablaufgestaltung) zu verteilen.

Das Ergebnis bestätigt, daß die Datenstrukturen der stabilere Teil eines Softwaresystems sind. Eine detailliertere Analyse ergab, daß sich in Projekten, bei denen vorher ein Datenmodell entwickelt wurde, erstaunlicherweise das gleiche Verhältnis der Änderungen zeigte. Insgesamt waren in diesen Projekten aber weniger Revisionen nötig.

wird fortgesetzt