Cover_TFS_Jumpstart_2.jpg

Tobias Richling, Michael Klei
TFS Jumpstart. Per Express zum Application Lifecycle Management
aktualisierte 2. Auflage

ISBN: 978-3-86802-698-6

© 2017 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
Schwedlerstraße 8
60314 Frankfurt am Main
Tel.: +49 (0)69 630089-0
Fax: +49 (0)69 630089-89
lektorat@entwickler-press.de
http://www.entwickler-press.de

Lektorat und Korrektorat: Björn Bohn, Martina Raschke
Copy-Editor: Nicole Bechtel
Satz: Dominique Kalbassi
Umschlaggestaltung: Maria Rudi
Titelbild: © filo | istockphoto.com

Belichtung, Druck & Bindung: Media-Print Informationstechnologie GmbH, Paderborn

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

Arbeiten in kurzen Zyklen, schnelles Liefern neuer Releases, dabei volle Transparenz und Nachvollziehbarkeit sowie eine hoher Grad an Automatisierung im Entwicklungsprozess – das sind Standards in der heutigen Softwareentwicklung. Microsoft bietet mit seinem Application-Lifecycle-Management-System, Team Foundation Server (TFS) und Visual Studio Team Services (VSTS), eine umfangreiche Plattform, die Teams bei diesen Aufgaben hervorragend unterstützt.

Nachdem Microsoft – zumindest im Bereich der Entwicklungswerkzeuge – selbst einen Wandel hin zu einer agilen Organisation durchlebt hat und diese Werkzeugkette kontinuierlich verbessert, kann man auch als Nutzer des Systems stets von Weiterentwicklungen profitieren. Quellen dafür gibt es viele, seien es die MSDN selbst, englischsprachige Bücher oder diverse Blogs.

Doch insbesondere deutschsprachige Literatur ist in diesem Bereich vergleichsweise wenig vertreten. Ich und meine Kollegen bei der AIT GmbH finden, Communityarbeit macht nicht nur Spaß, sondern ist ein wichtiger Bestandteil des gemeinsamen kontinuierlichen Lernens. Die Weitergabe der eigenen Erfahrungen an die Community ist daher äußerst wertvoll und dies kann über verschiedene Kanäle geschehen, neben sehr informellen User Groups oder Meet-ups über Konferenzen, aber auch Blogs, Webcasts, Fachartikel und Bücher. Mit unserem deutschsprachigen Blog unter http://blog.aitgmbh.de leisten wir hierzu unseren Beitrag.

Deshalb freut es mich besonders, dass die Autoren Tobias Richling und Michael Klei mit der zweiten Auflage Ihres Werks über den TFS einen weiteren wertvollen Beitrag zur deutschsprachigen Fachliteratur für Application Lifecycle Management (ALM) in der Microsoft-Technologiewelt leisten. Der TFS und VSTS erfreuen sich großer Verbreitung und haben einen beachtlichen Reifegrad erreicht – und das nicht ohne Grund.

Der TFS hat in den letzten Jahren eine rasante Entwicklung hingelegt. Nachdem die ersten Versionen 2005 und 2008 noch sehr rudimentär waren, eine solide, zentrale Versionskontrolle und ein einfaches Work-Item-System geboten hatten, ging es seit 2010 in großen Schritten in Richtung einer praxisnahen und integrierten DevOps-Werkzeugkette. Mit den Versionen 2010, 2012, 2013, 2015 und nicht zuletzt 2017 wurden ganz neue Disziplinen im Entwicklungsprozess erschlossen und abgedeckt. So wurden nicht nur das Test-Management und eine sehr gute Deployment-Unterstützung in Form von Release-Management eingeführt, sondern auch auf wichtige Trends in der Softwareentwicklung reagiert. Die zusätzliche Unterstützung und volle Integration von Git als Versionskontrolle, ein komplett neues und modernes Build-System sowie die Öffnung der gesamten Plattform für die Community sind dabei wesentliche Meilensteine.

Das vorliegende Buch bietet Neulingen in dem Bereich einen guten Einstieg und ist den Experten ein gutes Nachschlagewerk. Schon das einfache Durchblättern und Reinschnuppern macht Spaß, da die Autoren immer wieder mit anschaulichen Darstellungen arbeiten, die dazu einladen, sich mit einem Themenkomplex näher zu beschäftigen.

Die Kapitelstruktur erlaubt es, gezielt zu einzelnen Themenbereichen zu springen, die einen im Alltag gerade interessieren. So startet das Buch mit einem ersten Blick auf das gesamte System und ist daher besonders geeignet für jemanden, der noch keine Berührungspunkte damit hatte, sich einen ersten Eindruck zu verschaffen. Doch auch für die Administration bietet dieses Kapitel wertvolle Tipps.

Im weiteren Verlauf stützt sich die Struktur auf die wesentlichen Subsysteme des TFS. Der Umgang mit dem Work-Item-System wird ausführlich beschrieben, gefolgt von den beiden Versionsverwaltungen Git und Team Foundation Version Control. Auch dem alten und neuen Build-System wird ein eigenes Kapitel gewidmet. Für alle, die danach noch weiter eintauchen wollen, bietet das letzte Kapitel einen gelungenen Abschluss. Hier wird das TFS API sehr praxisnah und anhand verschiedener Beispiele erklärt.

Außerdem sind im Buch viele Screenshots, schematische Abbildungen und auch Codebeispiele zu sehen. Diese illustrieren die technischen Zusammenhänge sehr schön und ermöglichen das Erarbeiten eines Sachverhalts, auch wenn man nicht gerade eine komplette Umgebung vor sich hat, sondern sich ein paar Seiten gemütlich am Sonntagnachmittag auf der Couch zu Gemüte führt.

Thomas Rümmler
MVP Visual Studio and Development Technologies
AIT GmbH & Co. KG

1 Einleitung

Bereits seit Anfang 2013 kann man auf verschiedenen Wegen an eine kostenlose Ausgabe von Microsofts ALM-Plattform, dem Team Foundation Server (TFS), gelangen. Die erste mögliche Option ist eine vor Ort (On-Premises) zu installierende Version des TFS Express, die sich namentlich und technisch in die Reihe der übrigen Express-Produkte, zum Beispiel SQL Server, stellt. Die zweite Variante ist die Nutzung der Visual Studio Team Services in der Cloud. Die Installation eines TFS Express ist schnell getan, und für die Cloud fallen überhaupt keine Aufwände für ein Set-up an. Damit hat Microsoft dem TFS seine schlimmsten Stacheln gezogen: die hohen Systemanforderungen, die aufwendige Installation und die hohen Lizenzkosten.

In den letzten Jahren hat sich die Welt rund um den TFS weiterentwickelt, und viele dieser Entwicklungen sind auch am TFS nicht spurlos vorübergegangen. Zwei der bedeutendsten Änderungen sind die Zunahme der Popularität von Git und die breite Akzeptanz von cloud-basierten Systemen. Diese beiden Entwicklungen haben den TFS geprägt, denn nun bietet der TFS eine vollwertige Integration von Git. Auch das Build-System ist, der aktuellen Entwicklung folgend, deutlich verschlankt worden und unterstützt nun sowohl die Windows-Plattform mittels PowerShell-Skripten als auch den Rest der Welt mittels Node.js. Man hat dazugelernt in Redmond und erfindet das Rad nicht neu, sondern bindet bestehende Lösungen ein. Diese neuen Entwicklungen kann man am besten mit der cloud-basierten Version des TFS verfolgen. Die On-Premises-Variante hinkt immer ein bisschen hinterher – das gilt leider insbesondere auch für die kostenlose Express-Variante. Es bleibt zu hoffen, dass die Sicherheitsbedenken, die viele Leute in Bezug auf ein Versionskontrollsystem in der Cloud plagen, durch Rechenzentren in Deutschland und andere vertrauensbildende Maßnahmen gemindert werden können.

Es gibt also neue, einfache Möglichkeiten, sich mit dem TFS zu befassen und ihn als Plattform für das Application Lifecycle Management einzusetzen. Die beiden häufigsten 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! Auch wenn die Cloud-Version noch nichts für den beruflichen Alltag ist: Privates Probieren kostet nichts (ehrlich!). Vielleicht kann man ja mit dem einen oder anderen tollen Feature einem Kollegen oder dem Chef den Mund wässrig machen. 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.

1.1 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 und 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 entsprechenden Funktionen im Sinne eines Benutzerhandbuchs.

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 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. In einem eigenen Kapitel werden Beispiele für die Automatisierung des TFS unter Zuhilfenahme des mächtigen API beschrieben. Hierbei werden verschiedene technologische Aspekte des TFS-Ökosystems angesprochen.

Wenn Sie in Ihrem Unternehmen eine große TFS-Installation verwenden, einschließlich Warehouse, SharePoint und Co., und Sie 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.

1.2 Aufbau und Inhalt

Der Schwerpunkt dieses Buchs liegt auf der Cloud-Variante, den Visual Studio Team Services, und dem TFS Express. Das Buch beschränkt sich auf eine Teilmenge der Features vom TFS, die zum Großteil von diesen beiden Produktvarianten abgedeckt werden. Viele Features der Vollversion des TFS fallen damit aus diesem Buch heraus. 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 Builds. Im Wesentlichen folgt das Buch dieser Roadmap, indem jedes Kapitel einer dieser Säulen gewidmet ist.

Seit dem ersten Erscheinen dieses Buchs 2013 hat sich jedoch im TFS viel getan, vorrangig im Bereich Git und der Adaption der Cloud, und diese Entwicklungen sind massiv in die Struktur des Buchs mit eingeflossen. Außerdem wurde das Feedback, das wir von Lesern erhalten haben, berücksichtigt. Im Bereich der Work Items wird stärkeres Augenmerk auf die Features des Cloud-TFS gelegt, da diese denen des On-Premises-TFS weit überlegen sind. Die Säule der Versionskontrolle ist in zwei Kapitel zerfallen: ein Kapitel zum Thema Git und ein Kapitel zur Team-Foundation-eigenen Versionskontrolle. Aufgrund der steigenden Popularität von Git erhält dieser Kontrahent hier in der Reihenfolge den Vorzug. Das Kapitel zum Thema Build deckt das alte und das neue Build-System ab. Die Ausführungen zum alten Build-System wurden dabei deutlich gestutzt. Die Ausführungen zum neuen Build-System sind aufgrund von dessen vereinfachter Struktur so kompakt, dass beides zusammen noch in ein Kapitel passt. Die Fallstudien und Erläuterungen zum API, die vorher Teil der einzelnen Kapitel waren, wurden in ein eigenes Kapitel ausgelagert. Alle Beispiele beziehen sich auf das REST-API des TFS und sind so aufgebaut, dass sie auf jeden Fall in der Cloud-Version des TFS funktionieren. Auf diese Weise bleiben die Kernkapitel fokussierter und man findet an einer Stelle zusammenhängend alles zum Thema API.

Abbildung 1.1: Aufbau des Buchs

Die einzelnen Kapitel enthalten zusammengefasst folgenden Inhalt:

Wo immer es möglich war, haben wir in diesem Buch die deutsche Version von Visual Studio und des TFS verwendet, und damit auf ein deutliches Leserfeedback reagiert. Erfreulicherweise hat sich die Qualität der Übersetzung im Laufe der Jahre aber auch deutlich verbessert. Der Cloud-TFS steht jedoch nicht in einer deutschen Version zur Verfügung, daher bleibt es hierbei beim Englischen.

1.3 Danksagungen

Ein Buch schreibt man ja nie allein. Daher möchten wir uns bei all jenen bedanken, die bei der Entstehung des Buchs geholfen haben. Dazu gehören die Mitarbeiter des
ent­wickler.press-Verlags, die unter der Anleitung von Lektorin Martina Raschke akribisch sämtliche Fehler aus dem Manuskript entfernt haben.

Ein weiterer Dank geht an meine Frau Judith, die durch ihre Geduld und ihre Ermutigung die Entstehung dieser zweiten Auflage des Buchs begünstigt hat, 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. Vielen Dank für die vielen Stunden Kinder hüten und die Abende, die du ohne meine Gesellschaft verbringen musstest, weil ich mit Buchschreiben beschäftigt war. Ohne diese Unterstützung hätte ich weder die Lust noch die Zeit gehabt, dieses Projekt fertig zu stellen. Du bist die Beste, finde ich – aber das weißt du ja bereits. Außerdem haben noch viele Freunde und Bekannte das Buch gelesen und uns wertvolle Hinweise gegeben. Hierzu gehört insbesondere Thomas Rümmler von der AIT GmbH, den wir für das Vorwort gewinnen konnten.

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, sowohl für Kritik, Anregungen als auch Lob. Dazu erreichen Sie uns unter tobias.richling@thinkexception.net und mklei@meta-objects.net. Oder Sie schauen mal auf Twitter vorbei und folgen @trichling oder Sie werfen einen Blick auf den Blog http://thinkexception.blogspot.de/.

Wir wünschen viel Spaß beim Lesen!

Tobias Richling

Michael Klei

Februar 2017