Aufrufe
vor 3 Jahren

Netzwoche 10/2016

  • Text
  • Unternehmen
  • Schweiz
  • Netzmedien
  • Schweizer
  • Devops
  • Webcode
  • Swisscom
  • Digitalisierung
  • Digitalen
  • Zudem

30 DOSSIER DevOps In

30 DOSSIER DevOps In Kooperation mit Digicomp Vision Epics Product Owner Backlog Item Business Value Grösse Dev Team Definition of Done Wartbarer Code Keine «technische Schuld» Build Automation Release Automation Agile Planning Tools Test Automation Analytics Priorisierung Stakeholder Product Backlog Sprint Backlog Potentially Shippable Product Release Beinhaltet alle Tätigkeiten – Anforderungen – Bugs – Servicing Velocity Test Team formal explorativ Heute ist es wichtig, eine erweiterbare und interoperable Plattform zu haben, die verschiedenste Entwicklungstechnologien unterstützt, die Daten aller Komponenten des DevOps-Prozesses integriert und deren Rückverfolgbarkeit zulässt. einfach. Daneben sollten wir so viele automatisierte Tests wie möglich auf dem tiefstmöglichen Level erstellen. Dies impliziert einerseits, dass unsere Software und deren Architektur auf Testbarkeit ausgelegt ist und andererseits die Tests in jedem Umfeld – vom Development bis Produktivsystem – ausgeführt werden können. Zudem müssen wir mögliche Probleme frühzeitig erkennen. Eine Methode, abgesehen von der nachfolgend beschriebenen Instrumentalisierung, ist es, ebenfalls den Kunden ins Zentrum zu rücken und sich explizit auf die unzufriedenen Kunden zu fokussieren und zu analysieren, was zu dieser Situation führen konnte. Kundenfokus Der Kundenfokus oder auch der Kundennutzen wurde in diesem Artikel bereits mehrfach angesprochen. Ausser der Instrumentalisierung von Applikationen und Services und der damit verbundenen Nutzungsstatistiken können aber auch weitere Methoden und Tools zur Erhebung des Kundenfeedbacks eingesetzt werden. Wir können einerseits den Kunden als Stakeholder in unsere Systemlandschaft integrieren, indem er uns qualifizierte Feedbacks gibt oder über neue Funktionen und Erweiterungen abstimmen kann. Bei all der modernen Technik nicht zu vergessen, ist jedoch das gute alte persönliche Gespräch mit dem Kunden. Backlog Grooming mit Learning Mittels der Instrumentalisierung unserer Applikationen möchten wir Learnings aus den erhobenen Daten ziehen und somit die Planung der Weiterentwicklung steuern. Wir können aber das Benutzerverhalten nicht immer voraussagen, deshalb ist es wichtig, Hypothesen aufzustellen und diese dann mit effektiven Daten aus dem Betrieb zu überprüfen. Wichtig hierbei ist, die Entwicklungsarbeiten nicht unnötig kompliziert zu machen. Viele erfolgreiche Software-Teams haben ihren Release-Prozess entschlackt und nur noch ein Release-Gefäss. Doch wie werden Features ausprobiert oder Hypothesen verifiziert ohne Beta-Release? Das Zauberwort heisst Feature-Flags. Die Software wird immer als Ganzes ausgeliefert, jedoch kann über Features-Flags gesteuert werden, wer welches Feature sieht und somit benutzen kann. Somit können feingranular Early Adopters aufgeschaltet werden oder es können auch A/B-Tests, also die Überprüfung und Analyse zweier verschiedener Varianten der Feature-Implementierung, mit dem Zielpublikum durchgeführt werden. Telemetriedaten aus der Produktion Ziel der Instrumentalisierung ist es, eine möglichst komplette Gesamtsicht der produktiven Applikation zu erhalten. Dieses Rad muss heutzutage kaum einer mehr neu erfinden, sind doch zahlreiche Tools auf dem Markt, die einem mit Analysedaten und deren Auswertung versorgen. Grosse Softwarekonzerne sammeln heutzutage mehrere hundert Terabyte Daten pro Tag, was im Zeitalter der Cloud zum Glück kein grosses Problem mehr darstellt. Durch die kurzen Release-Zyklen lassen sich erkannte Probleme schnell im nächsten Release beheben oder es kann eine situationsgerechte Neu-Priorisierung des Backlogs erfolgen. Zu guter Letzt stellt sich noch die Frage nach dem Tooling. Es gibt verschiedene Anbieter, die DevOps- und ALM-Plattformen anbieten. In der heutigen schnelllebigen Welt ist es daher wichtig, eine erweiterbare und interoperable Plattform zu haben, die verschiedenste Entwicklungstechnologien unterstützt, die Daten aller Komponenten des DevOps-Prozesses integriert und eine gute Rückverfolgbarkeit derer zulässt. Der Schlüsselfaktor liegt in der Automatisierung des Gesamtprozesses und stellt somit eine wesentliche Anforderung an die Tool-Landschaft dar. Sind nun alle Faktoren berücksichtigt, können wir unser Ziel erreichen: die kundenorientierte Software in kurzen Zyklen automatisiert ausliefern. VERAnstaltungshinwEIS Am DevDay Zürich am 22. Juni erwarten Sie 31 Sessions in 5 Tracks zu Architektur und Design, Webtechnologien, Microsoft .NET, Oracle Java und Application Lifecycle Management (ALM). www.digicomp.ch/devday 10 / 2016 www.netzwoche.ch © netzmedien ag

In Kooperation mit Digicomp DevOps DOSSIER 31 «Wer DevOps einsetzt, schafft mit jedem Software-Release einen Mehrwert» Marc Müller ist Principal Consultant für Microsoft-Lösungen beim IT-Dienstleister 4tecture. Seine Fachgebiete sind Microsoft ALM, .NET und Windows Azure. Im Interview mit der Redaktion erklärt er, warum sich Unternehmen mit DevOps auseinanderseten sollten. Interview: Marcel Urech Sie sind Keynote-Speaker am DevDay Zürich 2016, der am 22. Juni bei Digicomp stattfindet. Über was werden Sie referieren? Marc Müller: Gerne erkläre ich dem Publikum den DevOps-Ansatz aus unserer Sicht und Erfahrung und zeige Wege und Best Practice auf, wie man DevOps in seinem Betrieb einführt und vor allem auch lebt. « DevOps ist nicht von der Firmengrösse abhängig. Prozess und Tooling kann man immer anwenden. » DevOps ist nicht eindeutig definiert. Bitte erklären Sie unseren Lesern in einfachen Worten, was der Begriff bedeutet. DevOps ist Prozess, Tooling und Unternehmenskultur zugleich. Ziel jeder Software muss es sein, dem Benutzer oder Kunden mit jedem Release einen Mehrwert zu liefern. Wir stellen die Produktionsumgebung und den Anwender in den Mittelpunkt und analysieren Benutzerverhalten sowie den Produktivbetrieb. Aus den gesammelten Informationen können wir nun ableiten, was wir mit welcher Priorität entwickeln und wo eventuell eine Kurskorrektur notwendig ist. Durch den Einsatz von Build-, Test- und Releaseautomatisierung können wir die Software in kurzen Zyklen ausliefern. Als Principal Consultant für Microsoft-Lösungen helfen Sie Firmen bei der Umsetzung von DevOps-Vorhaben. Was sind die häufigsten Fehler, die Unternehmen in diesen Projekten machen? DevOps ist ein ganzheitliches Unterfangen und hat Einfluss auf die Mitarbeiter, den Prozess und das Tooling. Nur an einem dieser Faktoren etwas zu verändern, ist zwar einfacher, bringt aber nicht den gewünschten Erfolg. Viele Firmen sind beim Thema DevOps noch zurückhaltend. Warum ist das so? Und was raten Sie solchen Unternehmen? Bei grossen und komplexen Themengebieten wie DevOps kann es schwierig sein, es greifbar zu machen. Stehen zu bleiben ist jedoch keine Option, schon gar nicht in der Softwareentwicklung. Der Softwaremarkt ist schnelllebig und Veränderungen unterworfen. Einen Prozess und Tooling zu haben, sich mit dem Markt und seinen Kunden weiterzuentwickeln, ist somit unumgänglich. Entsprechend rate ich unseren Kunden, den Begriff DevOps herunterzubrechen und sich mit konkreten Aktionen dem Ziel zu nähern. Ab welcher Unternehmensgrösse lohnt sich der DevOps-Ansatz? Grundsätzlich ist DevOps nicht von der Firmengrösse abhängig. Den Prozess und das Tooling kann man immer anwenden. Wenn man die Grösse von agilen Teams anschaut, so liegt diese bei 8 bis12 Personen. Grosse Unternehmen werden also mit vielen agilen Teams arbeiten. Marc Müller, Principal Consultant für Microsoft-Lösungen bei 4tecture Hier liegt die Herausforderung darin, die möglichst autonomen Teams auf die Unternehmensziele auszurichten und die Entwicklungsarbeiten zu koordinieren. Muss ein Unternehmen zuerst fit in agilen Entwicklungsmethoden sein, bevor es sich mit dem Thema DevOps beschäftigt? Ja, ganz klar, die agilen Entwicklungsmethoden sind ein zentraler Bestandteil. Mit DevOps können wir noch besser unser Product Backlog überprüfen und auch anpassen. Ohne agil zu entwickeln und entsprechend schnell darauf reagieren zu können, bringt uns dieses Vorhaben nichts. Haben DevOps-Praktiken auch einen direkten Einfluss auf die Strategie und Profitabilität von Unternehmen? Mit DevOps haben wir mehr Effizienz in der Entwicklung und sparen somit Kosten ein. Wir stellen den Kunden (extern oder intern) in den Mittelpunkt und schaffen mit jedem Release einen Mehrwert. Zufriedene Kunden, die bei Problemen schnell eine Lösung erhalten, werden sich ebenfalls positiv auf die Profitabilität auswirken. DevOps fordert neue Skills und Fähigkeiten. Was müssen Entwickler und Engineers tun, um diese zu erlangen? Aus Entwicklungssicht ist eine gute Architekturbasis sowie die Testbarkeit der Applikation unumgänglich. Dies ist die Grundlage für die Automatisierung. Entsprechend ist sowohl eine fachspezifische Ausbildung als auch der Erfahrungsaustausch mit anderen Teams oder Beratern zu empfehlen. www.netzwoche.ch © netzmedien ag 10 / 2016

Archiv