Der Team Foundation Server sorgt für Transparenz unter den Projektbeteiligten. Insbesondere für die in agilen Entwicklungsprozessen wesentliche Selbstorganisation innerhalb des Entwicklerteams bietet der Team Foundation Server gute Unterstützung. Wesentliche Funktionen dabei:
- Verwaltung der Anforderungen (des Product Backlogs)
Anforderungen und Bugs (im Team Foundation Server heißen sie „Work Items“) können beschrieben, strukturiert und priorisiert werden. - Planung der Entwicklungsiterationen (Sprints)
Sprintanfang und –ende können terminiert und die Teamkapazitäten zugeordnet werden. Anforderungen aus dem Product Backlog werden einem Sprint zugeordnet. - Bereitstellung des Taskboards
Das Taskboard ist das zentrale Instrument zur täglichen Abstimmung innerhalb des Entwicklungsteams. Es bietet eine Visualisierung der geplanten Tätigkeiten nach Status Offen, In Arbeit oder Erledigt. - Quellcodeverwaltung inklusive Versionsmanagement
Unverzichtbar, wenn mehrere Entwickler gemeinsam an derselben Code-Basis arbeiten. Bietet Ein- und Auschecken von Quellcode, Zusammenführen von Änderungen verschiedener Entwickler sowie eine vollständige Quellcode-Historie. - Automatisierung von Build-Prozessen inklusive automatisiertem Test
Ein regelmäßiger automatisierter Build mit obligatorischem Ausführen der vorhandenen Unit Tests (Gated Check-In) unterstützt die Sicherstellung eines hohen Qualitätsniveaus. - Branching
Die Transparenz innerhalb des Projektes wird gefördert, indem der Kunde Zugriff auf die Daten des Team Foundation Servers erhält. Kommunikation und Zusammenarbeit sind Schlüsselelemente der Agilen Softwareentwicklung.