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/ Releasezyklenverkü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
Quelle: http://msdn.microsoft.com/de-de/library/vstudio/dd997796(v=vs.100).aspx
Product Backlog Sprint Backlog Burndown ChartArtefakte:
Product Owner Scrum Master TeamRollen:
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– Version Control, Product Backlog, Bugtracker
• Microsoft Visual Studio 2013– IDE (Entwicklungsumgebung)
• Microsoft SQL Server 2012– Relationale Datenbank, multidimensionale Datenbank
• Microsoft .NET C# 4.5– Programmiersprache
• Weitere Tools:– 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
eEvolution 8.1…
Branching-Strategie
Main
Release
RTM
Bugfix/Feature Pack
eEvolution 8.1.2…
eEvolution 8.1.2.0…
Branch
Branch
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 Scrumund veröffentlicht alle 3 Wochen eine neue Version in der Cloud
TeamConf 2013
• Thema ALM (Application LifecycleManagement)
– 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
Quelle: http://msdn.microsoft.com/en-us/library/jj838789.aspx
Work in Progress
(WIP) festlegen
Definitonof Done
• Alternativ oder auch in Kombination mit Scrum
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.