Der Team Foundation Server ist die zentrale Plattform für alle Artefakte von Software-Entwicklungsprojekten. Anforderungen, Code, Testfälle, Entwurfsdokumente – alles lässt sich versioniert und für die Zusammenarbeit in Teams zentral ablegen. Doch wie hängen diese verschiedenen Artefakte zusammen und wie kann das im Team Foundation Server abgebildet werden?
Die verschiedenen Optionen sind je nach Ziel der Verknüpfung zu bewerten. Zu den wichtigsten Zielen gehören:
- Nachvollziehbarkeit – Verschiedene Aspekte sind nur im Kontext von ihren Abhängigkeiten sinnvoll. So gehören Anforderungen und Entwurfsentscheidungen zum Kontext der Entwurfsdokumente.
- Änderungsverfolgung – Im Laufe des Projektes oder Produktlebenszyklus treten Änderungen an ursprünglichen Plänen ein. Diese sollen zusammen mit ihren Auswirkungen auf andere Artefakte dokumentiert werden. So soll z.B. für eine Code-Änderung der auslöende Change Request zurückverfolgt werden können.
- Nachweisbarkeit – Im regulierten Bereich wie z.B. der Medizintechnik oder Luftfahrtindustrie sind spezielle Nachweise gefordert. So müssen z.B. für eine Anforderung alle Testfälle mit ihren Testausführungen und Ergebnissen sowie den getesteten Funktionen im Code aufgezeigt werden können.
Die Optionen:
- Work Item <-> Work Item – Work Items lassen sich untereinander bidirektional durch Links verknüpfen. Im nächsten Release, dem Visual Studio Team System 2010 wird es typisierte Links geben, so dass sich z.B.ein Typ “Tested By” dazu verwenden lässt, um alle Testfall-Work-Items für ein Requirement-Work-Item abzufragen.
- Work Item –> Dokumente via Hyperlinks – Work Items lassen sich mit Dokumenten (z.B. Word)über Hyperlinks verknüpfen. Dokumente müssen dazu an einer zentralen Stelle, z.B. im Team-Portal des TFS abgelegt werden. Die Verlinkung ist unidirektional und nur auf das gesamte Dokument. Feingranularere Verknüpfungen müssen über Text im Dokument (Verweis auf die Work-Item-Id) hinterlegt werden.
- Work Item <–> Dokument via Attachment – In Work Items lassen sich Attachments hinterlegen – also angehängte Dateien. So können z.B. Detaildokumente wie Screenshots oder Ablaufdiagramme für ein Requirement direkt beim entsprechenden Work-Item gespeichert werden. Attachments lassen sich allerdings nicht editieren, sondern müssen entfernt, geändert und wieder neu hinzugefügt werden. Attachments werden zudem nicht versioniert.
- Work Item <-> Changesets – Eine der zentralen Verknüpfungsfunktionen im TFS ist die Verbindung von Work-Items und Codeänderungen, den sogenannten Changesets. Beim Checkin gibt der Entwickler dazu ein Work-Item an, welches assoziiert werden soll. Im Work Item liegt dann ein Link zu dem Changeset vor, der auch im Changeset hinterlegt ist.
- Work Item <-> Build – Für Änderungshinweise eignet sich der zentrale Build. Hier werden alle Work Items, die zu Änderungen am Code assoziiert wurden aggregiert und als Liste in der Build-Summary bereitgestellt. Über selbstdefinierte Exportfunktionen können dann Release-Notes z.B. als HTML generiert werden. Weitere Informationen dazu finden Sie hier.
- Work Item -> Versioned Item – Auf Dateien und Verzeichnisse, die in der Versionsverwaltung liegen lässt sich in Work-Items verlinken. So kann vom Work Item aus z.B. ein Branch-Verzeichnis mit einer bestimmten Version verknüpft werden.
Weitere Informationen zur Verwendung der Traceablity für das Release-Management finden Sie in einem unserer Webcasts.