AKIT 20131203 Freitag Agile Softwareentwicklung bei eEvolution
Transcription
AKIT 20131203 Freitag Agile Softwareentwicklung bei eEvolution
Softwareentwicklung bei eEvolution Darstellung der Prozesse mit dem agilen Entwicklungsansatz Jan Freitag, COMPRA GmbH Jan Freitag • Studium: – IMIT Bachelor: 2005-2008 – IMIT Master: 2008 - 2010 • eEvolution: – Mitarbeit als Werksstudent: 2007-2010 – Aufgabenbereiche: • • • • Software-Entwickler eEvolution Standard Projektprogrammierung/-leitung Business Intelligence (Data Warehousing, OLAP, Reporting) EDI (Electronic Data Interchange) Agenda • • • • • • Was bedeutet agil? Softwareentwicklung mit Scrum Aufgaben in der Standardentwicklung Entwicklungswerkzeuge Agile Methoden TeamConf 2013 / Microsoft Agile Konferenz Was bedeutet agil? • Duden: von großer Beweglichkeit zeugend; regsam und wendig • lat. agilis: flink; beweglich "Nichts ist so beständig wie die Veränderung." (Bob Dylan) Warum agil? • Flexibilität • Schnelle Reaktionsfähigkeit • Time to Market reduzieren/ Releasezyklen verkürzen • Kommunikation/Feedback verbessern • Microsoft Tools ausnutzen Softwareentwicklung mit Scrum Quelle: http://msdn.microsoft.com/de-de/library/vstudio/dd997796(v=vs.100).aspx Softwareentwicklung mit Scrum Rollen: Product Owner Artefakte: Scrum Master Product Backlog Sprint Backlog Team Burndown Chart Quelle: http://msdn.microsoft.com/de-de/library/vstudio/dd997796(v=vs.100).aspx Aufgaben in der Standardentwicklung – Feature Requests • Konzeption – Datenmodellierung – UI-Design – Funktionale und nichtfunktionale Anforderungen • Implementierung – Bugfixing – Code Reviews Aufgaben in der Standardentwicklung • Qualitätssicherung und Dokumentation – Vorqualifikation von gemeldeten Fehlern – Black Box Tests von • Bugfixes • Change Requests – Übergreifende Softwaretests vor den Releases – Erstellung und Auswertung von automatisierten Tests – Dokumentation der ERP-Software • On- und Offline Hilfe mit Flare • Installationshandbücher • Neuerungsdokumente – Aber auch: Erstellung von Konzeptionen für Change Requests Ja, wir bieten Praktika in allen Bereichen an! Entwicklungswerkzeuge • Microsoft Team Foundation Server 2012 – • Microsoft Visual Studio 2013 – • Programmiersprache Weitere Tools: – – – – • Relationale Datenbank, multidimensionale Datenbank Microsoft .NET C# 4.5 – • IDE (Entwicklungsumgebung) Microsoft SQL Server 2012 – • Version Control, Product Backlog, Bugtracker StyleCop Hawkeye .NET Reflector LinqPad Wichtige Technologien/Konzepte – – MVVM (MVC) Design Pattern Entity Framework zur Abstraktion der Datenbankschicht (LLBLGEN) Team Foundation Server Web Access Quelle: http://msdn.microsoft.com/de-De/library/ee523998.aspx Agile Methoden • • • • • • • • • • Pair-Programming Refactoring (besonders auch bei legacy Code) Code reviews Story-Cards User Stories Prototyping [Test-Driven Development] Test Automation Continuous Integration/ Gated Checkins Continuous Delivery Storyboarding/Prototyping mit Power Point Quelle: http://msdn.microsoft.com/de-de/library/hh409276.aspx Code Reviews mit Visual Studio Quelle: http://www.visualstudio.com/en-us/get-started/get-code-reviewed-vs.aspx UI Testing • Microsoft Test Manager • Coded UI Tests für automatisierte UI Tests • Aufzeichnung von Testabläufen für manuelle Tests Quelle: http://msdn.microsoft.com/de-de/library/dd286726.aspx Branching-Strategie Main Release eEvolution 8.1 … Branch RTM eEvolution 8.1.2 … Branch Bugfix/Feature Pack eEvolution 8.1.2.0 … Branch Release-Management • Major Releases – alle zwei Jahre • Service Packs – halbjährlich • BF-Packs (Bugfix/Feature Packs) – alle 3 Wochen • kundenspezifische Hotfixes – On Demand bei kritischen Fehlern Das MS Team Foundation Server Team arbeitet auch nach Scrum und veröffentlicht alle 3 Wochen eine neue Version in der Cloud TeamConf 2013 • Thema ALM (Application Lifecycle Management) – Microsoft Team Foundation Server 2013 – Testing – Agile (Tools, Planning) Agile Portfolio Management Quelle: http://msdn.microsoft.com/en-us/library/dn306083.aspx Visualisierung des Fortschritts Quelle: http://msdn.microsoft.com/en-us/library/dn407521.aspx Kanban Board • Alternativ oder auch in Kombination mit Scrum Work in Progress (WIP) festlegen Definiton of Done Quelle: http://msdn.microsoft.com/en-us/library/jj838789.aspx Weitere Funktionen in Visual Studio/TFS 2013 • • • • • • • Team-Rooms Architektur-Diagramme mit Validierung Cloud-based Load Tests Release-Management Tool GIT Integration als alternative Versionskontrolle Feedback-Client Nutzungsstatisiken Fazit • Der agile Entwicklungsansatz ist noch nicht vollständig bei uns implementiert • Die Prozesse werden stetig kritisch betrachtet, gemessen und verbessert • Microsoft Tools werden immer besser im Bezug auf den agilen Entwicklungsansatz Quellen • Alle Abbildungen und Screenshots stammen aus dem Microsoft Developer Network (MSDN, http://msdn.microsoft.com). Die exakten URLs sind jeweils unter den Abbildungen angegeben.