Produktfamilienentwicklung ( PFE ), auch Produktlinienentwicklung (PLE) genannt , basiert auf den Ideen der Domänenentwicklung des Software Engineering Institute . Dieser Begriff wurde von James Neighbors in seiner Dissertation von 1980 [ 1 ] an der University of California, Irvine, geprägt . Software-Produktlinien sind im Alltag weit verbreitet, doch bevor eine Produktfamilie erfolgreich etabliert werden kann, muss ein umfassender Prozess durchlaufen werden. Dieser Prozess wird als Produktfamilienentwicklung bezeichnet.
Produktfamilienentwicklung lässt sich als Methode definieren, die eine grundlegende Architektur für die Produktplattform eines Unternehmens schafft . Sie bietet eine Architektur, die sowohl auf Gemeinsamkeiten als auch auf geplanten Variabilitäten basiert. Die verschiedenen Produktvarianten können von der Basisproduktfamilie abgeleitet werden, wodurch die Möglichkeit zur Wiederverwendung und Differenzierung von Produkten innerhalb der Familie entsteht. Die Produktfamilienentwicklung ist konzeptionell vergleichbar mit der weit verbreiteten Verwendung von Fahrzeugplattformen in der Automobilindustrie .
Die Produktfamilienentwicklung ist ein relativ neuer Ansatz zur Entwicklung neuer Produkte, der sich in jüngster Zeit zur modellbasierten Produktlinienentwicklung (Model-Based Product Line Engineering, MBPLE) weiterentwickelt hat und die zentrale Bedeutung eines modellzentrierten Ansatzes in der Produktlinienentwicklung hervorhebt. Im Fokus steht die Entwicklung neuer Produkte, bei der Produktkomponenten wiederverwendet und Variabilität mit reduziertem Kosten- und Zeitaufwand realisiert werden kann. Gemäß ISO/IEC 26550/2015 und der neueren ISO/IEC 26580/2021, die das Konzept der merkmalsbasierten Produktlinienentwicklung einführte, geht es bei der Produktfamilienentwicklung darum, Komponenten und Strukturen so weit wie möglich wiederzuverwenden.
Mehrere Studien haben gezeigt, dass die Anwendung eines produktfamilienorientierten Entwicklungsansatzes zahlreiche Vorteile bietet. [ 2 ] Hier eine Liste einiger dieser Vorteile:
- Höhere Produktivität
- Höhere Qualität
- Schnellere Markteinführung
- Geringerer Arbeitskräftebedarf
Das unten erwähnte Nokia-Beispiel verdeutlicht diese Vorteile ebenfalls.
Die Veröffentlichung des Buches „Model-Based Product Line Engineering (MBPLE): The feature-based path to product lines success“ von Marco Forlingieri, Tim Weilkiens und Hugo Guillermo Chalé-Gongora im Jahr 2025 formalisierte die Grundlage der Disziplin und enthielt Best Practices sowie neue Fallstudien aus der Industrie. [ 3 ]
Gesamtprozess
Der Produktfamilienentwicklungsprozess umfasst mehrere Phasen. Die drei Hauptphasen sind:
- Phase 1: Produktmanagement
- Phase 2: Domänenentwicklung
- Phase 3: Produktentwicklung
Der Prozess wurde auf einer höheren Abstraktionsebene modelliert. Dies hat den Vorteil, dass er auf alle Arten von Produktlinien und -familien, nicht nur auf Software , angewendet werden kann . Das Modell ist auf jede Produktfamilie anwendbar. Abbildung 1 (unten) zeigt ein Modell des gesamten Prozesses. Im Folgenden wird der Prozess detailliert beschrieben. Die Prozessbeschreibung enthält Erläuterungen der Aktivitäten und der verwendeten wichtigen Konzepte. Alle kursiv gedruckten Konzepte werden in Tabelle 1 erläutert.
Phase 1: Produktmanagement
Die erste Phase dient dem Start des gesamten Prozesses. In dieser Phase werden wichtige Aspekte, insbesondere wirtschaftliche, definiert. Sie ist verantwortlich für die Ausarbeitung von Marktstrategien und die Festlegung des Produktumfangs , der festlegt, was zur Produktfamilie gehören soll und was nicht.
Unternehmensvision bewerten
In dieser ersten Phase werden alle relevanten Kontextinformationen zur Definition des Produktlinienumfangs gesammelt und ausgewertet. Wichtig ist die Entwicklung einer klaren Marktstrategie unter Berücksichtigung externer Marktinformationen, wie beispielsweise der Verbrauchernachfrage. Die Phase sollte ein Kontextdokument mit Richtlinien , Rahmenbedingungen und der Produktstrategie liefern .
Definition des Produktlinienumfangs
Zur Festlegung des Projektumfangs werden Scoping-Techniken angewendet. Dies basiert auf dem vorherigen Prozessschritt, in dem externe Faktoren berücksichtigt wurden. Das Ergebnis ist eine Produktportfoliobeschreibung mit einer Liste aktueller und zukünftiger Produkte sowie einer Produkt-Roadmap .
Es lässt sich darüber streiten, ob Phase 1, das Produktmanagement, Teil des Produktfamilienentwicklungsprozesses ist, da es als eigenständiger Geschäftsprozess betrachtet werden könnte , der sich stärker auf Managementaspekte als auf den Produktaspekt konzentriert. Phase 2 benötigt jedoch wichtige Beiträge aus dieser Phase, da ein Großteil des Umfangs in ihr definiert wird. Daher ist es wichtig, die Produktmanagementphase (Phase 1) als Grundlage für den Domänenentwicklungsprozess in den Gesamtprozess zu integrieren.
Phase 2: Domänenentwicklung
In den Phasen der Domänenentwicklung werden die variablen und gemeinsamen Anforderungen für die gesamte Produktlinie erfasst. Ziel ist die Schaffung einer wiederverwendbaren Plattform. Das Ergebnis dieser Phase ist ein Satz gemeinsamer und variabler Anforderungen für alle Produkte der Produktlinie.
Domänenanforderungen analysieren
Diese Aktivität umfasst alle Schritte zur Analyse des Anwendungsbereichs hinsichtlich der konzeptionellen Anforderungen. Die Anforderungen werden kategorisiert und in zwei neue Aktivitäten aufgeteilt. Das Ergebnis ist ein Dokument mit der Anwendungsbereichsanalyse .
Wie in Abbildung 1 zu sehen ist, verläuft die Definition gemeinsamer Anforderungen parallel zur Definition variabler Anforderungen. Beide Aktivitäten finden gleichzeitig statt.
Gemeinsame Anforderungen definieren
Beinhaltet alle Aktivitäten zur Ermittlung und Dokumentation der gemeinsamen Anforderungen der Produktlinie, was zu einem Dokument mit wiederverwendbaren gemeinsamen Anforderungen führt .
Variable Anforderungen definieren
Beinhaltet alle Aktivitäten zur Ermittlung und Dokumentation der variablen Anforderungen der Produktlinie, was zu einem Dokument mit variablen Anforderungen führt .
Designbereich
Dieser Prozessschritt umfasst Aktivitäten zur Definition der Referenzarchitektur der Produktlinie. Dadurch wird eine abstrakte Struktur für alle Produkte der Produktlinie generiert.
Domäne implementieren
In diesem Schritt werden ein detaillierter Entwurf der wiederverwendbaren Komponenten und die Implementierung dieser Komponenten erstellt.
Testbereich
Die Wiederverwendbarkeit der Komponenten wird geprüft und validiert. Die Komponenten werden anhand ihrer Spezifikationen getestet. Nach erfolgreichem Test aller Komponenten in verschiedenen Anwendungsfällen und Szenarien ist die Domänenentwicklungsphase abgeschlossen.
Phase 3: Produktentwicklung
In der letzten Phase wird Produkt X entwickelt. Dieses Produkt X nutzt die Gemeinsamkeiten und Unterschiede aus der Domänenentwicklungsphase und basiert somit auf der in dieser Phase etablierten Plattform. Es übernimmt im Wesentlichen alle gemeinsamen Anforderungen und Ähnlichkeiten aus der vorhergehenden Phase sowie seine eigenen variablen Anforderungen. Auf Grundlage der Domänenentwicklungsphase und der individuellen Anforderungen der Produktentwicklungsphase entsteht ein vollständiges, neues Produkt. Nach erfolgreicher Prüfung und Freigabe kann Produkt X ausgeliefert werden.
Produktanforderungen definieren
Die Produktanforderungsspezifikation für das einzelne Produkt entwickeln und die Anforderungen aus der vorhergehenden Phase wiederverwenden.
Designprodukt
Alle Aktivitäten zur Erstellung der Produktarchitektur . Dabei wird die Referenzarchitektur aus dem Schritt „Designdomäne“ genutzt, die benötigten Teile der Referenzarchitektur werden ausgewählt und konfiguriert sowie produktspezifische Anpassungen vorgenommen.
Produkt erstellen
Während dieses Prozesses wird das Produkt unter Verwendung von Auswahlen und Konfigurationen der wiederverwendbaren Komponenten erstellt .
Testprodukt
In diesem Schritt wird das Produkt anhand seiner Spezifikationen geprüft und validiert. Ein Prüfbericht enthält Informationen zu allen durchgeführten Tests und gibt einen Überblick über mögliche Fehler im Produkt. Wird das Produkt im nächsten Schritt nicht akzeptiert, beginnt der Prozess wieder mit der Produktentwicklung. In Abbildung 1 ist dies mit „[unzufrieden]“ gekennzeichnet.
Produkt liefern und Support leisten
Der letzte Schritt ist die Abnahme des Endprodukts. Wenn es erfolgreich getestet und als vollständig freigegeben wurde, kann es ausgeliefert werden. Entspricht das Produkt nicht den Spezifikationen, muss es nachgebaut und erneut getestet werden.
Die nächste Abbildung zeigt den Gesamtprozess der Produktfamilienentwicklung, wie oben beschrieben. Es handelt sich um eine vollständige Prozessübersicht mit allen Konzepten, die den einzelnen Schritten zugeordnet sind.
Prozessdatendiagramm
Auf der linken Seite ist der gesamte Prozess von oben nach unten dargestellt. Alle Aktivitäten auf der linken Seite sind durch gestrichelte Linien mit den Konzepten auf der rechten Seite verknüpft. Jedem Konzept ist eine Nummer zugeordnet, die seine Verbindung zu anderen Konzepten widerspiegelt.

Liste der Konzepte
Im Folgenden werden die Konzepte erläutert. Die meisten Definitionen stammen aus Pohl, Bockle & Linden (2005), ergänzt durch einige neue Definitionen.
| Konzept | Definition |
|---|---|
Domänenanalyse | Das Dokument enthält eine Analyse des Anwendungsbereichs, anhand derer sich gemeinsame und variable Anforderungen aufteilen lassen. |
Wiederverwendbare allgemeine Anforderungen | Das Dokument enthält Anforderungen, die für alle Produkte der Produktlinie gelten. |
Variable Anforderungen | Das Dokument enthält die Ableitung kundenspezifischer Anforderungen für verschiedene Produkte. |
Referenzarchitektur | Bestimmt die statische und dynamische Zerlegung, die für alle Produkte der Produktlinie gilt. Außerdem die Sammlung gemeinsamer Regeln, die die Konstruktion, die Realisierung der Teile und deren Kombination zu Produkten leiten. |
Variabilitätsmodell | Definiert die Variabilität der Produktlinie. |
Design- und Implementierungsressourcen wiederverwendbarer Komponenten | Die wichtigsten Komponenten für die Design- und Implementierungsaspekte, die für die gesamte Produktfamilie relevant sind. |
Testergebnisse | Die Ergebnisse der im Rahmen des Domänentests durchgeführten Tests. |
Wiederverwendbare Testartefakte | Zu den Testartefakten gehören der Domänentestplan, die Domänentestfälle und die Domänentestfallszenarien. |
Anforderungsspezifikationen | Die Anforderungen an ein bestimmtes Produkt. |
Produktarchitektur | Vergleichbar mit der Referenzarchitektur, enthält diese jedoch die produktspezifische Architektur. |
Anwendung wird ausgeführt | Eine funktionierende Anwendung, die später getestet werden kann. |
Detaillierte Designartefakte | Dazu gehören die verschiedenen Arten von Modellen, die die statische und dynamische Struktur jeder Komponente erfassen. |
Testbericht | Dokument mit allen Testergebnissen des Produkts. |
Problembericht | Dokument, in dem alle beim Testen des Produkts aufgetretenen Probleme aufgelistet sind. |
Endprodukt | Die Auslieferung des fertigen Produkts. |
Familienmodell | Das sich überschneidende Konzept aller Familienmitglieder mit allen Unterprodukten. |
Familienmitglied | Das Konzept des individuellen Produkts. |
Kontextdokument | Dokument mit wichtigen Informationen zur Festlegung des Umfangs; enthält Richtlinien, Einschränkungen und die Produktionsstrategie. |
Richtlinien | Markt-/Geschäfts-/Produktrichtlinien |
Einschränkungen | Markt-/Geschäfts-/Produktbeschränkungen |
Produktstrategie | Produktstrategie in Bezug auf die Märkte |
Produktportfoliobeschreibung | Portfolio mit allen verfügbaren Produkten und ihren wichtigsten Eigenschaften. |
Liste der aktuellen und zukünftigen Produkte | Eine Liste aller aktuellen Produkte und der Produkte, die zukünftig produziert werden. |
Produkt-Roadmap | Beschreibt die Merkmale aller Produkte der Produktlinie und kategorisiert diese in gemeinsame Merkmale, die Bestandteil jedes Produkts sind, und variable Merkmale, die nur Bestandteil einiger Produkte sind. |
Tabelle 1: Liste der Konzepte
Beispiel
Es gibt einige gute Beispiele für die erfolgreiche Anwendung von Produktfamilienentwicklung. Das abstrakte Modell der Produktfamilienentwicklung ermöglicht verschiedene Einsatzmöglichkeiten, die sich größtenteils auf den Markt für Unterhaltungselektronik beziehen . Im Folgenden wird ein Beispiel für die Anwendung des Produktlinienentwicklungsprozesses anhand einer realen Erfahrung von Nokia gegeben.
Nokia produziert verschiedene Produktarten. Dazu gehört auch eine Mobiltelefon -Produktfamilie, die jährlich 25 bis 30 neue Modelle umfasst. Diese Produkte werden weltweit vertrieben, weshalb die Unterstützung zahlreicher Sprachen und Benutzeroberflächen erforderlich ist. Eine zentrale Herausforderung besteht darin, mehrere unterschiedliche Benutzeroberflächen zu unterstützen. Da neue Produkte in rascher Folge auf den Markt kommen, muss dies so effizient wie möglich erfolgen. Die Produktfamilienentwicklung ermöglicht es, Software für die verschiedenen Produkte zu erstellen und diese Variabilität zu nutzen, um die Software an jedes einzelne Mobiltelefon anzupassen.
Der Fall Nokia ist vergleichbar mit einer typischen Software-Produktlinie . In der ersten Phase, dem Produktmanagement , wird der Umfang der verschiedenen Mobiltelefonserien definiert. In der zweiten Phase, dem Domänen-Engineering , werden die Anforderungen für die gesamte Produktfamilie und die einzelnen Telefontypen, z. B. die Serien 6100/8300, festgelegt. In dieser Phase werden die Softwareanforderungen erstellt, die als Grundlage für die gesamte Produktfamilie dienen. Dies beschleunigt den gesamten Softwareentwicklungsprozess. Die letzte Phase, das Produkt-Engineering , konzentriert sich stärker auf die einzelnen Telefontypen. Die Anforderungen aus der vorhergehenden Phase werden genutzt, um die individuelle Software für den jeweiligen Telefontyp zu entwickeln.
Durch die Verwendung einer Produktlinie konnte Nokia die Produktion neuer Mobiltelefonmodelle von 5-10 auf rund 30 steigern. [ 4 ]
Siehe auch
- Automatische Programmierung
- Domänenanalyse
- Merkmalsmodell
- Featureorientierte Programmierung
- Emergent Coding
- Produktlinien für Multiagentensysteme
- Systemtechnik
- Versionsverwaltung
Referenzen
- ^ https://escholarship.org/uc/item/5687j6g6 Softwareentwicklung mithilfe von Komponenten, abgerufen am 09.01.2021
- ^ Clements P. & Northrop LM (2003). Software Product Lines. Präsentation des Carnegie Mellon Software Engineering Institute. Abgerufen am 26. März 2006 von: http://www.sei.cmu.edu/
- ^ Forlingieri M., Weilkiens T. & Chalé-Gongora HG (2025). Modellbasierte Produktlinienentwicklung (MBPLE): Der merkmalsbasierte Weg zum Erfolg von Produktlinien. Wiley & Sons.
- ^ Carnegie Mellon Software Engineering Institute (SEI). Software-Produktlinien. Abgerufen am 17. Februar 2006 von: https://web.archive.org/web/20171005173029/http://www.sei.cmu.edu/productlines/
- Jan Bosch , Entwurf und Nutzung von Softwarearchitekturen: Einführung und Weiterentwicklung eines Produktlinienansatzes, ACM Press/Addison-Wesley Publishing Co., New York, NY, 2000 ISBN 978-0201674941https://www.amazon.com/Design-Use-Software-Architectures-Bosch/dp/0201674947
- Europäisches Software-Institut (ESI). Abgerufen am 17. Februar 2006 von: https://web.archive.org/web/20070203151901/http://www.esi.es/Families/famResults.html
- Pohl K., Bockle G. & Linden F. van der (2005). Software-Produktlinien-Engineering. Berlin, Heidelberg, New York: Springer-Verlag. ISBN 978-3-540-28901-2https://www.amazon.com/Software-Product-Line-Engineering-Foundations-dp-3540243720/dp/3540243720