Neuigkeiten rund um die Themen Team Foundation Server & DevOps

Lang lebe der DevOps-Gedanke!
Kommentare

Mit der neuesten Generation seiner ALM-Plattform, dem Team Foundation Server (TFS) und der cloudbasierten Variante Visual Studio Team Services, positioniert Microsoft den TFS als offene Plattform für die gesamte Entwicklungsabteilung und darüber hinaus. Der TFS ist aber auch Einstiegspunkt in DevOps-Strategien in Unternehmen. Die DevOps- und TFS-Sessions der BASTA! 2016 bieten einen 360-Grad-Blick auf moderne Softwareentwicklung.

Der Team Foundation Server wurde fit gemacht für Nicht-Microsoft-Technologien, spricht mittlerweile fließend Git, unterstützt die Arbeitsweise mit Pull Requests, baut Software auf Windows, Linux oder Mac OS für die unterschiedlichsten Zielplattformen und hilft bei der Automatisierung vom Check-in zum Build, über automatisierte Tests bis zum Release. Das heißt aber auch: DevOps-Strategien lassen sich mit TFS umsetzen. Von der agilen Planung und Durchführung bis zur Inbetriebnahme einer Lösung ist DevOps an dieser Stelle ganz einfach ALM (Application Lifecycle Management) zu Ende gedacht. Auf den TFS- und DevOps-Days geben die BASTA!-Speaker unterschiedliche Einblicke in diesen spannenden Bereich.

Domain-driven Design – Spaß für den Anwender

In der Session „It’s all about the Domain, Honey – Fachliche Architektur mit DDD für .NET“ sprach Henning Schwentner (WPS) über die Vorteile von Domain-driven Design (DDD) und eröffnete damit den DevOps-Day. Zentraler Punkt dabei ist der Anwender – fachliche Schönheit sollte immer vor technischer Schönheit stehen:

Bau deine Software so, dass sie tief verwurzelt ist in deiner Fachlichkeit.

Beim Bauen von Software werden viele tolle Technologien, Programmiersprachen und Tools eingesetzt. Das ist gut und richtig. Aber leider wird dabei oft aus den Augen verloren, dass das Entscheidende für den Projekterfolg nicht die Technik, sondern die Fachlichkeit ist. In der Software muss das fachliche Modell abgebildet werden, sonst wird sie den Anwendern nicht bei ihrer Arbeit helfen. Davor schützt keine Technologie der Welt.

Um das zu verhindern, muss Fachlichkeit gelernt werden. Das passiert beispielsweise durch Kommunikation mit Fachexperten und die Fokussierung auf die Domäne, in der die Software eingesetzt wird. Dazu müssen vor allem die Kernkonzepte und Elemente der jeweiligen Domäne festgesetzt und das Modell kommuniziert und dokumentiert werden. Danach lässt sich jedem Teilmodell ein fachliches Team zuweisen – die gleiche Idee, die Microservices zugrunde liegt. Aber auch das Erlernen einer Domänen-Sprache, einer ubiquitous Language, sowie das Anlegen eines Glossars gehört zu DDD. Dabei sollte man keine Angst vor Fehlern haben – die DDD-Polizei kommt nicht gleich, so Schwentner.

TFS in der Cloud?

Neno Loje eröffnete den TFS-Special-Day mit seinem Vortrag „TFS ohne Aufwand in der Cloud nutzen (= Visual Studio Team Services): Ist das was für uns?“ Denn Microsoft bietet den Team Foundation Server (TFS) nun auch fix und fertig in der Cloud an, gehostet auf Webservern in Westeuropa bei null Installationsaufwand. Und fünf Benutzer sind gratis sowie alle MSDN-Abonnenten. Klingt doch soweit verlockend, oder?

Vorteile der Cloud-Lösung sind die ständige Verfügbarkeit, der geringe Installations- und Wartungsaufwand sowie die mögliche Nutzung aller von Microsoft selbst verwendeten Features. Zu den Nachteilen zählen der unmögliche Daten-Export sowie –Import, eingeschränkte Prozessänderungen und die Speicherung der Daten außer Landes, was natürlich die Frage nach dem Datenschutz laut werden lässt.

Der Buildserver befindet sich also in der Cloud – welche Optionen bleiben? Entweder greift man auf Hosted Agents zurück (240 Min./Monat, 1 Build parallel, max. 30 Min. pro Build), wählt einen Private Hosted Agent oder nutzt – sicher ist sicher – den eigenen Buildserver (1 for free). Aber auch die Verwendung eines Buildservers mit Third-Party-Tools (etwa DevExpress) ist möglich, so Loje. So, liebe Entwickler, jetzt müsst ihr euch entscheiden – TFS in der Cloud, ja oder nein?

Visual Studio aufgehübscht

In der Java-Community ist eine komplexe Toolchain schon lange für die Lösungsumgebung notwendig, die Visual-Studio-Welt war bisher vergleichbar einfach: Mehr als Visual Studio, NuGet, Web Essentials, ReSharper und TFS war nicht notwendig. Doch wie Tobias Meier in seiner Session „Automatisieren von Alltagsaufgaben: Tuning von Visual Studio“ zeigt, können inzwischen auch Visual-Studio-Nutzer mit weiteren Tools die Produktivität bei der Entwicklung nochmals erhöhen.

Mit npm, GULP und JSPM lassen sich Routinetasks bei der Entwicklung erledigen: So werden innerhalb komplexer Toolchains HTML-Dateien beim Speichern automatisch nach TypeScript konvertiert und anschließend der TypeScript-Compiler gestartet. Aber auch Sass-Dateien werden bei Dateiänderungen nach CSS konvertiert und für verschiedene Browser. Zudem ist eine statische Codeprüfung der TypeScript-Dateien mit TSLint möglich.

Update 22.9.

Vom Monolithen zu Microservices

Tag 2 der übergreifenden Themengebiete DevOps und Team Foundation Server startete mit der Session „Entwurf und Bereitstellung von Software für DevOps-Organisationen“ von Michael Kaufmann. Die heutige Unternehmenslandschaft befindet sich im Umbruch und steht unter Innovationsdruck im Bereich digitale Kompetenz. Das Motto „If you can’t measure it, you can’t manage it“ ist zwar gut und schön, aber allein das wird in Zukunft nicht reichen, so Kaufmann. Viel wichtiger sind Experimente.

Es reicht nämlich nicht, alle paar Monate ein Release zu veröffentlichen. Das Ziel muss es sein, bis zu zehnmal am Tag Software produktiv bereitstellen zu können. Doch wem macht Deployment schon Spaß? Dennoch ist es wichtig, sich damit auseinanderzusetzen – und irgendwann tut’s fast gar nicht mehr weh:

Deployment bedeutet Schmerzen.

Solche Änderungen stellen aber komplett neue Anforderungen an Entwickler und vor allem an das Softwaredesign. Anwendungen müssen sich weg von monolithischen hin zu schlanken, serviceorientieren Anwendungen entwickeln (Microservices) und müssen mit einem ganz anderen Herangehen für das Deployment entwickelt werden (z. B. durch Feature-Switches).

Eine Dekade Team Foundation Server

Mit dem Team Foundation Server hat Microsoft vor zehn Jahren erstmalig ein Werkzeug für die Teamarbeit vorgestellt. Neno Loje warf in seiner Session „Zehn Jahre Team Foundation Server“ einen Blick auf die zurückgelegte Entwicklung und auf die neuen Features des TFS. Trotz des langen Bestehens des TFS nutzen die meisten Unternehmen nicht annähernd die Möglichkeiten aus, die von Version zu Version hinzugekommen sind.

Mittlerweile liefert Microsoft für das Herzstück seiner ALM-Plattform, der Team Foundation Server, bis zu vier Mal im Jahr Updates aus. Ein Wandel hin zur agilen Arbeitsweise – und damit eine Annäherung an den Kunden – hat stattgefunden. Zudem bringen die Verlagerung in die Cloud und die Möglichkeit der Cross-Plattform-Nutzung wesentlich mehr Einsatzszenarien. Der TFS ist zur zentralen Steuerungs- und Verwaltungseinheit geworden, so Loje.

Auch in puncto Lizenz gibt es News: Der Zugriff auf Work Items läuft kostenlos über Web Access. Inbegriffen ist fast alles (TFS CAL, VS Pro mit MSDN) außer dem Test-Case-Management und dem Verwalten von Release-Definitionen. Braucht man mehr, gibt es eine Basis-Lizenz für unter sieben Euro im Monat. Weitere Neuerungen betreffen den Visual Studio Marketplace und die Möglichkeit, auf Excel, Project und PowerPoint Storyboarding zurückzugreifen.

TFS goes Agile

In einer weiteren Session stellte Neno Loje die agilen Planungswerkzeuge im Team Foundation Server vor. Prinzipiell kann man Anforderungen, Aufgaben und Bugs im TFS als Work Items auf zwei Arten verwalten: entweder über eigene Abfragen (Work Item Queries) oder über die agilen Projektplanungswerkzeuge im TFS Web Access. Doch so einfach funktioniert das alles dann doch nicht: Ich kann mich nicht erinnern, dass jemand jemals die Worte „einfach“, „sinnvoll“ oder „intuitiv“ erwähnt hätte“, meint Loje. Anhand eines Sprints klärte er über den agilen TFS-Weg auf.

Auch Barbara Göller und Thomas Rümmler widmeten sich in ihrer Session „Integration von Anforderungsmanagement in den Entwicklungsprozess mit dem TFS“ den agilen Methoden beim TFS. Denn dank guter Methodik und vordefiniertem Datenmodell zur Anforderungsverwaltung gelingt hohe Qualität und Nachverfolgbarkeit des gesamten Entwicklungsprozesses. Die beiden diskutierten unterschiedlichste Ansätze für Anforderungsmanagement und zeigten die Vor- und Nachteile von wenig regulierten, agilen Ansätzen in der Softwareentwicklung sowie stark regulierten Umgebungen wie etwa der Medizintechnik.

Die TFS- und DevOps-Days der BASTA! 2016 machten vor allem eins deutlich: Die Entwickler-Welt wird immer größer – das bedeutet neue Chancen, aber auch neue An- und Herausforderungen. Für Entwickler gilt es also, stetig auf dem Laufenden zu bleiben und sich weiterzuentwickeln – und was bietet sich dafür besser an, als die BASTA! 2016?

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -