Produktlinien in der industriellen Softwareentwicklung
Seite 2: Grundlagen
Grundlagen der Produktlinien
Dabei unterscheidet sich Produktlinienentwicklung von den – meist wenig erfolgreichen – Ansätzen zur Softwarewiederverwendung in einigen wichtigen Punkten.
Ausgehend von einigen Einzelfällen – vor allem aus den frühen 90ern – wurde im Verlauf der letzten zehn Jahre systematisch herausgearbeitet, was bei der Produktlinienentwicklung wichtig ist. Es gibt kleine Unterschiede in der Darstellung, doch letztendlich kann man sie wie folgt zusammenfassen:
- Geschäftsorientierung: Die Entwicklung der Produktlinie ist wesentlich durch die Geschäftsstrategie des Unternehmens und die vom Unternehmen konkret zu entwickelnden Produkte getrieben.
- Variantenmanagement: Der Ăśbergang von einer Einzelsystemsicht auf eine ĂĽbergreifende Produktliniensicht rĂĽckt die Unterschiede zwischen Systemen in den Mittelpunkt.
- Architekturzentrierte Entwicklung: Die technische Basis ist zwar nicht die einzige, aber eine sehr wichtige Grundlage fĂĽr eine Produktlinienentwicklung. Dabei geht es insbesondere darum, eine einheitliche Architektur und Plattform zu schaffen, die fĂĽr die aktuellen wie fĂĽr die zukĂĽnftigen Produkte eine geeignete Basis bildet.
- Produkt- vs. Produktlinienentwicklung: Eine klare konzeptionelle Trennung zwischen der Entwicklung von Komponenten, die fĂĽr die Wiederverwendung ĂĽber eine Menge von Produkten hinweg bestimmt sind, und der von Einzelprodukten. (Dies ist nicht immer, aber oft mit einer organisatorischen Trennung verbunden.)
Damit ergibt sich, dass Produktlinienentwicklung ein notwendig ganzheitlicher Entwicklungsansatz ist: Das Verfahren betrifft technische, methodische und organisatorische Aspekte ebenso wie die Geschäftsstrategie des Unternehmens. Rein technikgetriebene Ansätze sind hingegen selten erfolgreich.
Prinzipiell werden bei der Produktlinienentwicklung zwei verschiedene Lebenszyklen unterschieden: die Applikationsentwicklung, verantwortlich für die Erstellung der eigentlichen Produkte, und die Domänenentwicklung, zuständig für den Bau der wiederverwendbaren Artefakte. Auf dieser Basis werden anschließend im Rahmen der Applikationsentwicklung die einzelnen Produkte entwickelt (siehe Abbildung 1).