Softwareentwicklung bei eEvolution - Universität Hildesheim€¦ · Softwareentwicklung bei...

24
Softwareentwicklung bei eEvolution Darstellung der Prozesse mit dem agilen Entwicklungsansatz Jan Freitag, COMPRA GmbH

Transcript of Softwareentwicklung bei eEvolution - Universität Hildesheim€¦ · Softwareentwicklung bei...

Page 1: Softwareentwicklung bei eEvolution - Universität Hildesheim€¦ · Softwareentwicklung bei eEvolution Darstellung der Prozesse mit dem agilen Entwicklungsansatz Jan Freitag, ...

Softwareentwicklung bei eEvolution

Darstellung der Prozesse mit dem agilen Entwicklungsansatz

Jan Freitag, COMPRA GmbH

Page 2: Softwareentwicklung bei eEvolution - Universität Hildesheim€¦ · Softwareentwicklung bei eEvolution Darstellung der Prozesse mit dem agilen Entwicklungsansatz Jan Freitag, ...

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)

Page 3: Softwareentwicklung bei eEvolution - Universität Hildesheim€¦ · Softwareentwicklung bei eEvolution Darstellung der Prozesse mit dem agilen Entwicklungsansatz Jan Freitag, ...

Agenda

• Was bedeutet agil?

• Softwareentwicklung mit Scrum

• Aufgaben in der Standardentwicklung

• Entwicklungswerkzeuge

• Agile Methoden

• TeamConf 2013 / Microsoft Agile Konferenz

Page 4: Softwareentwicklung bei eEvolution - Universität Hildesheim€¦ · Softwareentwicklung bei eEvolution Darstellung der Prozesse mit dem agilen Entwicklungsansatz Jan Freitag, ...

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)

Page 5: Softwareentwicklung bei eEvolution - Universität Hildesheim€¦ · Softwareentwicklung bei eEvolution Darstellung der Prozesse mit dem agilen Entwicklungsansatz Jan Freitag, ...

Warum agil?

• Flexibilität

• Schnelle Reaktionsfähigkeit

• Time to Market reduzieren/ Releasezyklenverkürzen

• Kommunikation/Feedback verbessern

• Microsoft Tools ausnutzen

Page 6: Softwareentwicklung bei eEvolution - Universität Hildesheim€¦ · Softwareentwicklung bei eEvolution Darstellung der Prozesse mit dem agilen Entwicklungsansatz Jan Freitag, ...

Softwareentwicklung mit Scrum

Quelle: http://msdn.microsoft.com/de-de/library/vstudio/dd997796(v=vs.100).aspx

Page 7: Softwareentwicklung bei eEvolution - Universität Hildesheim€¦ · Softwareentwicklung bei eEvolution Darstellung der Prozesse mit dem agilen Entwicklungsansatz Jan Freitag, ...

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:

Page 8: Softwareentwicklung bei eEvolution - Universität Hildesheim€¦ · Softwareentwicklung bei eEvolution Darstellung der Prozesse mit dem agilen Entwicklungsansatz Jan Freitag, ...

Aufgaben in der Standardentwicklung

– Feature Requests• Konzeption

– Datenmodellierung

– UI-Design

– Funktionale und nichtfunktionale Anforderungen

• Implementierung

– Bugfixing

– Code Reviews

Page 9: Softwareentwicklung bei eEvolution - Universität Hildesheim€¦ · Softwareentwicklung bei eEvolution Darstellung der Prozesse mit dem agilen Entwicklungsansatz Jan Freitag, ...

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!

Page 10: Softwareentwicklung bei eEvolution - Universität Hildesheim€¦ · Softwareentwicklung bei eEvolution Darstellung der Prozesse mit dem agilen Entwicklungsansatz Jan Freitag, ...

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)

Page 11: Softwareentwicklung bei eEvolution - Universität Hildesheim€¦ · Softwareentwicklung bei eEvolution Darstellung der Prozesse mit dem agilen Entwicklungsansatz Jan Freitag, ...

Team Foundation Server Web Access

Quelle: http://msdn.microsoft.com/de-De/library/ee523998.aspx

Page 12: Softwareentwicklung bei eEvolution - Universität Hildesheim€¦ · Softwareentwicklung bei eEvolution Darstellung der Prozesse mit dem agilen Entwicklungsansatz Jan Freitag, ...

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

Page 13: Softwareentwicklung bei eEvolution - Universität Hildesheim€¦ · Softwareentwicklung bei eEvolution Darstellung der Prozesse mit dem agilen Entwicklungsansatz Jan Freitag, ...

Storyboarding/Prototyping mit Power Point

Quelle: http://msdn.microsoft.com/de-de/library/hh409276.aspx

Page 14: Softwareentwicklung bei eEvolution - Universität Hildesheim€¦ · Softwareentwicklung bei eEvolution Darstellung der Prozesse mit dem agilen Entwicklungsansatz Jan Freitag, ...

Code Reviews mit Visual Studio

Quelle: http://www.visualstudio.com/en-us/get-started/get-code-reviewed-vs.aspx

Page 15: Softwareentwicklung bei eEvolution - Universität Hildesheim€¦ · Softwareentwicklung bei eEvolution Darstellung der Prozesse mit dem agilen Entwicklungsansatz Jan Freitag, ...

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

Page 16: Softwareentwicklung bei eEvolution - Universität Hildesheim€¦ · Softwareentwicklung bei eEvolution Darstellung der Prozesse mit dem agilen Entwicklungsansatz Jan Freitag, ...

eEvolution 8.1…

Branching-Strategie

Main

Release

RTM

Bugfix/Feature Pack

eEvolution 8.1.2…

eEvolution 8.1.2.0…

Branch

Branch

Branch

Page 17: Softwareentwicklung bei eEvolution - Universität Hildesheim€¦ · Softwareentwicklung bei eEvolution Darstellung der Prozesse mit dem agilen Entwicklungsansatz Jan Freitag, ...

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

Page 18: Softwareentwicklung bei eEvolution - Universität Hildesheim€¦ · Softwareentwicklung bei eEvolution Darstellung der Prozesse mit dem agilen Entwicklungsansatz Jan Freitag, ...

TeamConf 2013

• Thema ALM (Application LifecycleManagement)

– Microsoft Team Foundation Server 2013

– Testing

– Agile (Tools, Planning)

Page 19: Softwareentwicklung bei eEvolution - Universität Hildesheim€¦ · Softwareentwicklung bei eEvolution Darstellung der Prozesse mit dem agilen Entwicklungsansatz Jan Freitag, ...

Agile Portfolio Management

Quelle: http://msdn.microsoft.com/en-us/library/dn306083.aspx

Page 20: Softwareentwicklung bei eEvolution - Universität Hildesheim€¦ · Softwareentwicklung bei eEvolution Darstellung der Prozesse mit dem agilen Entwicklungsansatz Jan Freitag, ...

Visualisierung des Fortschritts

Quelle: http://msdn.microsoft.com/en-us/library/dn407521.aspx

Page 21: Softwareentwicklung bei eEvolution - Universität Hildesheim€¦ · Softwareentwicklung bei eEvolution Darstellung der Prozesse mit dem agilen Entwicklungsansatz Jan Freitag, ...

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

Page 22: Softwareentwicklung bei eEvolution - Universität Hildesheim€¦ · Softwareentwicklung bei eEvolution Darstellung der Prozesse mit dem agilen Entwicklungsansatz Jan Freitag, ...

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

Page 23: Softwareentwicklung bei eEvolution - Universität Hildesheim€¦ · Softwareentwicklung bei eEvolution Darstellung der Prozesse mit dem agilen Entwicklungsansatz Jan Freitag, ...

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

Page 24: Softwareentwicklung bei eEvolution - Universität Hildesheim€¦ · Softwareentwicklung bei eEvolution Darstellung der Prozesse mit dem agilen Entwicklungsansatz Jan Freitag, ...

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.