Tobias Richling, Michael Klei
TFS 2012 Jumpstart
ISBN: 978-3-86802-615-3

© 2013 entwickler.press
Ein Imprint der Software & Support Media GmbH

Bibliografische Information Der Deutschen Bibliothek
Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen
Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über
http://dnb.ddb.de abrufbar.

Ihr Kontakt zum Verlag und Lektorat:
Software & Support Media GmbH
entwickler.press
Darmstädter Landstraße 108
60598 Frankfurt am Main
Tel.: +49 (0)69 630089-0
Fax: +49 (0)69 930089-89
lektorat@entwickler-press.de
http://www.entwickler-press.de

Lektorat: Sebastian Burkart
Korrektorat: Frauke Pesch
Satz: Laura Acker

Alle Rechte, auch für Übersetzungen, sind vorbehalten. Reproduktion jeglicher Art (Fotokopie, Nachdruck, Mikrofilm, Erfassung auf elektronischen Datenträgern oder anderen Verfahren) nur mit schriftlicher Genehmigung des Verlags. Jegliche Haftung für die Richtigkeit des gesamten Werks kann, trotz sorgfältiger Prüfung durch Autor und Verlag, nicht übernommen werden. Die im Buch genannten Produkte, Warenzeichen und Firmennamen sind in der Regel durch deren Inhaber geschützt.

Vorwort

Inzwischen blicken wir auf vier Generationen des Team Foundation Servers zurück. Mein persönliches Resümee der Entwicklung des TFS ist, dass sich die investierte Zeit und Arbeit in das Produkt absolut gelohnt hat. Der TFS ist das Herzstück der Visual Studio Application Lifecycle Management Platform, ohne den modernes ALM mit Visual Studio nicht mehr denkbar wäre. Als wir 2005 mit Team System die erste Version veröffentlicht haben, war die Zielgruppe klar definiert: größere Teams in Unternehmen. Für mich war aber schon damals klar, dass der Team Foundation Server das Potenzial hat, auch kleine und kleinste Teams dabei zu unterstützen, Softwareprojekte effizienter und erfolgreicher zu realisieren. Der zunehmende Trend der Agilität in der Softwareentwicklung hat diese Anforderung an den TFS noch beschleunigt. In der ersten Version des TFS 2010 war bereits die Installation auf einem Windows Client möglich. Dies war aber nur ein erster Zwischenschritt in die richtige Richtung. Erst 2012 haben wir auch für kleine und kleinste Teams das erreicht, was ich mir einige Jahre zuvor schon gewünscht hätte. Mein damaliger Manager Frank Fischer wird sich noch an unsere lebhaften Diskussionen erinnern können. Eine einfach zu installierende kostenfreie Variante und einen Service ohne Installtionsaufwand: die ideale Lösung für alle kleinen verteilten Teams, die sich 100 Prozent mit ihrem Projekt beschäftigen wollen und sich nicht um die Infrastruktur kümmern möchten.

Mit dem TFS 2012 haben wir nun genau das erreicht: eine skalierbare Plattform für sehr große Organisationen bis hin zum Service, der eine optimale Lösung für kleine und verteilte Teams darstellt. Gerade der Team Foundation Service in der Cloud wird schon heute von einer sechsstelligen Benutzerzahl genutzt. Und die Zahl steigt täglich weiter an. Geschätzt werden vor allem die neuen webbasierten Werkzeuge, die neben anderen in diesem Buch vorgestellt werden.

Der allgemeine Trend in der Softwareindustrie, Cloud-basierte Services anzubieten, ist jetzt auch für den TFS Realität geworden und bringt weitere Änderungen mit sich, wie zum Beispiel kürzere Release-Zyklen, die für Cloud-basierte Services typisch sind. Der TF Service zum Beispiel erhält aktuell alle drei Wochen ein Update, das automatisch jedem Benutzer zur Verfügung steht. Der lokale TFS zieht nun alle drei Monate mit einem Update nach, das auch die Updates des TF Service implementiert. Aktuell steht das erste Update für Visual Studio 2012 und TFS 2012 zur Verfügung. Nur zum Vergleich: in der Vergangenheit musste man zwei Jahre warten, um neue Funktionen zu erhalten.

Mit kürzeren Zyklen erhalten wir die Möglichkeit, sehr agil auf Anwenderfeedback reagieren zu können und neue Funktionalität liefern zu können, was aber auch neue Anforderungen an die Entwicklungsplattform stellt. Genau dieser Trend ist ein wichtiger Antrieb, neue Funktionen zu implementieren, damit Teams optimal unterstützt werden. Die Anforderungen und somit auch die Herausforderungen in der Softwareentwicklung ändern sich schnell – der Team Foundation Server und der TF Service können dabei helfen, neue Herausforderungen zu meistern. In diesem Buch finden Sie die wichtigsten Grundlagen, um sich schnell mit dem TFS vertraut zu machen und produktiv Ihre Projekte zu verwalten. Zusätzlich erhalten Sie einen Einblick in die vielen Anpassungsmöglichkeiten des TFS, mit denen Sie individuelle Szenarien optimal abbilden können.

Ich wünsche Ihnen eine informative und kurzweilige Lektüre.

Christian Binder

(ALM Architect Microsoft)

Einleitung

Der TFS war viele Jahre lang ein Produkt, dem große Mächtigkeit nachgesagt wurde, die es sicherlich auch besaß, aber das vor allem den Einsteiger zunächst mal abgeschreckt hat. Zu hoch waren die Hürden einer Installation – was man da alles brauchen sollte: einen Webserver, einen Datenbankserver mitsamt Reporting Services, einen SharePoint und das Ganze natürlich mit einer ordentlichen Windows-Domäne. Wie sollte jemand, der einfach mal reinschnuppern oder das Produkt testen möchte, diese hohe Messlatte erreichen können? Diese Bedenken sind wohl in Redmond angekommen, denn über die Jahre wurde die Installation des TFS fast schleichend immer einfacher. Bis hin zu einer von einem Assistenten geführten Installation der Machart „Weiter-Weiter-Fertigstellen“, die auf einem normalen Notebook ausgeführt werden kann, hat der TFS es damit gebracht. Oder man wählt alternativ den Team Foundation Service in der Cloud – und hat damit einen TFS in einigen Mausklicks und keinerlei Installation.

Bleiben noch die Lizenzkosten. Auch sie haben abgeschreckt. Obwohl viele der erschrockenen Nutzer gar nicht wussten, was das Produkt eigentlich kostete. Die Annahme war, es sei schrecklich teuer. Und offenbar sind auch diese Sorgen bei Microsoft auf offene Ohren gestoßen, denn jetzt ist er da, der kostenlose TFS Express. Wie alle Express-Produkte die Microsoft herausbrachte, ist er in seinem Funktionsumfang gegenüber dem großen Bruder etwas eingeschränkt. Trotzdem bringt er alles mit, was man zur Durchführung des Application-Lifecycle-Management-Prozesses benötigt. Einen weiteren Ausweg aus der Lizenzkostenschraube bietet wieder der Team Foundation Service. Die Preisgestaltung ist zur Drucklegung dieses Buchs noch nicht bekannt, aber es wird auch hier einen kostenlosen Service geben. Die tatsächlichen Kosten richten sich dann nach dem gewünschten Leistungsumfang, werden aber gerade initial deutlich unter den Kosten für Hardware und Lizenz liegen.

Es gibt also neue, einfache Möglichkeiten sich mit dem TFS zu befassen und ihn als Plattform für das ALM einzusetzen. Die beiden am häufigsten gehörten Ausreden gelten nicht mehr! Und der Einstieg ist in der Tat nicht schwer, wie schon der Umfang dieses Buchs beweist.

Also dann: nichts wie ran an den TFS! Wir wünschen Ihnen viel Spaß beim Entdecken der vielen tollen Features des TFS und hoffen, dass dieses Buch Sie auf Ihrer Rundreise durch den TFS mit vielen hilfreichen Tipps unterstützen kann.

Für wen ist dieses Buch?

Das Buch eignet sich hervorragend für Einsteiger in den Bereich ALM mit dem TFS. Wenn Sie bisher noch keine oder nur wenig Erfahrung mit Quellcodeverwaltung & Co. haben und den Einstieg in den TFS wagen wollen, halten Sie das richtige Buch in den Händen. Das Buch beschreibt die wesentlichen Bereiche des ALM-Prozesses und beginnt jeweils mit einer Erklärung zur Nutzung der entsprchenden Funktionen im Sinne eines Bentzerhandbuchs.

Sie sind auf der Suche nach einem schnellen Überblick über die Kernfeatures des TFS, dann ist insbesondere das erste Kapitel das richtige für Sie. Hier machen wir einen Rundflug über den TFS. Jedes weitere Kapitel bietet dann zunehmend tiefere Einblicke in die einzelnen Bereiche.

Wenn Sie den TFS bereits nutzen, zum Beispiel zur Quellcodeverwaltung, kann dieses Buch Ihnen helfen, die weiteren Potenziale des TFS zu erschließen. Jedes Kapitel enthält neben der Erklärung der grundlegenden Bedienung erweiterte Beispiele zur Anpassung des TFS. Hier kann auch für erfahrene Nutzer des TFS noch der ein oder andere hilfreiche Tipp versteckt sein.

Auch wenn Sie den TFS schon lange und in allen Bereichen nutzen, kann dieses Buch Ihnen noch von Nutzen sein. Wenn die Anpassbarkeit des TFS an ihre Grenzen stößt, eröffnet das TFS-API neue Wege. Jedes Kapitel greift ein typisches Problem im Umgang mit dem TFS auf und zeigt einen Lösungsansatz unter Zuhilfenahme des mächtigen API. Hierbei werden verschiedene technologische Aspekte des TFS Ecosystems angesprochen.

Wenn Sie in Ihrem Unternehmen eine große TFS-Installation verwenden, einschließlich Warehouse, SharePoint & Co., und nach Lösungen dieser Größenordnung suchen, wird dieses Buch Ihnen nicht viel weiterhelfen. Auch für Administratoren hat das Buch nur wenig zu bieten. Zwar wird die grundlegende Administration des Servers beschrieben, der Fokus liegt jedoch auf den funktionalen Bereichen.

Aufbau und Inhalt

Der Schwerpunkt dieses Buchs liegt auf dem TFS Express und der Cloud-Variante, dem Team Foundation Service. Es beschränkt sich im Wesentlichen auf die Features dieser beiden Produktvarianten. Viele Features der Vollversion des TFS fallen damit aus dem Rahmen dieses Buchs. Dazu gehören zum Beispiel die SharePoint Integration, das Data Warehouse und das Test Lab. Dadurch bleibt das Buch schlank und auf das wesentliche fokussiert: den Kern des ALM-Prozesses. Dieser besteht aus drei Säulen: der Anforderungsanalyse, die Quellcode- und Versionsverwaltung sowie Build und Deployment.

Genau dieser Roadmap folgt auch das Buch, indem es je ein Kapitel einer dieser Säulen widmet. Dabei beginnt jedes Kapitel mit einer Erklärung der Konzepte sowie einer Beschreibung dessen, was der TFS „Out of the Box“ mitbringt. Im weiteren Verlauf eines jeden Kapitels werden dann mögliche Anpassungen und Erweiterungen dieser Funktionalitäten aufgezeigt. Dies endet jeweils in einem praktischen Anwendungsszenario das mithilfe des TFS-API realisiert wird. Jedes Kapitel ist in sich also nach steigender Komplexität geordnet: als Einsteiger werden Sie die einleitenden Erklärungen hilfreich finden, als Nutzer des TFS lernen Sie aus den erweiterten Beispielen, und wer es ganz genau wissen will, profitiert von den API-Beispielen. Dabei ist jedes Kapitel in sich geschlossen, d. h. es enthält keine Verweise auf andere Kapitel. Dadurch kann jedes Kapitel für sich gelesen und verstanden werden. Notwendige Konzepte werden bei Bedarf noch einmal kurz erläutert. Daraus ergibt sich folgende Gliederung mit zusammengefasstem Inhalt:

Kapitel 1– Installation und Überblick: Auch wenn die Installation einfach geworden ist, wird hier noch einmal erklärt, wie es geht. Es werden die Varianten TFS-Express-Installation und Anmeldung beim Team Foundation Service beschrieben. Außerdem enthält das Kapitel einen Schnelldurchlauf durch alle weiteren Themen des Buchs und bietet somit einen optimalen Überblick über das Produkt.

Kapitel 2 – Work Items und Prozessvorlagen: Hier wird kurz der Scrum-Prozess umrissen, der im aktuellen TFS im Fokus steht. Danach wird beschrieben, wie sich Scrum in der Anforderungsanalyse und in der Aufgabenbearbeitung im TFS manifestiert. Nennenswert sind dabei insbesondere die agilen Planungstools und das Taskboard. Falls die vorhandenen Work Items Ihren Anforderungen nicht genügen, wird beschrieben, wie Work Items erweitert und angepasst werden können. Schließlich wird die Integration eines Drittsystems in den TFS am Beispiel der Synchronisation von Aufgaben über einen TFS Job dargestellt.

Kapitel 3 – Versionskontrolle: Beschreibt den Umgang mit der Quellcode- und Versionsverwaltung im TFS. Zunächst werden die grundlegenden Mechanismen wie das Einchecken von Code erläutert. Im weiteren Verlauf werden insbesondere die neuen Features wie das Unterbrechen von Aufgaben und Code Reviews beschrieben. Als Fallstudie wird gezeigt, wie mithilfe von selbst implementierten Check-in-Policies in den Eincheckvorgang eingegriffen werden kann. Das Konzept der TFS-Plug-ins wird verwendet, um ein Übertragen von Work Items bei einem Merge-Vorgang zu erreichen. Den Abschluss des Kapitels bildet eine ausführliche Beschreibung möglicher Modelle zur Versionsverwaltung, die im TFS über Branches abgebildet wird.

Kapitel 4 – Team Build: Stellt die Möglichkeiten der automatisierten Erstellung des TFS-Codes dar. Beginnend mit der Architektur wird erläutert, wie ein automatisierter Build aufgesetzt und ausgeführt werden kann. Als Fallstudie wird der vorgegebene Workflow verändert. Zunächst über die Toolbox, später mit eigens entwickelten Aktivitäten am Beispiel der Erhöhung der Versionsnummer beim Build. Zu guter Letzt wird über den TFS Event Service demonstriert, wie auf Build-Ereignisse reagiert werden kann, um Drittsysteme daran teilhaben zu lassen, was im TFS vorgeht.

Wir haben uns bei der Arbeit an diesem Buch an die englische Version des TFS gehalten. Das liegt zum einen daran, dass in den frühen Betaphasen, als wir mit der Arbeit an dem Buch begonnen haben, noch keine deutsche Produktversion verfügbar war. Zum anderen haben sich viele Begriffe im Englischen so eingebürgert, dass die deutschen Begriffe kaum verständlicher sind – ein tolles Beispiel hierfür ist Produktrückstandseintrag als Übersetzung für ein Backlog Item. Wir denken aber, dass durch die Abbildungen im Buch auch Nutzer der deutschen TFS-Version ans Ziel kommen werden.

Danksagungen

Ein Buch schreibt man ja nie allein. Daher möchten wir uns bei alle jenen bedanken, die bei der Entstehung des Buchs geholfen haben. Dazu gehören die Mitarbeiter von entwickler.press, die unter der Anleitung von Lektor Sebastian Burkhart akribisch sämtliche Fehler aus dem Manuskript entfernt haben.

Ein weiterer Dank geht an unsere Frauen Judith und Draga, die durch ihre Geduld und ihre Ermutigung die Entstehung dieses Buchs begünstigt haben, auch wenn es sich gegenüber der ursprünglichen Planung zeitlich mal ein bisschen verschoben hat, was natürlich heißt, dass es länger dauerte als geplant. Ihr seid die Besten, finden wir, aber das wisst ihr ja schon.

Außerdem haben noch viele Freunde und Bekannte das Buch gelesen und uns wertvolle Hinweise gegeben. Hierzu gehört insbesondere Christian Binder, den wir für das Vorwort gewinnen konnten. Die tägliche Arbeit mit dem TFS in Zusammenarbeit mit den kompetenten Kollegen Frank Wenner und Mirko Venker hat unser Verständnis für das Produkt erhöht und geholfen, praxisrelevante Beispiele zu finden. Unsere Kollegin Sally Ann Stern hat unsere handgezeichneten Abbildungsskizzen in die schönen Abbildungen verwandelt, die Sie im Buch finden.

Wir haben uns bemüht, ein sinnvolles Buch mit logischer Struktur und relevanten Beispielen zu schreiben, das den Leser nicht mit einer Masse an Seiten erschlägt. Dennoch kann es vorkommen, dass Ihnen etwas nicht ganz klar wird. Oder Sie finden, man hätte das ein oder andere anders niederschreiben sollen? Sie finden das Buch einfach nur super? Dann freuen wir uns, von Ihnen zu hören, für Kritik, Anregungen und Lob. Dazu erreichen Sie uns unter tobias.richling@thinkexception.com und mklei@meta-objects.net. Oder Sie schauen mal auf Twitter rein und folgen @trichling oder werfen einen Blick auf den Blog http://thinkexception.blogspot.de/.

Wir wünschen viel Spaß beim Lesen!

Tobias Richling und Michael Klei

September 2012

1 Überblick und Installation/Administration

Die Installation des TFS ist über die vergangenen Produktversionen immer einfacher geworden. Was früher wie ein epischer Marathon angemutet hat, stellt sich heute als einfache, assistentengeführte Installation dar. Es gibt aber immer noch beziehungsweise seit Neuestem verschiedene Installationsvarianten mit eigenen Vor- und Nachteilen.

In diesem Kapitel

werden die verschiedenen Installationsvarianten des TFS vorgestellt

gibt es einen kurzen Rundgang durch alle Themenbereiche des Buches

wird eine grobe Übersicht über die Konfigurationsmöglichkeiten des TFS gegeben

1.1 Der Weg zum TFS

1.1.1 TFS Express

Im Frühjahr 2012 hat Microsoft zum ersten Mal den TFS Express angekündigt, die aktuelle Version kann im Netz heruntergeladen werden.1 Und was steckt dahinter? Ganz im Sinne der übrigen Produkte der Express-Serie von Microsoft zunächst einmal, dass es kostenlos ist, dafür aber einigen Einschränkungen unterliegt. Der TFS Express ist von den Hardwareanforderungen so moderat, dass er sich problemlos auf einem Laptop oder einem normalen Desktop-PC installieren lässt. Er begnügt sich mit Windows 7 oder dem Windows 8 Preview, läuft aber natürlich auch auf den Serverbetriebssystemen Windows Server 2008 und 2012 RC.

Im Lieferumfang des TFS Express sind die wesentlichen Säulen des Application-Lifecycle-Management-Prozesses enthalten: die Erfassung und Verwaltung von Work Items zur Anforderungsanalyse und Fehlerverfolgung, die Versionskontrolle zur Verwaltung des Quellcodes und Team Builds zum automatischen Kompilieren und für Continous Integration. Bis zu fünf Benutzer können den Server nutzen. Sollte das Team größer werden, so besteht die Möglichkeit, weitere Lizenzen in Form von CALs (Client Access Licences) zu erwerben. Alternativ kann man, ohne Datenverlust befürchten zu müssen, auf eine größere Edition des TFS umsteigen. Der kleine Bruder des TFS arbeitet nur mit dem kleinen Bruder des SQL Server zusammen und ist bezüglich der Datenbank dessen Beschränkungen unterworfen.

Am Längsten dauern bei der Installation der Download und das anschließende Kopieren der Dateien. Das Setup selbst ist eine klassische „Weiter, Weiter, Fertigstellen“-Installation. Zunächst wird geprüft, ob alle Systemanforderungen erfüllt sind. So muss beispielsweise der IIS installiert sein und ein SQL Express zur Verfügung stehen (Abbildung 1.3, links). Sollte doch mal etwas schieflaufen, wartet der Installer mit erstaunlich präzisen Meldungen darüber auf, wie der Fehler zu beheben ist. Sind alle Tests bestanden, geht es über den Button zur eigentlichen Installation (Abbildung 1.1).

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!