Einführung in das Versions- und Variantenmanagement
- Arunabh Satpathy
- 15. Mai 2023
- 6 Minuten
Versionsverwaltung ist eine Methode, um verschiedene Versionen von Softwarepaketen durch die Vergabe von Nummern zu verfolgen. Sie ermöglicht es Ihnen, verschiedene Versionen derselben Anforderung auszuwählen und in unterschiedliche Releases aufzunehmen. Ein Automobilhersteller kann beispielsweise verschiedene Versionen der Motorsteuerungssoftware eines Elektroautos in den Fahrzeugen verschiedener Kunden nachverfolgen.
Das Variantenmanagement erfordert , dass Teams mehrere „Varianten“ oder Konfigurationen einer Hardware- oder Softwarekomponente verwalten. Es ermöglicht Teams, unterschiedliche Varianten einer Komponente zu erstellen, indem sie Arbeitselemente (oder verschiedene Versionen desselben Arbeitselements) in einem Container, einem sogenannten „Paket“, zusammenfassen. Diese verschiedenen Variantenpakete sind auf unterschiedliche Anwendungsfälle zugeschnitten. So kann beispielsweise ein Elektrofahrzeug (EV) eine kleinere Batterie mit geringerer Reichweite haben, während ein ansonsten identisches Fahrzeug mit einer Batterie mit höherer Reichweite ausgestattet ist. Wiederverwendung ist ein Schlüsselkonzept im Variantenmanagement.
Mit der Versions- und Variantenverwaltung wird der Lebenszyklus eines Workitems mehrdimensional. Beide Methoden helfen Ihnen, die Effizienz zu steigern und Kosten zu senken. Das Tool zur Versions- und Variantenverwaltung von Modern Requirements4DevOps wurde unter Berücksichtigung dieser Aspekte entwickelt und wird im Hub „Version Package“ auf Modern Requirements4DevOps verfügbar sein.
Welche Vorteile bietet VVM für Ihr Projekt?
Die Versions- und Variantenverwaltung bietet zahlreiche organisatorische Vorteile.
- Schnellere Markteinführung: Funktionen wie Versions- und Variantenverwaltung sorgen für weniger Versionskonflikte, verringern Unklarheiten und verbessern die Rückverfolgbarkeit. Das Erstellen und Wiederverwenden von Produktvarianten wie Produktkomponenten und Subsystemen ist wesentlich effizienter, als diese für jedes neue Produkt neu zu erstellen. Diese Funktion spart enorm viel Zeit, und wenn sich allgemeine Anforderungen ändern, können diese nach Wahl des Benutzers auf die Varianten übertragen werden. Sie tragen dazu bei, dass Ihr Unternehmen schneller auf Kundenbedürfnisse reagiert und Versionen schneller iteriert.
- Höhere Qualität: Die Verwaltung von Anforderungspaketen und Unterpaketen hilft Ihnen dabei, Anforderungen in einem Projekt effektiv zu organisieren und zu verwalten. Die kombinierten Vorteile von Rückverfolgbarkeit, Risikominderung, Konfliktlösung und mehr tragen dazu bei, dass Sie qualitativ hochwertigere Produkte entwickeln können.
- Geringere Kosten: Durch die Verwaltung von Versionen und Varianten lassen sich Kosten einsparen, da die Produkte eine höhere Qualität aufweisen und somit weniger Nachbesserungen erfordern, Anforderungen wiederverwendet werden können und Konflikte zwischen den Beteiligten gelöst werden.
- Basierend auf Azure DevOps und Modern Requirements: Sie können die Vorteile nutzen, die MR4DevOps den Anwendern zusätzlich zu Azure DevOps bietet, darunter Smart Docs, Folgenabschätzung, Versionsverwaltung und vieles mehr.
Sehen Sie, wie es funktioniert:
Sind Sie bereit, Ihr Anforderungsmanagement noch heute zu optimieren?
So funktioniert es
Aufbauend auf dem leistungsstarken Framework für die Zusammenarbeit von Modern Requirements können Sie auf die relevanten Daten zurückgreifen und diese in aussagekräftige Erkenntnisse, Zusammenfassungen und Anwendungsfälle umwandeln. So funktioniert es in einem Projekt zur Entwicklung von Hardware-Anwendungen:
- Änderungsverfolgung: Sie können Versionen von Arbeitselementen in Smart View mithilfe eines Formats vergleichen, das der Änderungsverfolgung ähnelt. Die Versionsverwaltung für Anforderungen ermöglicht es, Änderungen an den Anforderungen im Zeitverlauf nachzuverfolgen. So lässt sich leicht nachvollziehen, was geändert wurde, wer die Änderungen vorgenommen hat und wann sie vorgenommen wurden.
- Genehmigungsverfahren: Die Anforderungsversionsverwaltung ermöglicht die Einrichtung eines Genehmigungsverfahrens für Änderungen an den Anforderungen. Dadurch wird sichergestellt, dass Änderungen vor ihrer Umsetzung geprüft werden.
- Konfliktlösung: Das Anforderungsversionsmanagement hilft dabei, Konflikte zwischen Beteiligten zu lösen, die möglicherweise unterschiedliche Ansichten zu den Anforderungen haben. Es ermöglicht den Vergleich verschiedener Versionen der Anforderungen und die Auswahl der am besten geeigneten Version.
- Rückverfolgbarkeit: Das Anforderungsversionsmanagement trägt dazu bei, die Rückverfolgbarkeit zwischen den Anforderungen und anderen Aspekten des Projekts wie Entwurf, Test und Entwicklung sicherzustellen. Dadurch wird gewährleistet, dass die Anforderungen mit den anderen Aspekten des Projekts in Einklang stehen.
- Historie: Die Anforderungsversionsverwaltung bietet eine historische Aufzeichnung der Anforderungen, die zu einem späteren Zeitpunkt als Referenz herangezogen werden kann. Dies hilft, Nacharbeiten zu vermeiden und spart Zeit und Ressourcen.
- Verknüpfung nach oben/unten: Pakete können in einer Eltern-Kind-Beziehung zueinander stehen. Sie können ein Paket auch mit anderen Paketen nach oben oder unten verknüpfen. Beispielsweise können Sie den Antriebsstrang eines Elektroautos mit dem Ladenetzwerk oder dem Fahrzeugdesign verknüpfen.
- Auditierung: Das Anforderungsversionsmanagement trägt dazu bei, die Einhaltung von Vorschriften und Standards sicherzustellen, indem es einen Prüfpfad der an den Anforderungen vorgenommenen Änderungen bereitstellt. Dies hilft, Verstöße und rechtliche Konsequenzen zu vermeiden.
Und in einem Projekt zur Entwicklung von Softwareanwendungen funktioniert VPM wie folgt:
- Rückverfolgbarkeit: Das Anforderungsversionsmanagement hilft dabei, die an den Anforderungen vorgenommenen Änderungen sowie deren Auswirkungen auf das Gesamtprojekt nachzuverfolgen. Dies ist wichtig, um sicherzustellen, dass das Endprodukt den ursprünglichen Anforderungen entspricht.
- Zusammenarbeit: Teams können an verschiedenen Versionen von Anforderungen arbeiten und sich gegenseitig Feedback geben, was zu einer besseren Zusammenarbeit und einer schnelleren Lösung von Konflikten führt.
- Prüfung: Die Versionsverwaltung für Anforderungen ermöglicht die Nachverfolgung von Anforderungen und den im Laufe der Zeit daran vorgenommenen Änderungen. Dies ist hilfreich, um sicherzustellen, dass die Änderungen mit den Projektzielen und -standards im Einklang stehen.
- Genehmigung: Das Versionsverwaltungssystem kann genutzt werden, um den Genehmigungsprozess für jede Version der Anforderungen nachzuverfolgen. Dies trägt dazu bei, sicherzustellen, dass die Änderungen vor ihrer Umsetzung von den zuständigen Beteiligten genehmigt werden.
- Konfliktlösung: Bei widersprüchlichen Anforderungen hilft die Versionsverwaltung dabei, die Ursache des Konflikts zu ermitteln und ihn zu beheben. Dies kann durch den Vergleich verschiedener Versionen der Anforderungen und entsprechende Änderungen erfolgen.
- Baselining: Baselining ist der Prozess der Erstellung einer Basisversion der Anforderungen, die als Bezugspunkt für künftige Änderungen dient. Das Anforderungsversionsmanagement hilft dabei, die Basisversion zu pflegen und sicherzustellen, dass die daran vorgenommenen Änderungen genehmigt werden.
- Verknüpfung nach oben/unten: Pakete können in einer Eltern-Kind-Beziehung zueinander stehen. Sie können ein Paket auch mit anderen Paketen nach oben oder unten verknüpfen. Beispielsweise können Sie den Antriebsstrang eines Elektroautos mit dem Ladenetzwerk oder dem Fahrzeugdesign verknüpfen.
- Verlaufsprotokoll: Die Anforderungsversionsverwaltung erstellt ein Verlaufsprotokoll der an den Anforderungen vorgenommenen Änderungen, das als Referenz und für Analysen in der Zukunft nützlich ist. Dies kann dabei helfen, Muster in den Änderungen zu erkennen und den Entwicklungsprozess zu verbessern.
Wie und wann man VVM einsetzt
Die Versionsverwaltung baut auf den bestehenden Stärken von Modern Requirements und Azure DevOps auf, darunter Dokumentenerstellung, KI-gestützte Anforderungserstellung, Rückverfolgbarkeit und vieles mehr.
Im Bereich Hardware
In Hardware-Entwicklungsprojekten kann das Variantenmanagement im Anforderungsmanagement für verschiedene Anwendungsfälle eingesetzt werden.
Verwaltung verschiedener Versionen einer Produktlinie mit spezifischen Anforderungen
- Umgang mit kundenspezifischen Anforderungen an ein Produkt
- Verwaltung regionaler Anforderungen für ein Produkt
- Verwaltung von Altprodukten, die im Laufe der Zeit aktualisiert wurden
- Verwaltung verschiedener Prototypen während des Produktentwicklungsprozesses
- Verwaltung verschiedener Optionen und Zubehörteile, die zu einem Produkt hinzugefügt werden können
- Verwaltung verschiedener Softwareversionen für ein Produkt
Im Bereich Software
In der Softwareentwicklung kann die Variantenverwaltung im Anforderungsmanagement in verschiedenen Anwendungsfällen eingesetzt werden:
- Anpassung von Produkten an spezifische Kundenanforderungen
- Sicherstellung der Einhaltung lokaler Gesetze und Vorschriften bei Anwendungen, die für verschiedene Regionen entwickelt werden
- Entwicklung von Anwendungen für verschiedene Plattformen, darunter Desktop-, Web- und Mobilgeräte
- Verwaltung der Konfiguration verschiedener Produkte in Großprojekten
- Einsatz von Versionskontrolle im Softwareentwicklungsprozess
- Verwaltung verschiedener Softwareversionen, einschließlich Tests und Bereitstellung
- Ausrichtung auf bestimmte Marktsegmente mit spezifischen Merkmalen, Preisgestaltung und Markenprofil
- Risiken erkennen und mindern, indem verschiedene Funktionen und Konfigurationen getestet und bewertet werden können
- Förderung der Zusammenarbeit und Koordination zwischen Teams, die an verschiedenen Teilen des Projekts arbeiten
Der Microsoft-Faktor
Durch die Nutzung der leistungsstarken Funktionen zur Versions- und Variantenverwaltung von Modern Requirements können Sie die Erstellung von Anforderungen beschleunigen, die Anforderungsanalyse präzisieren und Fehler reduzieren.
Versions- und Variantenmanagement ergänzen das leistungsstarke Framework für die Zusammenarbeit von Modern Requirements, das leistungsstarke Tools wie Smart Docs, CoPilot4DevOps, Smart Reports, Trace Analysis, Baselining und vieles mehr umfasst. Modern Requirements bietet seinerseits alle Vorteile von Azure DevOps und erweitert diese zu einer universellen Lösung für das Anwendungslebenszyklusmanagement, die in das größere Microsoft-Ökosystem integriert ist.