Aus der Werkstatt durch die Cloud in die Produktion Christian Henggeler Dirk Ebeling Projektleiter & Consultant Leiter Business Unit AMS Zühlke Engineering AG Zühlke Engineering AG
Wartungsphase - Herausforderungen Deployment Geschwindigkeit Auf lange Sicht Verunsicherung Qualitätssicherung Seiteneffekte bei Änderungen Nachvollziehbarkeit Transparenz während Entwicklungsphase Know-How-Transfer Gewährleistung von Effizienz und Effektivität (Service Level Agreement) Quelle: www.joodoo.com
Entwicklung und Wartung Christian Henggeler (Entwicklung) Projektleiter, Principal Consultant, Software Engineering Trainer seit 1998 bei Zühlke Engineering in Schlieren Realisierte während den letzten 11 Jahren diverse Projekte im .NET Umfeld Dirk Ebeling (Wartung & Betrieb) Verantwortlich für die Einheit „Application Management Services“ (AMS) seit Ende 2012 bei Zühlke Engineering in Schlieren Unter anderem übernimmt seine Organisation zukünftig Anwendungen aus der Entwicklung und sichert deren Betrieb und Wartung
Agenda Team Worum geht’s? Deployment vereinfacht Qualitätssicherung Nachvollziehbarkeit Know-How-Transfer Abschluss
Team «Toll, ein anderer macht’s» ?
Nutzung TFS & Einordnung SLC Continual Service Improvement Service Life Cycle Strategy Design Transition Operation TFS Project- Mgmt. Task Bug Tracking Doc. Code Reports Compile & Test Test virt. Systems Project Maint. & Operate
Worum geht’s? Kapitel 2/7
Architektur Cloud SOAP / REST REST Desktop Mobile
Wieso Cloud? Kunde will IT als Service (darum PaaS statt IaaS) Elastizität (z.B. bei grossem Erfolg des Business-Cases) Weitere Ressourcen innert Minuten verfügbar Quelle: www.microsoft.com
Deployment vereinfacht Kapitel 3/7
Angst vor dem Release-Tag? Windows Azure weil Kunde will IT als Service (darum PaaS) Skalierbarkeit (z.B. bei grossem Erfolg des Business-Cases) Hohe Verfügbarkeit Weitere Resourcen innert Minuten verfügbar Quelle: mydiaryproject.com
Die letzte Meile manuelles Deployment ungenügendes Configuration Management seltenes und fehleranfälliges Deployment Quelle: www.laufkultur.de
«Done means DEPLOYED» Quelle: www.nasa.org
Typische Environments Kunde - Production V1 V2 deploy Zühlke - Test V2 deploy Zühlke - Dev V2 V3
Neutral Package Framework Übersicht prepare “daily” Deployment Unit prepare “test” build deploy *.xxproj prepare “production” Deployment Unit Cloud Neutral Package Deployment Unit
Vollautomatisches Deployment mit TFS Deployment via TFS Team-Build Installation der Cloud-Services Erstellen des Click-Once Pakete und Bereitstellen in der Cloud (BLOB) Dies für alle Environments Manuelle Schritte Azure Swap VIP (von Staging zu Production) Quelle: online.wsj.com
Mehrere Environments im Projekt Kunde - @Cloud Test Demo Production Zühlke - @Cloud Daily Integration Test Zühlke - @Dev Local
Qualitätssicherung Kapitel 4/7
Kontinuierliche QS mit dem TFS Bei jedem Check-In Code-Analysis Style-Cop (Code Formatierungs Analyse) Autom. Unit Tests ausführen Einmal am Tag Autom. Deployment auf “Integration” Environment Autom. Durchführen von Integration Tests (auf Basis von MS-Test) Quelle: www.walltor.com
Test-Management mit dem TFS MS Test Manager Test Cases kontinuierlich erfasst/erweitert Einmal pro Iteration/Sprint manuell ausgeführt Direkt Bugs erfasst (einfache Reproduktion) Quelle: readwrite.com
Benefit für Wartung & Betrieb Seiteneffekte von Fixes werden früh entdeckt Applikationsverhalten ist in Test-Cases dokumentiert und nachvollziehbar Qualitätsstandards gelten auch für die Wartungsphase Quelle: www.srtechnics.com
Nachvollziehbarkeit Kapitel 5/7
Das Richtige tun… TFS Work Items Agiler Prozess (4 Wochen pro Iteration) Tasks pro Iteration Planung MS Projekt TFS Tracking der Stunden Defect Tracking: Bug Work-Item erweitert Unterscheidung: Bug / Change Request Export in Word und Excel Check-In immer mit Work-Item verlinken Quelle: www.lego.com
Know-How-Transfer Kapitel 6/7
…und es zusammen tun Know-How-Transfer Wartungs-Mitarbeiter schon in der Entwicklungs-Phase ins Team integrieren Entwickler auch mal Wartung machen lassen Entwickler sind als Backup ja immer noch da Reviews durch Entwickler bei grossen resp. heiklen Änderungen in der Wartungs-Phase Quelle: pavetech.olhblogspace.com
Abschluss Kapitel 6/6
Zusammenfassung Wartungsphase - Lösungen Deployment: Mehr-Environment-Strategie Automation Qualitätssicherung Testing (manuell und automatisch) Nachvollziehbarkeit Doppelspurigkeiten / Medienbrüche vermeiden Einsatz Work-Items Versionskontrolle Know-How-Transfer Organisatorische Massnahmen Funktionsbeschreibung in Form von Test-Cases
Besten Dank für Ihre Aufmerksamkeit Für allfällige Fragen stehen wir Ihnen jederzeit gerne zur Verfügung: Christian Henggeler Dirk Ebeling Wiesenstr. 10a Wiesenstr. 10a Schlieren Schlieren +41 44 733 65 72 +41 44 733 69 43 ch@zuehlke.com ebe@zuehlke.com