Mit dem Fokus auf Microsoft Technologien setzt AIT seit dem allerersten Release auf das Visual Studio Team System als Plattform für den gesamten Application-Lifecycle für die Individualsoftware-Entwicklung. Die aktuelle Version 2008 weist jedoch noch Lücken im Requirements-Engineering auf, die es zu füllen galt. Wir haben ein Werkzeug zur Synchronisaiton von Word-Spezifikationsdokumenten mit dem Team Foundation Server entwickelt und seit geraumer Zeit im Einsatz. Wir haben wesentliche Erfahrungen aus unseren Projekten in diesem Beitrag in aller Kürze zusammengefasst…
Anforderungen auf- und abnehmen
Ausgangsbasis jeglicher professionellen Entwicklung ist ein Lastenheft, welches die gewünschte Funktionsweise und idealerweise die Rahmenbedingungen des Systems beschreibt.
Für die Aufnahme von Anforderungen in Form eines Pflichtenheftes verwenden wir eine strukturierte Microsoft Word-Vorlage. Diese beinhaltet eine vorgebene Gliederung und ein Tabellenformular für einzelne Anforderungen, die einer definierten Struktur folgen. Die detailreichste Ebene stellen die einzelnen Anforderungen dar, die zum Beispiel aus einem Anwendungsfall abgeleitet werden. Diese Anforderungen sind in der erwähnten Tabellenstruktur notiert. Somit sind Anforderung atomar und unterscheidbar von zusätzlichen beschreibenden Texten innerhalb der Spezifikation. Abnahmerelevante Teile lassen sich eindeutig von nicht-abnahmerelevanten unterscheiden.
Die Tabellenformulare dienen zur Synchronisation mit dem Team Foundation Server (TFS), der die Anforderung zentral als Requirement-Work-Item speichert. Das Werkzeug für die Synchronisation ist WordToTFS, welches sich als neues Ribbon-Tab in Word präsentiert.
Prozesssicht
Sobald ein Gremium wie das Pflichtenheft abgenommen hat, werden alle Anforderungen aus dem Word-Dokument in den TFS importiert. Das Word-Dokument bleibt im Anforderungsprozess aber weiter führend – sprich, die Beschreibung kann im Team Foundation Server nicht verändert werden – dient es doch als abgenommene Vertragsgrundlage gegenüber dem Kunden.
Änderungen im Griff
Über einen schlanken Änderungsprozess können Anforderungen im Word verändert und entsprechend im Team Foundation Server aktualisiert werden. Dabei werden Änderungsanfragen in Form von Change Requests im Team Foundation Server verwaltet. Diese folgen einem festgelegten Workflow und werden vom Change-Control-Board entweder abgelehnt oder freigegeben. Nach der Freigabe wird der Änderungsantrag einem Requirements Engineer zugewiesen, der auf Basis der neuen oder zu ändernden Anforderungen das Pflichtenheft bearbeitet und damit eine neue Version des Pflichtenheftes anlegt. Im Word lassen sich unterschiedliche Versionen eines Dokuments komfortabel vergleichen, was eine spätere Verfolgbarkeit von Änderungen ermöglicht.
Das Dokument geht daraufhin in eine weitere Runde des Abnahmeprozesses. Nach der Freigabe werden die Anforderungen im Team Foundation Server über WordToTFS mit denen aus dem Word-Dokument synchronisiert. Ähnlich gestaltet sich der Ablauf bei einem iterativen Vorgehen. Eine neue Version des Word-Dokuments mit neuen Anforderungen für die nächste Iteration wird angelegt, abgenommen und mit dem Team Foundation Server synchronisiert. Die neuen und noch offenen Anforderungen dienen dann entsprechend als Grundlage für die Planung der nächsten Realisierungsphase.
Nutzen mal vier
Doch welcher Mehrwert ergibt sich daraus für das Projekt?
Im Gegensatz zu einzelnen Tools und Werkzeugen wie Word, stellt der Team Foundation Server eine Plattform für den gesamten Application-Lifecylce dar.
So bietet er für die Projektabwicklung und Statusverfolgung definierbare Workflows für Work-Items. Eine Anforderung kann sich somit zum Beispiel im Zustand „Backlog“ befinden oder aber sich bereits „In Bearbeitung“ befinden. Durch die Verlinkung mit anderen Artefakten, wie zum Beispiel Arbeitsaufgaben (Tasks) und Dokumenten, lässt sich eine umfangreiche Traceability erreichen.
Diese Nachverfolgbarkeit reicht dabei bis auf Quellcode-Ebene. Bei der Umsetzung der Anforderungen in Form von Quellcode, werden vom Entwickler beim Einchecken des Codes mit wenigen Klicks Anforderungen assoziiert. Die automatisch entstehende Beziehung zwischen Anforderung und Quellcodeänderung lässt sich bidirektional, also von der Anforderung zu relevanten Quellcodezeilen und zurück von der Quellcodezeile zur Anforderung navigieren. Das ermöglicht eine Auswirkungsanalyse von Änderungen an Anforderung auf Teile des Quellcodes und ebenso von Änderungen am Quellcode auf betreffende Anforderungen.
Bei weiteren Auswertungen und Analysen hilft das umfangreiche Berichtswesen. Mit dem Team Foundation Server lassen sich die Anforderungen nach Microsoft Excel als Liste exportieren und so zum Beispiel mit Pivot-Tabellen Auswertungen zur Aufwandsabschätzung durchführen. Die Auswertungen lassen sich über ein „Refresh“ im Excel aktualisieren, wenn sich Werte zentral im Server geändert haben. So entfällt die langwierige Zusammenstellung aktueller Metrik-Daten für die Budgetplanung und Statusverfolgung.
Für die Verfolgung des zeitlichen Verlaufs, also des Projektfortschritts, lassen sich die zentralen Berichte verwenden. Diese stellen zum Beispiel ein Burn-Down-Chart der aktuellen Iteration zur Verfügung. Die zentralen Berichte lassen sich zu einem Projekt-Dash-Board zusammenstellen und zum Beispiel wöchentlich per E-Mail verteilen.
Die aktive Qualitätssicherung in Form von Tests ist ein weiterer Aspekt der Integration mit dem Team Foundation Server. So lassen sich Testpläne erstellen und mit den zu testeten Anforderungen verknüpfen. Manuelle Akzeptanztests werden so zum Beispiel mit Hilfe einer Word-Vorlage beschrieben, die dem Tester während der Ausführung eines Testlaufs angezeigt wird. Die Testergebnisse fließen zurück in die Berichte und Auswertungen – der Kreis schließt sich.
Fazit
Der größte Mehrwert des Visual Studio Team System ergibt sich aus der Verwendung und Vernetzung einer Vielzahl der angebotenen Funktionalitäten. Die reibungslose Integration der verwendeten Softwareentwicklungswerkzeuge ist eine notwendige Bedingung für den Erfolg eines Prozesses auf operativer Ebene. Mit dem Visual Studio Team System konnten wir das erreichen und weiter ausbauen. Zur Verbesserung Ihres Entwicklungsprozesses stellen wir Ihnen WordToTFS gern kostenfrei zur Verfügung. Auf der Produktseite finden Sie zudem ein Produktvideo, in dem Sie WordToTFS auch im praktischen Einsatz sehen können. Wir sind gespannt auf Ihre Anfrage.