TFS 2013 – Die besten Features

work-test-deployVor ein paar Wochen wurden der Team Foundation Server 2013 und Visual Studio 2013 offiziell vorgestellt. Seitdem scharren viele Entwickler mit den Hufen und wollen die neuen Werkzeuge einsetzen. Doch ein Update des Team Foundation Server ist häufig mit viel Aufwand und viel Vorbereitung verbunden. Da heißt es gute Argumente parat zu haben, um den Chef von einem Update überzeugen zu können. Im folgenden Post werden drei Features näher beschrieben mit denen vielleicht auch Sie Ihren Chef überzeugen können.

Projektplanung und Projektorganisation

Agile DevelopmentEffizienz ist ein zentraler Faktor in der Softwareentwicklung. Um Effizient zu sein, muss man die zur Verfügung stehenden Ressourcen optimal einsetzen und vor allem wissen, was genau und wann etwas getan werden muss. Seit der ersten Version des Team Foundation Server 2012 werden jedem Entwicklungsteam einige sehr hilfreiche Werkzeuge zur Verfügung gestellt, die einem die Planung und Organisation von Projekten vereinfachen können.

Product Backlog, Portfolio Backlog und Team Backlogs

In einem Product Backlog werden alle Anforderungen eines Produktes priorisiert. Das Product Backlog des TFS Web Access macht es besonders einfach, neue Anforderungen anzulegen, zu editieren und zu priorisieren.

Auch größere Arbeitsaufträge (Epics oder Features), die z.B. von mehreren „Unter“-Aufträgen abhängig sind oder deren Umsetzung mehrere Entwicklungszyklen benötigt, können durch den Aufbau eines hierarchischen Backlogs organisiert werden.

In diesem Zusammenhang ist vor allem die „Top-Down“ Ansicht auf alle Arbeitsaufträge zu erwähnen, welche die komplette Hierarchie, vom Feature bis zum konkreten Task, visualisiert.

3reasons_1Abbildung 1: Portfolio Backlog im TFS 2013 Web Access

Oft arbeiten mehrere Teams an verschiedenen Bereichen einer Software. Der Team Foundation Server unterstützt die einzelnen Teams durch separierte Backlogs, in denen nur Anforderungen angezeigt werden, die einem Team zugewiesen worden sind. Um dennoch eine komplette Übersicht über den Teamfortschritt zu bekommen, lassen sich sogenannte Master Backlogs einrichten, welche die Anforderungen aller Teams anzeigen und somit ein Bild auf den Gesamtfortschritt ermöglichen.

3reasons_2Abbildung 2: Master und Team Backlogs

Scrum und Kanban

Der Team Foundation Server stellt zusätzlich die jeweils zentralen Elemente aus den agilen Vorgehensmodellen Scrum und Kanban zur Verfügung – das Task-Board und das Kanban-Board. In beiden Modellen werden darüber die Anforderungen und Aufgaben der Teams visualisiert und geplant. Die Boards sind touch-optimiert und haben durchaus das Potential die herkömmlichen „Post-It“-Wandboards in den Besprechungsräumen abzulösen.

3reasons_5Abbildung 3: Task- und Kanban-Board

Release Management

Release ManagementEntwicklerteams betreiben großen Aufwand, um ihren Entwicklungszyklus zu optimieren und um immer schneller neue Software liefern zu können. Doch um zeitnah Feedback von Testern oder Anwendern zu erhalten, muss die Software auch zügig auf die jeweilige Test- und Produktiv-Umgebung verteilt werden können. Und genau hier setzt das neue Visual Studio Release Management an.

Release Prozesse

Visual Studio Release Management ermöglicht den Entwurf eines eigenen Release Prozesses, der alle individuellen Anforderungen der Softwareverteilung erfüllt. Dabei basieren alle Freigaben auf einem automatisierten Build, der bei Erfolg den Release Management Workflow startet. In diesem Workflow können komplexe Verteilungen zu verschiedenen Zielumgebungen voll- oder teilautomatisiert durchgeführt werden. Zahlreiche Aktionen, z.B. das Kopieren von Dateien, das Erstellen von Webseiten und Installieren von MSI-Paketen, stehen bereits out-of-the-box in einer Bibliothek zu Verfügung. Natürlich ist diese Bibliothek, ähnlich wie der Team Build Workflow, durch eigenentwickelte Aktionen erweiterbar.

Release Management WorkflowAbbildung 4: Release Management Workflow

Transparente Release-Wege

Meist sind die etablierten Release Wege in einem Unternehmen historisch gewachsen und komplex und nur von wenigen zu durchschauen. Eine Stärke von Visual Studio Release Management ist einen Release Prozess zu modellieren und diesen zu visualisieren. Durch den Release Explorer im Web-Browser ist jederzeit erkennbar, auf welcher Umgebung sich die freigegebene Anwendung befindet und welche manuellen Schritte ggf. noch notwendig sind, um die Verteilung abzuschließen.

3reasons_6Abbildung 5: Release Explorer Übersichtsseite

Test Management

test ManagementDie Test-Werkzeuge von Visual Studio und der Web-Plattform des TFS erhöhen das Potential qualitativ hochwertige Software zu entwickeln. Die Test-Plattform unterstützt manuelle, automatische oder explorative Tests und passt sich somit an die vorhandenen Prozesse optimal an. Hinzu kommt, dass die Test-Werkzeuge voll in die Entwicklungsplattform integriert sind und den Entwicklern wertvolle Informationen über die jeweilige Test-Umgebung mitliefern können.

Web-basiertes Testen

Durch das neue Web-Interface ist es nun noch leichter neue Testpläne zu erstellen und zu verwalten. Testfälle können genauso einfach bearbeitet und durchgeführt werden wie in der Anwendung „Test Manager“. Durch den „Test Runner“ können alle aktiven Tests ausgeführt, Screenshots angehängt, Bugs erzeugt und mit dem ausgeführten Test verknüpft werden.

3reasons_7Abbildung 6: Web-Interface Test Runner

Load Testing

Last-Tests sind in vielen Software Entwicklungsprozessen ein kritischer Pfad. Obwohl die Wichtigkeit dieser Tests bekannt ist, werden sie häufig unterlassen, da eine aussagekräftige Test-Umgebung nur mit sehr viel Aufwand an Zeit und Kosten zu erreichen ist. Mit der neuen Version des TFS lassen sich diese Test-Szenarien in die Cloud auslagern – genauer gesagt in die Windows Azure Infrastruktur.

Mit Hilfe dieses Cloud-Service lässt sich das Verhalten einer Anwendung schnell und kostengünstig gegen eine große Anzahl von Benutzern simulieren, was vor allem für kleine und mittlere Unternehmen interessant sein dürfte, die sich keinen riesigen Rechnerpark installieren möchten.

Bonus Grund: Git als Versionsverwaltung

GIT VCSetzt ein Unternehmen verschiedene Entwicklungsplattformen und Technologien ein, steht es vor der Herausforderung unterschiedliche Versions-Verwaltungssysteme einsetzen zu müssen, um den Wünschen der einzelnen Abteilungen gerecht zu werden. Der TFS als integrierte ALM-Plattform unterstützt nun auch Git als Versions-Verwaltungssystem. Mit Git als Basis, können Unternehmen, die andere Entwicklungsplattformen einsetzen (z.B. Eclipse oder xCode), die Vorteile des TFS als integrierte ALM-Lösung ebenfalls nutzen. Mehr Infos über die Vereinigung von Git und TFS gibt es in meinem Post TFS loves Git.

[1] http://www.visualstudio.com/get-started/overview-of-get-started-tasks-vs
[2] Load Testing Visual Studio Online http://blogs.msdn.com/b/edglas/archive/2013/11/27/load-testing-visual-studio-online.aspx
[3] TFS loves Git  http://almsports.net/tfs-loves-git/516/