4. Die Netcetera Gruppe
Entwicklung und Business Intelligence Software
Betrieb massgeschneiderter Data Mining für die
Software Predictive Analytics Finanzberatung
Netcetera | 4
5. Netcetera – Geschäftsleitung
Dr. Andrej Vckovski Peter Zurbrügg
CEO Operations Manager
Entwicklung Mitarbeitende
Joachim Hagger Krume Dolnenec
Head of Market & Managing Director
Technology Netcetera Macedonia
Mike Franz Thomas Geier 300
Head of Sales & CFO
Business Development 250
Ronnie Brunner 200
Head of Solutions
150
Dr. Hansruedi
100
Vonder Mühll
Head of Software Engineering
50
0
Dr. Jens Piesbergen
1996 2011
Head of Systems
Engineering & Services
Netcetera | 5
7. Agile Software Entwicklung
Vorteile
Unterschiede agiler Software-
Entwicklung zum Wasserfall-Modell
Sicherbarkeit / funktionierende
Software: Projektfortschritt
Anpassungsfähigkeit:
Continuous Delivery
Wertschöpfung: Rollende Planung
und Anpassung vom Backlog
Projektrisiko: Fokus auf das
Wichtigste
Quelle: http://www.versionone.com/Agile101/Agile-Software-Development-Benefits/ Netcetera | 7
8. HERMES vs Scrum
HERMES Scrum
Vollständigkeit Individuen und Interaktionen
Verständlichkeit Funktionsfähige Software
Standardisierung / Prozesse Zusammenarbeit mit dem Kunden
Ausgedehnte Dokumentation Eingehen auf Änderungen
Anforderungen sind exakt definiert und Ziel der Anwendung existiert, jedoch
müssen „nur noch“ umgesetzt werden sind die genauen Anforderungen unklar
Hohe Sachkosten bzw. Investitionen mit Projekte, in denen nach der „besten
langen Lieferzeiten Lösung für eine Funktion“ gesucht wird
Einfachheit (KISS-Prinzip)
Netcetera | 8
9. Projektvorgehen
Gesamtprojekt wird nach HERMES abgewickelt
Vorgehen gemäss den definierten HERMES Phasen
Definierte Meilensteine
Definierte Lieferobjekte
Realisierungsphase
„Agiles“ Vorgehen gemäss Studie / Empfehlungen von HERMES
(Informatikstrategieorgan des Bundes)
Spezifikation wird fortlaufend erarbeitet / aktualisiert parallel zu Entwicklung
Lauffähige Software ist früh verfügbar und nicht erst bei Ende der
Realisierungsphase
Netcetera | 9
10. Studie HERMES und Agilität
Quelle: http://www.hermes.admin.ch/dienstleistungen/hilfsmittel/projektmanagement-generell Netcetera | 10
11. Definierte Ziele zum Projektvorgehen
Iterativ
Wir liefern funktionierende
Software regelmässig, von ein
paar Wochen bis hin zu ein paar
Monaten, mit Bevorzugung von
kürzeren Zeitintervallen.
Netcetera | 11
12. Definierte Ziele zum Projektvorgehen
Empirischer Ansatz
Wir begrüssen sich verändernde
Anforderungen, sogar spät im Projekt.
Agile Prozesse machen Änderungen
als Wettbewerbsvorteil für den Kunden
nutzbar.
Netcetera | 12
13. Definierte Ziele zum Projektvorgehen
Inkrementell
Funktionierende Software ist die
primäre Fortschrittsmessung.
Netcetera | 13
15. Definierte Ziele zum Requirements Engineering
Iterativ
Ein agiles Entwicklungsvorgehen
bedeutet, dass nicht nur kontinuierlich,
iterativ inkrementell programmiert wird,
sondern, dass auch die
Anforderungserhebung kontinuierlich
erfolgt.
Netcetera | 15
16. Agile Development Quiz
Sind wir agile?
Quelle: http://www.versionone.com/Agile101/Agile-Development-Quiz/ Netcetera | 16
17. Umsetzung Projekt
Vorgehen
• Personas erarbeiten
• Initiales Backlog erstellen
• Story Mapping
• Anforderungserhebung
• INVEST in User Stories
• Backlog Grooming
• Definition of Done
• Sprint Planning
• Release Planning
Netcetera | 17
18. Umsetzung Projekt
Vorgehen
• Personas erarbeiten
• Initiales Backlog erstellen
• Story Mapping
• Anforderungserhebung
• INVEST in User Stories
• Backlog Grooming
• Definition of Done
• Sprint Planning
• Release Planning
Netcetera | 18
19. Umsetzung Projekt
Vorgehen
• Personas erarbeiten
• Initiales Backlog erstellen
• Story Mapping
• Anforderungserhebung
• INVEST in User Stories
• Backlog Grooming
• Definition of Done
• Sprint Planning
• Release Planning
Netcetera | 19
20. Umsetzung Projekt
Vorgehen
• Personas erarbeiten
• Initiales Backlog erstellen
• Story Mapping
• Anforderungserhebung
• INVEST in User Stories
• Backlog Grooming
• Definition of Done
• Sprint Planning
• Release Planning
Netcetera | 20
21. Umsetzung Projekt
Vorgehen
• Personas erarbeiten
• Initiales Backlog erstellen
• Story Mapping
• Anforderungserhebung
• INVEST in User Stories
• Backlog Grooming
• Definition of Done
• Sprint Planning
• Release Planning
Netcetera | 21
22. Umsetzung Projekt
Vorgehen
• Personas erarbeiten
• Initiales Backlog erstellen
• Story Mapping
• Anforderungserhebung
• INVEST in User Stories
• Backlog Grooming
• Definition of Done
• Sprint Planning
• Release Planning
Netcetera | 22
23. Umsetzung Projekt
Vorgehen
• Personas erarbeiten
• Initiales Backlog erstellen
• Story Mapping
• Anforderungserhebung
• INVEST in User Stories
• Backlog Grooming
• Definition of Done
• Sprint Planning
• Release Planning
Netcetera | 23
24. Umsetzung Projekt
Vorgehen
• Personas erarbeiten
• Initiales Backlog erstellen
• Story Mapping
• Anforderungserhebung
• INVEST in User Stories
• Backlog Grooming
• Definition of Done
• Sprint Planning
• Release Planning
Netcetera | 24
25. Umsetzung Projekt
Vorgehen
• Personas erarbeiten
• Initiales Backlog erstellen
• Story Mapping
• Anforderungserhebung
• INVEST in User Stories
• Backlog Grooming
• Definition of Done
• Sprint Planning
• Release Planning
Netcetera | 25
27. Lessons learned #1
Anforderungserhebung
von der Breite in die Tiefe
Anforderungserhebung erfolgte zuerst in der Bereite (Initialen Backlog). Dabei war es
wichtig, dass das ganze Themenspektrum aufgenommen wurde. Erst während den
Sprints wurde die Detailspezifikation erstellt.
für HERMES-Teams ist dies eine wesentliche Umstellung
Dokumentation hat die Tendenz veraltet zu sein
Was passiert mit Feedback für ein Feature? Passt man die Dokumentation an?
Gemeinsames Backlog erleichtert die Dokumentation und Spezifikation erheblich
Netcetera | 27
28. Lessons learned #2
Kommunikation
Schnell, direkt und unkompliziert
Informell
Vertrauen
Team hat eine grosse Verantwortung
Es wird bei Scrum immer Konfliktpotentiale geben!
Damit muss ein Team umgehen können!
Netcetera | 28
29. Lessons learned #3
Verantwortungen definieren und übernehmen
Jedes Teammitglied muss seine Aufgaben, Kompetenzbereiche und
Verantwortungen kennen, wahrnehmen und damit «umgehen» können. Keine oder
späte Entscheide sind oftmals schlimmer als falsche Entscheide.
Netcetera | 29
30. Lessons learned #4
Ändern der Denkweise um die Produktivität zu steigern
von Word zu JIRA
von getrennt zu gemeinsam
von offline zu online
von E-Mails zu Kommentaren
von suchen zu filtern
von ausgedehnt zu einfach
von formell zu informell
Netcetera | 30
31. Lessons learned #5
Produktivität wird sichtbar
Agile Software Entwicklung basiert auf kurzen Iterationen und Selbstorganisation
innerhalb vom Team. Weniger fähige Teammitglieder werden dadurch mehr gefordert.
Agilität erzeugt Druck
Netcetera | 31
32. Lessons learned #6
Scrum und Festpreis
Change Management muss strikt geführt werden: Featuritis
Product Owner muss beim Lieferanten sein
Priorisierung (Backlog Grooming) ist nur innerhalb vom definierten Scope möglich
Netcetera | 32
33. Lessons learned #7
Probleme werden durch inkrementelle Lieferungen
früher erkannt
Grobe Missverständnisse sind unwahrscheinlicher als beim Wasserfallmodell.
Vorteile:
Handlungsspielraum sichern
Mehr Kreativität
Höhere Mitarbeiterzufriedenheit
Höhere Kundenzufriedenheit
Höhere Qualität und Produktivität
Netcetera | 33
34. Lessons learned #8
Testing und Teilabnahmen herausfordernd
Agile Software Entwicklung bedeutet auch ein agiles und kontinuierliches Testing und
Abnehmen der Software.
Wesentliche Umstellung für HERMES erprobte Teams
Know How muss aufgebaut werden
Konstanter Ressourcenbedarf
Netcetera | 34
35. Lessons learned #9
Rolle des Projektleiters ändert sich
Der Product Owner übernimmt die meisten Aufgaben eines klassischen
Projektleiters. Der Scrum Master ist eher der Teamleiter und sorgt dafür, dass das
Entwicklerteam gut arbeiten kann. Das umsetzende Team verantwortet die
Detailplanung, die Kontrolle und am Ende die Erledigung der Aufgaben.
Mitarbeiter befähigen, statt nur Prozesse zu verändern
Netcetera | 35
36. Lessons learned #10
User Story Dokumentation
Wir hatten meistens nur kurze User Stories und vermieden es, offensichtliche Sachen
zu dokumentieren, die entweder für jeden im Team klar waren oder viel einfacher
durch die erstellten Wireframes beschrieben wurden.
Bei grossen Themen (Epics) kann die Gesamtsicht fehlen
Mehrere User Stories in einer Wiki-Seite zusammenfassen und Beschreiben
Verwendung von Wireframes fördert das gemeinsame Verständnis erheblich
Netcetera | 36
37. Lessons learned #11
Demo Meeting
Nach jedem Sprint präsentieren wir dem Team / Kunden die Ergebnisse auf unserem
Test-System.
Nicht jeder Release wird beim Kunden installiert
Projektfortschritt kann demonstriert werden
Feedback an den Kunden
Feedback an das Scrum-Team
Netcetera | 37
38. Fazit
HERMES und Scrum ist kein Wiederspruch
vor Projektbeginn müssen die „Spielregeln“ klar definiert werden
Komplettes Team muss hinter den definierten Regeln stehen
Studie „Agiles“ Vorgehen mit HERMES gab guten Input
Durch agiles Vorgehen wurde höhere Produktivität erreicht (und somit kürzere
Projektdauer)
Agilität erzeugt Druck - macht jedoch mehr Spass
Viel Interaktion und Austausch notwendig
Striktes und professionelles Change Management unerlässlich bei Festpreis und
agilem Vorgehen
Offen für Neues – Anpassung der Denkweise hat gut geklappt
Netcetera | 38