Baseline. Zwischenstand der Arbeitsergebnisse festhalten.
Was sind Baselines in der Software-Entwicklung? Welche Vorteile haben sie? Und wie ziehen Sie eine Baseline?
Was sind Baselines in der Software-Entwicklung? Welche Vorteile haben sie? Und wie ziehen Sie eine Baseline?
Der Begriff Baseline stammt aus dem Konfigurationsmanagement. Das Konfigurationsmanagement beschreibt Tätigkeiten, um Konfigurationen zu leiten und zu lenken. Eine Konfiguration repräsentiert eine Gesamtheit von Arbeitsergebnissen, die das Produkt beschreiben. Eine Baseline (auch Referenzkonfiguration oder Basislinie genannt) entspricht dann laut IEEE einer:
“Spezifikation oder [einem] Produkt, das formal einem Review unterzogen worden ist und dem alle Verantwortlichen zugestimmt haben und das danach als Basis für die weitere Entwicklung fungiert und nur durch formal definierte Änderungsprozesse verändert werden kann.” (aus dem Englischen übersetzt)
Einfacher ausgedrückt: Wenn Sie eine Baseline ziehen, machen Sie zu einem bestimmten Zeitpunkt eine unveränderliche “Momentaufnahme” Ihrer Arbeit bzw. des Produkts.
Konfigurationsmanagement gibt es auch in der Software-Entwicklung. Software-Konfigurationsmanagement ist eine Methode, um die Entwicklung einer Software und Änderungen an Software-Systemen und Produkten während des gesamten Lebenszyklus zu kontrollieren. Sie stellt u.a. sicher, dass
Sie entwickeln dann Software von Baseline zu Baseline. In diesem Fall entspricht eine Baseline häufig einem Meilenstein oder Release: alle Arbeitsergebnisse, die zu diesem Release gehören, werden in ihrer aktuellen Version “eingefroren” – also zum Beispiel existierende Anforderungen, Testfälle oder Dokumente. Basierend auf diesem unveränderlichen Stand von Release 1 entwickeln Sie dann das Release 2.
Baselines finden Sie auch häufig im Anforderungsmanagement bzw. Requirements Management. Dort machen Sie aber nur eine Momentaufnahme Ihrer Anforderungen. Diesen Zwischenstand können Sie dann nutzen, um die Qualität der Anforderungen zusammen mit Ihren Stakeholdern zu prüfen, einem anderen Team zu übergeben oder eine Grundlage für die Designentwicklung zu haben. Vor allem die Qualitätsprüfung der Anforderungen ist wichtig, um einen sogenannten Scope Creep zu verhindern:
Stakeholder ändern ihre Wünsche und Ziele im Verlauf des Projekts, sodass neue Anforderungen hinzukommen. Dadurch verschiebt sich der Zeitplan des Projekts und die Kosten erhöhen sich. Wenn Sie regelmäßig Baselines Ihrer Anforderungen ziehen, dann können Sie auch regelmäßig das Feedback der Stakeholder einholen und die Anforderungen mit ihnen abklären. Ein weiterer Vorteil: Wenn Sie aus Versehen eine Anforderung löschen, lässt sich jederzeit zum Stand der Baseline zurückkehren.
Lesen Sie hier, um mehr über Requirements Management mit Tool zu erfahren >>
Definition von Baseline:
Um Baselines eindeutig bestimmbar zu machen, brauchen Sie eine Namenskonvention – also eine Regel, wie Sie die Baselines nennen. Vor allem für die Wiederherstellung von Versionen spielt diese Namenskonvention eine wichtige Rolle. Baselines im Sinne von Releases folgen oftmals dem 3-Nummern-Schema wie zum Beispiel 1.2.0, wobei:
entspricht.
Wie zuvor angesprochen, können Sie eine Baseline Ihrer Anforderungen ziehen, bevor Sie diese einem Abnahme-Review vorlegen. Die eigentliche und wichtigere Anforderungsbaseline, die auch der Definition nach IEEE folgt, ziehen Sie jedoch nach diesem Review. Denn diese Baseline ist dann von allen Beteiligten akzeptiert und gilt als erste Basis, um mit der Entwicklung, zum Beispiel bezüglich des Systems, fortzuschreiten.
Um die Baseline der Anforderungen erfolgreich ziehen zu können, sollten Sie u.a. Folgendes sicherstellen:
In objectiF RM ziehen Sie eine Baseline in nur 2 Schritten:
In einer Elementgruppe legen Sie alle Arbeitsergebnisse ab, für die Sie die Baseline ziehen möchten. Wichtig: Hier landen nicht die Original-Ergebnisse, sondern nur Referenzen darauf. Somit bleiben die ursprünglichen Elemente dort, wo Sie sie abgelegt haben.
Im nächsten Schritt erstellen Sie eine Revision der Elementgruppe und geben dieser einen passenden Namen, zum Beispiel “Release 2”. Sie haben die Baseline damit gezogen. Alle Elemente der Gruppe erhalten nun automatisch eine Version in ihrer Historie, die mit dem Namen der Baseline versehen ist.