TechDays 2017 – Teil 3: Seven Habits of Effective DevOps

TechDays 2017 – Teil 3: Seven Habits of Effective DevOps

Im dritten Teil unsere vier-teiligen Blog Serie zu den diesjährigen TechDays haben wir die Keynote 5 zum Thema «Seven Habits of Effective DevOps für Sie zusammengefasst.

In dieser Keynote berichtete Sam Guckenheimer über die Erkenntnisse und Irrwege während der Entwicklung von „Visual Studio Team Services“. Die Entwicklung von „Visual Studio Team Services“ begann 2010 als eine Saas (Software as a Service) Variante von „Team Foundation Server“. Die Erfahrungen, die Microsoft in diesem Segment gemacht hat, hat Sam in den „Seven Habits of Effective DevOps“ zusammengefasst und nebenbei noch ein bisschen aus dem Microsoft Nähkästchen geplaudert.

Team autonomy and enterprise alignment

Microsoft entwickelt „Visual Studio Team Services“ in weltweit verteilten „Feature Crews“. Eine Feature Crew besteht aus zehn Mitarbeitern diein einem Raum sitzen und an den selben Features arbeiten. Der Backlog wird in drei Wochen Sprints abgearbeitet. Am Ende eines Sprints erstellt jedes Feature Team ein etwa drei minütiges Video, in denen sie Ihren Fortschritt aus Kundensicht präsentieren.

Managing technical debt

Früher gab es für das Testing viele umfassende, schwerfällige Integrationstests. Diese waren aber aufgrund ihrer Grösse schwer zu debuggen. Der Fokus liegt heute mehr auf codenahen Unitests. Dadurch kann ein fehlerhafter Code besser lokalisiert werden. Das Dogma heisst hier „Test as close to the code as possible“.

Flow of customer value

Es existieren grob gesehen zwei Möglichkeiten um Feedback vom Kunden einzuholen. Einerseits werden quantitative Parameter wie Performance und Availability gemessen. Andererseits geht Microsoft auch auf Kunden zu und holt sich qualitatives Feedback vom Kunden.

Während die ersten drei Punkte eigentlich „Best Practice Scrum“ Vorgehensweisen sind, sind die folgenden vier erst mit der Einführung von DevOps hinzugekommen:

Backlog groomed with learning

Eine Problemstellung in der Softwareentwicklung ist herauszufinden, welche Tasks aus dem Backlog in den nächsten Sprint kommen sollen. Microsoft verwendet hierzu auch das Vorgehensmodell „Build, Measure, Learn“. Ein Feature wird umgesetzt und basierend auf dem Feedback des Kunden wird in diesem Bereich weiter investiert, oder nicht.

Evidence gathered in production

Alle Telemetrie Daten die gesammelt werden können, werden auch gesammelt. Diese Daten fliessen in weitere Entwicklungen ein.

Production first mindset

Die oberste Priorität für das Team ist der Status des Produktionssystems . Bevor Verzögerungen für den Kunden spürbar werden, werden diese proaktiv erkannt und behoben.

Managing infrastructure as a flexible resource

In diesem Punkt schlägt ganz sich klar die DevOps-Philosophie nieder: Deployments müssen jederzeit möglich sein. Automatisiert und auf mehreren weltweit verteilten Stages.

In der folgenden Grafik sind die erläuterten Punkt visuell dargestellt:

Fazit

Der Vortrag von Sam Guckenheimer zeigte sehr schön wie Microsoft, basierend auf dem On Premise Produkt „Team Foundation Server“, die SaaS Lösung „Visual Studio Team Services“ entwickelt hat. Die Seven Habits basieren allesamt auf „Aglie Best Practices“ und „DevOps Best Practices“. Die offene Kommunikation des Entwicklungsprozesses war überraschend im positiven Sinne. Der Vortrag zeigt wie sehr Microsoft agile Entwicklungsmethoden und den Prozessverbesserungsansatz DevOps benutzt um Lösungen zu entwickeln.