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.