^

Software-Produktordnungssysteme

[10.10.2006]

Foto: alphaspirit / fotolia.com
Die Rahmenbedingungen in der Softwareentwicklung ändern sich ständig. Wandlungsfähigkeit und Wiederverwendung innerhalb der Produktprogramme von Softwareunternehmen sind notwendig, damit sie effizient auf diese Verän­derungen reagieren können und wettbewerbsfähig bleiben. Den meisten Soft­wareunternehmen mangelt es jedoch an Methoden zur Entwicklung einer Ar­chitektur wandlungsfähiger Softwareprodukte, die höchstmögliche Wiederver­wendung ermöglicht. Auf Basis von Software-Produktordnungssystemen und Produktlinienansätzen, wie sie in der Industrie bereits erfolgreich eingesetzt werden, können in der Softwareentwicklung Kosteneinsparungen erzielt und die Wettbewerbsfähigkeit gesteigert werden.

Die zunehmende Komplexität und Vielfalt der Kunden­­anforderungen und der interne Druck zur Reduktion von Entwicklungs­kosten, Wartungskosten und der Entwicklungsdauer bringen Softwareunternehmen vermehrt in den Zielkonflikt zwischen Standardisierung und Individualisierung.

Software-Produktordnungssysteme stellen einen strukturierten Aufbau eines Produktprogramms dar, durch den das Spannungsfeld zwischen Individualisierung der Softwareprodukte nach außen (zum Markt hin) und Standardisierung nach innen (im Unternehmen) gelöst werden kann. Im Gegensatz zu einer Produktlinie erstrecken sich Software-Produktordnungssysteme mehrdimensional über ein gesamtes Produktprogramm.

Ziel eines modernen Software-Produktordnungssystems ist somit die simultane Verknüpfung von Produktstandardisierung und -individualisierung zur Bestimmung der optimalen Vielfalt in einem Softwareproduktprogramm.

Ausgangspunkt für die Gestaltung eines Software-Produktordnungssystems sind die Kunden­anforderungen in Form von Merkmalen und deren Ausprägungen sowie gewünschter Funktionalität. Hierbei werden Funktionen und davon ausgehend Anwendungsbestandteile unterschieden, die spezifisch für eine Produktvariante sind bzw. über mehrere Produktvarianten gemeinsam eingesetzt werden können. Somit lassen sich produktspezifische Softwareartefakte in Komponenten und Modulen zusammenfassen und unspezifische Softwareartefakte in Plattformen integrieren.

Die Verbreitung von Produktordnungssystemen in der Softwareentwicklung ist jedoch noch sehr schwach. Beispiele für Software-Produktordnungssysteme finden sich bisher hauptsächlich in Großunternehmen, z.B. die Plattform syngo bei Siemens Medizintechnik. Dort werden verschiedene Funktionen über unterschiedliche Produktreihen implementiert, wodurch die Wiederverwendung erheblich erhöht und die Entwicklungsaufwände signifikant reduziert werden konnten.

Dennoch fehlen in der Softwarebranche allgemeingültige Vorgehensmodelle und geeignete Methoden, die das Produktmanagement und die Softwareentwicklung befähigen, die geeigneten Funktionen für ein Produktordnungssystem zu identifizieren und in der Produktarchitektur umzusetzen. Entscheidend hierbei ist der gleichzeitige Einsatz von betriebswirtschaftlichen Methoden und von Ansätzen aus dem Software-Engineering.

Eine mögliche Vorgehensweise für Software-Produktordnungssysteme gliedert sich in die Analysephase, die Gestaltungsphase und die Umsetzungsphase.

In der Analysephase werden zunächst das Produktprogramm analysiert und die Kundenanforderungen ermittelt.

  • Die Hauptaufgaben bei der Analyse des Produktprogramms sind die Abgrenzung des Untersuchungsbereichs und die Strukturierung des Produktprogramms unter Berücksichtigung der Organisation und Prozesse der Softwareentwicklung im Unternehmen. Ziel sind dabei im Wesentlichen die Aufstellung einer Produktstruktur und die Ableitung einer Funktionsstruktur durch den Einsatz von Methoden wie der Funktions-Produkt-Matrix, dem Software QualityFunction-Deployment etc.
  • Bei der Ermittlung der Kundenanforderungen geht es im Wesentlichen um die Identifikation, Quantifizierung und Clusterung von Kundenpräferenzstrukturen für die jeweiligen Software-Produkte. Ziel ist die Definition von Merkmalen und Ausprägungen, durch die sich die Software-Produktreihen aus Kundensicht beschreiben lassen. Dies kann unter Verwendung von Methoden wie der Conjoint-Analyse, dem Kano-Modell und der Clusteranalyse geschehen, die in den Prozess des Software-Requirements-Engineering aufgenommen werden müssen.

In der Gestaltungsphase wird das Produktordnungssystem konfiguriert und ausgestaltet.

  • Hauptaufgabe bei der Konfiguration eines Produktordnungssystems ist die Parametrisierung der Funktionslösungen. Dabei werden die ermittelten Funktionen dahingehend analysiert ob sie Differenzierungscharakter haben oder ob sie Produktprogramm übergreifend verwendet werden. Mit Hilfe von Methoden wie der Spaltungstreibermatrix lassen sich Differenzierungsfunktionen ableiten, die in einzelnen Modulen oder Komponenten realisiert werden. Mit Hilfe einer Bündelungstreibermatrix können Funktionen identifiziert werden, die sich für die Integration in produktlinien- oder produktprogrammübergreifende Plattform eignen.
  • Bei der Ausgestaltung eines Software-Produktordnungssystems stehen der Entwurf einer einheitlichen Architektur und die Spezifikation der Schnittstellen im Vordergrund. Unter Verwendung von Methoden zur Schnittstellenanalyse soll die Schnittstellenvielfalt und -komplexität reduziert werden.

Die Umsetzungsphase dient der Einführung oder Restrukturierung des Produktordnungssystems. Dazu müssen Umsetzungsmaßnahmen abgeleitet und organisatorische Veränderungen vollzogen werden. Dabei spielt auch die monetäre Bewertung des Produktordnungssystems eine große Rolle. Insbesondere ist zu analysieren, ob es ein ausgewogenes Kosten-Nutzen-Verhältnis zwischen der vom Kunden geforderten Funktionalität und der mit ihr verbundenen Kosten für die Entwicklung von Plattformen und Modulen gibt.

Fazit:

Die Lösung des Spannungsfeldes zwischen Standardisierung nach innen und Individualisierung nach außen sowie zwischen Stabilität und Flexibilität wird zum entscheidenden Wettbewerbsfaktor. Software-Produktordnungssysteme können diesen Zielkonflikt lösen, da sie den Kunden­anforderungen besser gerecht werden und gleichzeitig die Komplexität der Softwareprodukte verringern. Bei der Gestaltung von Software-Produktordnungssystemen werden betriebswirtschaftliche Methoden, die in anderen Industriebranchen bereits seit langem erfolgreich sind, auf Software-Produkte adaptiert. Auf diese Weise können die Wiederverwendung in der Softwareentwicklung erhöht und Entwicklungsaufwände erheblich reduziert werden.

Weiterführende Literatur

VorherigeNächste