Fachthema
Multi-Projekt-Management in der Software-Entwicklung
Die Kunst, mehr Bälle in der Luft zu halten. Davon, den Überblick zu bewahren, keine doppelten Aufwände zu betreiben und Fehler zu vermeiden.
Nur selten verläuft die Entwicklung von Embedded Systemen geradlinig. Die größte Herausforderung für Entwickler ist, den Überblick zu bewahren, keine doppelten Aufwände zu betreiben, Fehler zu vermeiden und mittels vernünftiger Modularität schneller ans Ziel zu kommen. GELin, die Embedded-Linux-Distribution von Ginzinger, bietet die notwendigen Mechanismen und Werkzeuge für Multi-Projektmanagement.
Beispiel 1 - Neuentwicklung einer modularen Produktfamilie
Ein Unternehmen plant die Entwicklung einer Produktfamilie von Bedieneinheiten. Diese sollen in Zukunft in unterschiedlichen Endgeräten zum Einsatz kommen. Es sollen unterschiedliche Displaygrößen, Bedienkonzepte, Rechenleistung sowie optionale Multimediaunterstützung berücksichtigt werden. Bei Bedarf sollen drahtlose Vernetzung, Cloud-Anbindung und Web-Bedienung möglich sein. Low-Budget und High-End-Touch-Displays sollen unterschiedliche Produktsegmente adressieren.
Zur Realisierung dieser Produktfamilien werden mehrere Sub-Projekte definiert und bearbeitet:
• Sub-Projekt für generische Bedieneinheiten
• Sub-Projekt für Connectivity
• Sub-Projekt für Remote-Bedienung mittels Web-Technologie und Node.js
• Sub-Projekte für die Anwendungen je nach Produktsegment
Die Sub-Projekte werden von unterschiedlichen Projektteams entwickelt und gepflegt. Zur Realisierung einer Produktvariante kombiniert das verantwortliche Produktteam die notwendigen Sub-Projekte und erzeugt Produktions- und Update Images für die gewählte Zielplattform automatisch.
Änderungen in der Anwendung fließen nur in das Sub-Projekt für die Anwendung ein. Notwendige Änderungen auf Grund von Security Threats werden im Connectivity-Sub-Projekt eingepflegt und sind anschließend sofort in allen abgeleiteten Produktvarianten wirksam. Mehrfacher Pflegeaufwand in unterschiedlichen Projekten gehört der Vergangenheit an.
Beispiel 2 - Weiterentwicklung bestehender Geräte
Auf Grund von erweiterten Anforderungen an Rechenleistung, Bedienung und Connectivity soll die bewährte Anwendung auf eine neue Plattform portiert werden. Für das neue Gerät werden Sub-Projekte für Bedienung und Connectivity erstellt. Die Anwendung aus dem existierenden Gerät wird ebenfalls in ein neues Sub-Projekt überführt. Durch Kombination der Sub-Projekte für Anwendung, Bedienung und Connectivity wird der Code für das neue Gerät generiert.
Mit dem neuen Gerät auf kommen Ideen für weitere Innovationen, die man jetzt rückwirkend auch Nutzern existierender Geräte anbieten will. Es genügt, die Erweiterungen im Sub-Projekt für die Anwendung vorzunehmen. Der neue Code mit den neuen Features kann dann für die existierenden Geräte generiert und verteilt werden. Das Produktportfolio des Anbieters wächst, ohne dass der Aufwand für das Variantenmanagement explodiert.
Hand in Hand mit allen Configuration-Management-Tools
Das GELin Projekt- und Variantenmanagement lässt sich mit vielen bekannten Konfigurations- und Versionsmanagementsystemen integrieren. Auf diese Weise steht immer die komplette Historie der unterschiedlichen Varianten zur Verfügung. Darüber hinaus verwaltet das GELin Multi-Projektmanagement alle Abhängigkeiten zwischen Projekten und Sub-Projekten und generiert sämtliche Informationen für das Buildsystem automatisch.