 |
 | |  |  | | Beschreibung |  | Die Softwareentwicklung ist zumindest in der Planung gradlinig ausgelegt. Über verschiedene Meilensteine gelangt man zur Version 1.0, die dann kontinuierlich weiterentwickelt wird.
Dieses Prinzip funktioniert in der Praxis nur bis zu dem Punkt, an dem der Kunde oder die Kunden das Produkt erhalten und Weiterentwicklungswünsche äußern.
Spätestens ab diesem Zeitpunkt kommt es mit einer gradlinig ausgerichteten Softwareentwicklung oft zu Problemen. Die Entwicklung steht vor der Entscheidung, welcher Verbesserungswunsch in welches Release einfließen soll. Aus Kundensicht wäre es jedoch günstiger, wenn sein Wunsch so bald wie möglich umgesetzt wird, unabhängig vom nächsten Release.
Hierfür muss die Software parallel weiterentwickelt werden.
Zunächst ist bei jedem Release ein Branch zu erzeugen. Im Nebenzweig werden die Kundenwünsche eingearbeitet und ausgeliefert, während im Hauptzweig für das nächste Release entwickelt wird. Ist die Arbeit am offiziellen neuen Release beendet, können die bis dahin parallel vorgenommenen Änderungen eingemischt (Merge) werden. Diesen Sachverhalt verdeutlich die folgende Abbildung:
Das Prinzip ist somit recht einfach. Problematisch wird allerdings die Umsetzung.
Zuerst ist zu evaluieren, ob die im Projekt eingesetzten Werkzeuge solche parallelen Entwicklungszweige zulassen und ob sie prinzipiell eine solche Arbeitsweise eher unterstützen oder behindern.
Weiterhin sind zur Sicherstellung der Konsistenz einer Version nicht nur alle erstellten Produkte, sondern auch alle Hilfsmittel, mit denen sie erstellt werden, im Konfigurationsmanagement einzubinden. Speziell bedeutet dies, dass beispielsweise auch der Compiler und das Makefile in eine Versionsverwaltung eingebunden sein sollten.
Oftmals steht man vor dem Problem, dass die Versionsverwaltung aller Artefakte nicht von einem einzigen Werkzeug gewährleistet werden kann. Dann sind organisatorische Regelungen zu treffen, z. B. über Checklisten, um die Wiederherstellung eines bestimmten Releases zu ermöglichen. Diese Festlegungen (oder auch dieser Prozess) sind Teil des Buildmanagements. |  |
 | |  |  | |  | |  | |  |  |  | | Zu dieser Seite wurden noch keine Kommentare oder Bewertungen abgegeben. |
|
|  | |  |  |  |  | Parallele Entwicklung |  |  |  |  |   | Untergeordnet |  |  |  | |  |  |  |  | Weitere Themen |  |  |  | |  |  | |  |  |  | Glossar |  |  |  | |  |  |  |  |  |  |
|