Kürzere Änderungszyklen, zunehmender Kostendruck, Realisierung komplexer Software-Produkte und verkürzte Durchlaufzeiten bei der Softwareerstellung sind nur ein paar Beispiele, die nach agilen Vorgehensmodellen wie z.B. Scrum fordern.
Scrum ist ein kundenorientierter, iterativer Prozess für die Entwicklung von Software, der die Prinzipien agiler Softwarentwicklung in der Praxis berücksichtigt. Der Prozess besteht aus mehreren Feedback-Schleifen mit den Phasen Plan, Do, Check und Act.
2010 testete Six Card Solutions Scrum pilotweise in einigen Organisationseinheiten. 2011 wurde Scrum in der Softwareentwicklung und der Qualitätssicherung eingeführt.
Folgende Fragen stehen bei der Scrum-Einführung im Zentrum:
* Welchen Einfluss hat Scrum auf die Prozessqualität und –automatisierung im Unternehmen?
* Welchen Einfluss hat Scrum auf die Softwarequalitätssicherung?
* Welche organisatorischen Herausforderungen muss Six Card Solutions bei der Scrum-Einführung meistern?
* Wie beurteilen die Beteiligten die Auswirkungen von Scrum auf Erfolgsfaktoren wie z.B. Qualität, Effizienz oder Motivation?
* Fördert Scrum die Industrialisierung der Software-Qualitätssicherung?
Diese Fragen beantworten wir mit konkreten Beispielen: So hat sich die Softwarequalität durch kontinuierliche, automatisierte Integrationstests verbessert. Quantitative Prozesskennzahlen halfen, die Abläufte in der Softwareentwicklung besser zu verstehen. Die Ergebnisse der Mitarbeiterumfragen bestätigen, dass Scrum die Projekt-Erfolgsfaktoren begünstigt.
Windows as a Service - Herausforderungen ohne Windows Desktop Analytics
Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions
1. Wie beeinflusst Scrum die Prozess- &
Softwarequalität?
Praxisbeispiel SIX Card Solutions
Dr. Thomas Bütikofer, Turgut Dogan | 27. September 2011
2. Zusammenfassung
1. Automatisierung im Softwareentwicklungsprozess bei
teamübergreifender Zusammenarbeit ist unerlässlich
2. Scrum@ SIX Card Solutions mit mehreren Scrum-
Teams verlangt nach Koordination zwischen den Teams
3. Scrum begünstigt Projekterfolgsfaktoren wie z.B.
Motivation, Effizienz oder Zusammenarbeit
4. Scrum hilft die Prozess- und Softwarequalität zu
verbessern
Zurich, 27 September 2011 | Seite 2
3. Agenda
I. Einleitung
a. Kurzporträt SIX Card Solutions
b. Kurzporträt Netcetera
c. Kurzporträt Payment Acquiring Service System – PASS
II. Scrum
a. Crashkurs Scrum
b. Scrum@SIX Card Solutions
III. Einfluss von Scrum auf die Qualität
a. Umfrageergebnisse
b. Prozessqualität
c. Softwarequalität
IV. Zusammenfassung
4. Kurzporträt SIX Card Solutions (SCA)
Anbieter von Komplettlösungen für den kartenbasierten elektronischen
Zahlungsverkehr (Hard- und Software)
Kunden sind Acquirer (Vertrieb der Kartenakzeptanz bei Händlern) und
Issuer (Kartenherausgeber)
Verarbeitung der täglichen Kartenverkäufe von Händlern aus 25 Ländern
Führend in der Verarbeitung von Kartentransaktionen in CH und Österreich
Rund 900 Beschäftigte in Zürich, Biel, Wien und Luxemburg
Ein Unternehmen der SIX Group
Zurich, 27 September 2011 | Seite 4
5. Kurzporträt Netcetera
Netcetera zählt zur Mitarbeitende
Netcetera Business Units
technologischen
Spitzengruppe der Informatik-
250
Dienstleister in der Schweiz. Finance & Payment 250
Dank langjähriger Insurance Technology 200
Projekterfahrung und ihrer 150
100
ausgewiesenen Kompetenz Transport Healthcare 50
geniesst Netcetera das 0
Vertrauen schweizerischer und
1996
2000
2005
2010
internationaler Organisationen eGov Energy
bei sicherheits- und geschäfts-
kritischen IT-Grossprojekten.
Zurich, 27 September 2011 | Seite 5
6. SIX Card Solutions ermöglicht bargeldloses Einkaufen
4 7 3
6
2
5
1
Zurich, 27 September 2011 | Seite 6
7. PASS als zentrales Softwareprodukt für Acquirer (Vertrieb
der Kartenakzeptanz bei Händlern)
• Tagfertige Verarbeitung aller eingelieferten
Batch- Transaktionen
basierte • Kommissionierung und Verbuchung von
Verarbeitung Händlereinlieferungen
• Clearing mit den Card Schemes (z.B. Visa)
des • Händlerauszahlungen
Geldflusses • Reporting
• Tägliche Verfügbarkeit in 3 Ländern
Interaktives • Konfiguration der Batch-Verarbeitung
User • Verwaltung von Händlerstammdaten
Interface • Datenbereitstellung für Händlerauskünfte
• Kontrolle des Geldflusses
Zurich, 27 September 2011 | Seite 7
8. Die Entwicklung vom Wasserfall-Modell zu Scrum@SIX Card
Solutions
... –2005: PASS 2 2005–2008: PASS III 2008–2011: PASS III
Wasserfallmodell: Migration von PASS II PayLife Migration –
• Grob-Spezifikation zu PASS III inkl. Pilotprojekt:
• Funktionale zusätzlicher Features Scrum@SIX Card
Spezifikation Solutions
• Detail Spezifikation Automatisierung des
• Implementierung Build-Prozesses durch Realisierung einer
Netcetera: grossen Anzahl neuer
Code-Integration nur • Unit-Tests Features unter
mit Release-Builds • Automatisierte Build- Zeitdruck für PASS
• 3 Releases pro Jahr Prozesse für Code • «Time to Market»
• 2 Scheme Releases und DB-Scripts • 5 Entw. Teams
• Nightly-Builds • 2 Testteams
• 10’000 Java Klassen
• 1.5 Mio. Zeilen Code
Zurich, 27 September 2011 | Seite 8
9. Agenda
I. Einleitung
a. Kurzporträt SIX Card Solutions
b. Kurzporträt Netcetera
c. Kurzporträt Payment Acquiring Service System – PASS
II. Scrum
a. Crashkurs Scrum
b. Scrum@SIX Card Solutions
III. Einfluss von Scrum auf die Qualität
a. Umfrageergebnisse
b. Prozessqualität
c. Softwarequalität
IV. Zusammenfassung
10. Ein Crashkurs in Scrum…
24 Stunden
Product Backlog 2-4 Wochen
Sprints Produktinkrement
Sprint Backlog
Cancel
Agiler Prozess
Scope: höchstmöglicher Business Value
Business gibt Prioritäten vor – das Team liefert
selbstorganisierend die Lösung
Nach jedem Sprint ist die lauffähige Software vorführbar
http://www.mountaingoatsoftware.com; 2011-08-16, 22:28h
Zurich, 27 September 2011 | Seite 10
11. Jedes Scrum-Team liefert eine Lösung im 2-Wochen Takt
Sprint Backlog 24h 2 Wochen
Applikations Backlog
Multidisziplinäres Team aus Software Entwicklern und Testern
• Schätzung der User-Stories (in Personentagen)
• Realisierung der User Stories
• Tägliche Meetings
• Eine Sprint-Retrospektive
• Softwareerweiterungen oder -änderungen werden automatisiert in
das Softwareprodukt integriert und getestet
Einhaltung der «Definition of Done»
• Demo
• Softwarelieferung kann als Release produktiv gehen
• Dokumentation
• Etc.
Zurich, 27 September 2011 | Seite 11
12. An der PASS Softwareentwicklung sind mehrere Teams
beteiligt
An der Erstellung der applikationsbezogenen Makro-
Spezifikationen sind neben Software Entwicklern und Testern
auch Business Engineers beteiligt
Die Freigabe der Spezifikationen erfolgt durch sämtliche drei
Rollen
Applikationsbezogene, teamübergreifende Koordination
Wahrung der architektonischen Qualität
Zurich, 27 September 2011 | Seite 12
13. Einblick in Scrum@SIX Card Solutions mit mehreren
Applikationen
Front Office
Produktrelease
PASS
Alle 4 Monate
wird ein
Gesamtpacket
geschnürt
iGate
Die Release-QA ist für die end-2-end Tests
Die Priorisierung des Produkt-Backlogs verantwortlich, da Funktionen meist über
nimmt das Release Board vor sämtliche Applikationen verteilt sind. Defects
werden in das Productbacklog aufgenommen.
Zurich, 27 September 2011 | Seite 13
14. Agenda
I. Einleitung
a. Kurzporträt SIX Card Solutions
b. Kurzporträt Netcetera
c. Kurzporträt Payment Acquiring Service System – PASS
II. Scrum
a. Crashkurs Scrum
b. Scrum@SIX Card Solutions
III. Einfluss von Scrum auf die Qualität
a. Umfrageergebnisse
b. Prozessqualität
c. Softwarequalität
IV. Zusammenfassung
15. Der Einfluss von Scrum auf die Projekterfolgsfaktoren ist von
zentraler Bedeutung
1. Agile Werte 2. Lean Prinzipien
• Informationstransparenz & – • Kundenorientierung
zugang • Entscheidungen, frühzeitige
• Ehrlichkeit & Offenheit Ergebnislieferung
• Vertrauen • Autonomie, Qualität &
• Interaktion & Kommunikation Effektivität
• Rückkopplungsmechanismen
3. Scrum 4. Mitarbeiterzufriedenheit
• Scrum & Erfolgsfaktoren • Zufriedenheit mit der Arbeit
• Scrum Prozess • Agilität
• Zusammenarbeit
Zurich, 27 September 2011 | Seite 15
16. Eine Rücklaufquote von knapp über 70% ist repräsentativ
100%
90%
38
76
80% 9 29
70%
60%
50%
40%
122
182
30% 16 44
20%
10%
0%
BE DEV QA Gesamt
# Teilnehmer # angeschriebene, nicht teilgenommen Personen
In welcher Organisationseinheit arbeitest Du?
BE = Business Engineering, DEV = Development, QA = Quality Assurance
Zurich, 27 September 2011 | Seite 16
17. Mehr als ¾ der Teilnehmer praktizieren Scrum oder haben
Scrum praktiziert
100%
9
90% 3 40
80%
70%
28
60%
50%
104
40% 10 127
30%
20%
13
10%
0%
BE DEV QA Gesamt
Ja Nein
Praktizierst Du Scrum oder hast Du mal Scrum praktiziert?
Zurich, 27 September 2011 | Seite 17
18. Business Engineering Teilnehmer sehen keine signifikante
Verbesserung der Effizienz durch die Einführung von Scrum
Software Qualität (5)
100%
Zusammenarbeit ausserhalb der
75% Effektivität (7)
Abteilung (2)
50%
25%
0%
Zusammenarbeit innerhalb der
Release Stress (1)
Abteilung (3) -25%
-50%
-75%
-100%
Teamarbeit in der Gruppe (5) Effizienz (9) Business
Engineering
Produktivität (8) Spass (6)
Abgleich mit den Business
Zusammenarbeit mit Kollegen (4)
Anforderungen (3)
Teilnehmer, die Scrum praktizieren oder praktiziert haben, haben geantwortet. Sie sollten angeben, ob Scrum zu einer Verbesserung
oder Verschlechterung der oben genannten Erfolgsfaktoren führt. Dargestellt ist der Nettoeffekt, welcher die Differenz zwischen den
Antworten „hat sich mit Scrum verbessert“ und „hat sich mit Scrum verschlechtert“ angibt. Zahl in Klammern = Anzahl Antworten.
Zurich, 27 September 2011 | Seite 18
19. DEV-Teilnehmer schreiben Scrum mehrheitlich eine positive
Wirkung auf die Erfolgsfaktoren zu
Software Qualität (58)
100%
Zusammenarbeit ausserhalb der
75% Effektivität (54)
Abteilung (22)
50%
25%
0%
Zusammenarbeit innerhalb der
Release Stress (46)
Abteilung (57) -25%
-50%
-75%
-100%
Teamarbeit in der Gruppe (87) Effizienz (61) Development
Produktivität (41) Spass (67)
Abgleich mit den Business
Zusammenarbeit mit Kollegen (82)
Anforderungen (45)
Teilnehmer, die Scrum praktizieren oder praktiziert haben, haben geantwortet. Sie sollten angeben, ob Scrum zu einer Verbesserung
oder Verschlechterung der oben genannten Erfolgsfaktoren führt. Dargestellt ist der Nettoeffekt, welcher die Differenz zwischen den
Antworten „hat sich mit Scrum verbessert“ und „hat sich mit Scrum verschlechtert“ angibt. Zahl in Klammern = Anzahl Antworten.
Zurich, 27 September 2011 | Seite 19
20. QA-Teilnehmer sehen eine Verbesserung der Erfolgsfaktoren
durch die Einführung von Scrum
Software Qualität (7)
100%
Zusammenarbeit ausserhalb der
75% Effektivität (7)
Abteilung (5)
50%
25%
0%
Zusammenarbeit innerhalb der
Release Stress (9)
Abteilung (6) -25%
-50%
-75%
-100%
Teamarbeit in der Gruppe (12) Effizienz (8) Quality
Assurance
Produktivität (7) Spass (8)
Abgleich mit den Business
Zusammenarbeit mit Kollegen (12)
Anforderungen (6)
Teilnehmer, die Scrum praktizieren oder praktiziert haben, haben geantwortet. Sie sollten angeben, ob Scrum zu einer Verbesserung
oder Verschlechterung der oben genannten Erfolgsfaktoren führt. Dargestellt ist der Nettoeffekt, welcher die Differenz zwischen den
Antworten „hat sich mit Scrum verbessert“ und „hat sich mit Scrum verschlechtert“ angibt. Zahl in Klammern = Anzahl Antworten.
Zurich, 27 September 2011 | Seite 20
22. Automatisierung im PASS Softwareentwicklungs Prozess
Build-Prozess
Zurich, 27 September 2011 | Seite 22
23. Schnelles Feedback durch kürzere Prozessdurchlaufzeiten
Implementation von
Verbesserungsmassnahmen
Zurich, 27 September 2011 | Seite 23
24. Die Ursachenanalyse von Fehlern hilft die Qualität im
Softwareentwicklungs Prozess zu erhöhen
Zurich, 27 September 2011 | Seite 24
25. Sonar als Analysewerkzeug hilft Fehlerursachen zu entdecken
1
2
3
Ca. 2100 JUnit Tests haben eine Durchlaufzeit
von ca. 40 Minuten
Ca. 17 Tests benötigen ca. 21 Minuten
Durch ein Refactoring haben wir die
Testdurchlaufzeit auf unter 20 Minuten
reduziert
Zurich, 27 September 2011 | Seite 25
26. Kürzere Testdurchlaufzeiten reduzieren die Fehlerrate
Beispiel:
JUnit-Tests greifen auf DB-Tabellen zu
Wenn JUnit-Tests DB-Tabellen blockieren, können andere Tests
nicht auf die blockierten DB-Tabellen zugreifen
In der Folge kommt es zu Testfehlern
Zurich, 27 September 2011 | Seite 26
27. Automatisierte Integrationstests erhöhen die Softwarequalität
Automatisiertes Deployment, Test Ausführung und Reporting
Ausführung und Integrationstests Integrationstests
Monitoring von vorbereiten ausführen
Integrationtests
UI Integrationstest DB installieren Tests starten
Wechselkurse
Batch Integrationstest Client deployen
aktualisieren
… Deployment
vorbereiten Tests ausführen
Jboss starten Testkennzahlen
veröffentlichen
Zurich, 27 September 2011 | Seite 27
28. Der Status sämtlicher nächtlich ausgeführter Tests ist
in Quality Center ersichtlich
Bestimmung der Testsets Teststatus
Einzelne Testfälle
Zurich, 27 September 2011 | Seite 28
30. Agenda
I. Einleitung
a. Kurzporträt SIX Card Solutions
b. Kurzporträt Netcetera
c. Kurzporträt Payment Acquiring Service System – PASS
II. Scrum
a. Crashkurs Scrum
b. Scrum@SIX Card Solutions
III. Einfluss von Scrum auf die Qualität
a. Umfrageergebnisse
b. Prozessqualität
c. Softwarequalität
IV. Zusammenfassung
31. Zusammenfassung
1. Automatisierung im Softwareentwicklungsprozess bei
teamübergreifender Zusammenarbeit ist unerlässlich
2. Scrum@ SIX Card Solutions mit mehreren Scrum-
Teams verlangt nach Koordination zwischen den Teams
3. Scrum begünstigt Projekterfolgsfaktoren wie z.B.
Motivation, Effizienz oder Zusammenarbeit
4. Scrum hilft die Prozess- und Softwarequalität zu
verbessern
Zurich, 27 September 2011 | Seite 31
32. Further Questions?
Dr. Thomas Bütikofer
SIX Card Solutions AG
thomas.buetikofer@six-group.com
Turgut Dogan
Netcetera AG
turgut.dogan@netcetera.ch
Zurich, 7 September 2010 | Page 32