Requirements Engineering und Baselines – was heißt das?

by | 13.11.2017 | Requirements Engineering

“Stopp! Hier machen wir einen Cut.”

Diesem Satz begegnen Sie im Filmgeschäft, wenn der Regisseur eine Szene beendet, der Assistent zwei Hände mit einer Filmklappe ins Bild hält und einmal kräftig die Klappe zusammenschlägt. Die Aufnahme ist damit beendet.

So ähnlich funktioniert das Ziehen von Baselines in der Software-Entwicklung. Nun gut, Sie drehen wahrscheinlich keinen neuen Blockbuster. Und auch eine Filmklappe werden Sie dafür nicht brauchen. Trotzdem machen Sie einen Schnitt in Ihrer Arbeit und halten eine Aufnahme fest: die Momentaufnahme Ihrer Arbeitsergebnisse.

Baselines schaffen Referenzpunkte

Sinn eines Cuts bzw. Schnitts im Film ist es, einen Bezugspunkt zu schaffen. Denn Bild und Ton werden in der Regel mit unterschiedlichen Geräten aufgezeichnet. Um beide an der richtigen Stelle wieder zu vereinen, setzt man einen Cut ein. Außerdem beschriften Sie die Klappe mit wichtigen Informationen: Filmtitel, Name des Regisseurs, Kameramann, welche Einstellung oder welche Szene es ist. Die Aufnahme lässt sich eindeutig identifizieren.

Auch in der Software-Entwicklung brauchen Sie eindeutige Bezugspunkte und Informationen, die Ihre Arbeitsergebnisse kennzeichnen. Denn Sie müssen u.a. sicherstellen, dass Veränderungen am Software-Code mit Informationen darüber, wer dafür verantwortlich war und was er geändert hat, dokumentiert werden. Außerdem sollten sich vorherige Zwischenstände der Software wiederherstellen lassen.

Dieselben Ansprüche hat das Requirements Engineering. Denn auch hier müssen Sie nachvollziehen können, wer was wann an einer Anforderung geändert hat, welche Anforderungen beauftragt sind oder ins nächste Release gehören.

Diese Aufgaben machen ein Versionsmanagement notwendig. Das Erstellen und Speichern von Versionen einzelner Arbeitsergebnisse ist jedoch nicht genug. Häufig müssen Sie eine Auswahl verschiedener Anforderungen, Dokumente, Use Cases usw. zusammenstellen und mit einem Label versehen wie z.B. “Das ist Release 1”. Diese Auswahl nennt man Konfiguration und dafür brauchen Sie das sogenannte Konfigurationsmanagement.

Was hat das alles mit Baselines zu tun? Ganz einfach: Eine Baseline ist die Möglichkeit, eine Konfiguration mit einem Label zu versehen und zusätzlich eine Version dieser Konfiguration zu erzeugen.

Wann ziehen Sie Baselines?

Sie können beispielsweise den aktuellen Stand Ihrer Anforderungen durch das Ziehen einer Baseline sichern. Darüber hinaus lässt sich auch für eine Gruppe von unterschiedlichen Elementen eine Baseline erzeugen. Denn im Projektmanagement entsprechen Baselines häufig Meilensteinen oder Releases, zu denen Sie natürlich unterschiedliche Arbeitsergebnisse erzeugen. Sobald Sie z.B. alle Ergebnisse von Release 1 fertiggestellt haben, ziehen Sie eine Baseline. Damit halten Sie sowohl den Stand der Anforderungen als auch aller zugehörigen Artefakte wie Testfälle oder Systemkomponenten sowie erstellter Dokumente fest.

Änderungen mit Baselines im Griff haben

Warum betreiben Sie den ganzen Aufwand? Baselines haben vor allem den Zweck, Änderungen im Projekt im Griff zu haben. Was passiert beispielweise, wenn Stakeholder ständig neue Wünsche in den Raum werfen und damit eine Vielzahl an Anforderungen schaffen, die den Zeitplan des Projektes gefährden? Ziehen Sie nun eine Baseline für die Anforderungen des Release 1 und lassen diese von den Stakeholdern absegnen, so können Sie sie auch hier als Referenzpunkt nutzen – dieses Mal, um Ihren Stakeholdern zu sagen: “Wir haben uns für dieses Release auf diese Anforderungen geeinigt. Wenn wir weitere umsetzen müssen, halten wir den Zeitplan nicht ein.”

Fazit

Versions- und Konfigurationsmanagement erfordert heutzutage Softwareunterstützung. Oftmals werden aber unterschiedliche Arbeitsergebnisse in unterschiedlichen Werkzeugen erstellt und versioniert, wodurch Fehler entstehen und der Arbeitsaufwand steigt. Daher empfiehlt sich ein integriertes Werkzeug, das Ihnen die Versionierung und das Ziehen von Baselines aller Arbeitsergebnisse per Klick ermöglicht.

Zudem stehen Ihre Arbeitsergebnisse nicht einfach nur “frei im Raum”, sondern sind miteinander verbunden: die Anforderung mit einem Testfall oder das Blockdiagramm mit einer Anforderung. Das heißt, dass Sie auch Änderungen an den Beziehungen kontrollieren und managen müssen.

Diese Herausforderungen lassen sich nur mit einem Tool bewältigen, das Sie sowohl in der Versionskontrolle als auch beim Ziehen von Baselines unterstützt. Dafür gibt es unsere Requirements Engineering-Software objectiF RM.

Versionskontrolle mit objectiF RM

Angenommen, Sie erfassen Ihre Anforderungen durch eine Beschreibung, die Art, die Priorität und die verbundenen Risiken. In objectiF RM geschieht das u.a. mithilfe von Formularen. Jetzt kommt die Anweisung, die Risikobetrachtung aus dem Formular zu nehmen. Also lassen Sie diese Informationen dort nicht mehr anzeigen. Drei Wochen vergehen und plötzlich heißt es: “Wir brauchen doch wieder die verbundenen Risiken.” Kein Problem, denn Sie können sich einfach die ursprüngliche Version des Formulars anzeigen lassen, abklären, ob es wieder so aussehen soll, und ggf. die Version wiederherstellen.

Revision eines Epics in objectiF RM - Wiederherstellen

Hier sehen Sie ein Epic und seine Historie. Dort können Sie Versionen wiederherstellen.

Baselines ziehen mit objectiF RM

Und wie ziehen Sie nun eine Baseline für Ihre Anforderungen? Oder für mehrere, unterschiedliche Elemente, also z.B. Anforderungen, Testfälle, Dokumente, Diagramme usw.?

In objectiF RM geht das in nur 2 Schritten:

  1. Sie legen eine Elementgruppe an.
  2. Sie erstellen eine Revision dieser Gruppe.

In Elementgruppen referenzieren Sie alle Arbeitsergebnisse, die im Zusammenhang stehen und von denen Sie die aktuellen Versionen mit einer Momentaufnahme sichern möchten. Dann erstellen Sie eine Revision dieser Gruppe und geben ihr ein passendes Label, z.B. „Release 1“. Fertig, Sie haben die Baseline gezogen und damit einen Referenzpunkt geschaffen. Alle Elemente der Gruppe erhalten nun automatisch eine Version in ihrer Historie, die mit dem Label der Baseline versehen ist.

Baseline ziehen in objectiF RM - Beispiel

Hier ziehen Sie eine Baseline für die dort aufgelisteten Elemente. In der Historie sehen Sie dann genau, wann die Baseline gezogen worden ist.

Übrigens: Ziehen Sie eine Baseline für Ihre Anforderungen und eine Anforderung ist mit einem Testfall verbunden, dann versioniert das Tool den Testfall automatisch mit. Denn beide Artefakte stehen ja in Beziehung zueinander. So lässt sich auch auf den Stand des Testfalls zugreifen, zu dem die Baseline gezogen wurde – egal, ob sich auch das Formular des Testfalls mittlerweile geändert hat.

Durch die Kombination von Versions- und Konfigurationsmanagement schaffen Sie somit Transparenz, Nachvollziehbarkeit und Sicherheit.

 

Neugierig geworden?

Dann lesen Sie hier alles über objectiF RM.

Oder starten Sie gleich einen kostenlosen Test.