Upload
turgut-dogan
View
897
Download
0
Embed Size (px)
DESCRIPTION
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.
Citation preview
Wie beeinflusst Scrum die Prozess- &
Softwarequalität?
Praxisbeispiel SIX Card Solutions
Dr. Thomas Bütikofer, Turgut Dogan | 27. September 2011
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
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
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
Kurzporträt Netcetera
Netcetera zählt zur
technologischen
Spitzengruppe der Informatik-
Dienstleister in der Schweiz.
Dank langjähriger
Projekterfahrung und ihrer
ausgewiesenen Kompetenz
geniesst Netcetera das
Vertrauen schweizerischer und
internationaler Organisationen
bei sicherheits- und geschäfts-
kritischen IT-Grossprojekten.
Mitarbeitende
250
0
50
100
150
200
250
1996
2000
2005
2010
Netcetera Business Units
Finance &
Insurance
Healthcare
eGov
Transport
Energy
Payment
Technology
Zurich, 27 September 2011 | Seite 5
SIX Card Solutions ermöglicht bargeldloses Einkaufen
1
3 4
5
6 7
2
Zurich, 27 September 2011 | Seite 6
PASS als zentrales Softwareprodukt für Acquirer (Vertrieb
der Kartenakzeptanz bei Händlern)
Zurich, 27 September 2011 | Seite 7
• Tagfertige Verarbeitung aller eingelieferten Transaktionen
• Kommissionierung und Verbuchung von Händlereinlieferungen
• Clearing mit den Card Schemes (z.B. Visa) • Händlerauszahlungen • Reporting
Batch-basierte
Verarbeitung des
Geldflusses
• Tägliche Verfügbarkeit in 3 Ländern
• Konfiguration der Batch-Verarbeitung
• Verwaltung von Händlerstammdaten
• Datenbereitstellung für Händlerauskünfte
• Kontrolle des Geldflusses
Interaktives User
Interface
Die Entwicklung vom Wasserfall-Modell zu Scrum@SIX Card
Solutions
Wasserfallmodell:
• Grob-Spezifikation
• Funktionale
Spezifikation
• Detail Spezifikation
• Implementierung
Code-Integration nur
mit Release-Builds
• 3 Releases pro Jahr
• 2 Scheme Releases
Migration von PASS II
zu PASS III inkl.
zusätzlicher Features
Automatisierung des
Build-Prozesses durch
Netcetera:
• Unit-Tests
• Automatisierte Build-
Prozesse für Code
und DB-Scripts
• Nightly-Builds
PayLife Migration –
Pilotprojekt:
Scrum@SIX Card
Solutions
Realisierung einer
grossen Anzahl neuer
Features unter
Zeitdruck für PASS
• «Time to Market»
• 5 Entw. Teams
• 2 Testteams
• 10’000 Java Klassen
• 1.5 Mio. Zeilen Code
Zurich, 27 September 2011 | Seite 8
... –2005: PASS 2 2008–2011: PASS III 2005–2008: PASS III
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
Ein Crashkurs in Scrum…
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
Cancel
2-4 Wochen
Sprints
Sprint Backlog
Produktinkrement Product Backlog
24 Stunden
Zurich, 27 September 2011 | Seite 10
http://www.mountaingoatsoftware.com; 2011-08-16, 22:28h
Jedes Scrum-Team liefert eine Lösung im 2-Wochen Takt
Zurich, 27 September 2011 | Seite 11
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.
2 Wochen 24h Applikations Backlog Sprint Backlog
An der PASS Softwareentwicklung sind mehrere Teams
beteiligt
Zurich, 27 September 2011 | Seite 12
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
Die Release-QA ist für die end-2-end Tests
verantwortlich, da Funktionen meist über
sämtliche Applikationen verteilt sind. Defects
werden in das Productbacklog aufgenommen.
Einblick in Scrum@SIX Card Solutions mit mehreren
Applikationen
Zurich, 27 September 2011 | Seite 13
Front Office
PASS
iGate
Produktrelease
Alle 4 Monate
wird ein
Gesamtpacket
geschnürt
Die Priorisierung des Produkt-Backlogs
nimmt das Release Board vor
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
Der Einfluss von Scrum auf die Projekterfolgsfaktoren ist von
zentraler Bedeutung
• Informationstransparenz & –
zugang
• Ehrlichkeit & Offenheit
• Vertrauen
• Interaktion & Kommunikation
• Kundenorientierung
• Entscheidungen, frühzeitige
Ergebnislieferung
• Autonomie, Qualität &
Effektivität
• Rückkopplungsmechanismen
1. Agile Werte 2. Lean Prinzipien
• Scrum & Erfolgsfaktoren
• Scrum Prozess
3. Scrum
• Zufriedenheit mit der Arbeit
• Agilität
• Zusammenarbeit
4. Mitarbeiterzufriedenheit
Zurich, 27 September 2011 | Seite 15
16
122
44182
9
38
2976
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
BE DEV QA Gesamt
# Teilnehmer # angeschriebene, nicht teilgenommen Personen
Eine Rücklaufquote von knapp über 70% ist repräsentativ
In welcher Organisationseinheit arbeitest Du?
BE = Business Engineering, DEV = Development, QA = Quality Assurance
Zurich, 27 September 2011 | Seite 16
10
104
13
127
3
9
28
40
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
BE DEV QA Gesamt
Ja Nein
Mehr als ¾ der Teilnehmer praktizieren Scrum oder haben
Scrum praktiziert
Praktizierst Du Scrum oder hast Du mal Scrum praktiziert?
Zurich, 27 September 2011 | Seite 17
-100%
-75%
-50%
-25%
0%
25%
50%
75%
100%
Software Qualität (5)
Effektivität (7)
Release Stress (1)
Effizienz (9)
Spass (6)
Zusammenarbeit mit Kollegen (4)Abgleich mit den Business
Anforderungen (3)
Produktivität (8)
Teamarbeit in der Gruppe (5)
Zusammenarbeit innerhalb der Abteilung (3)
Zusammenarbeit ausserhalb der Abteilung (2)
Business Engineering
Business Engineering Teilnehmer sehen keine signifikante
Verbesserung der Effizienz durch die Einführung von Scrum
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
-100%
-75%
-50%
-25%
0%
25%
50%
75%
100%
Software Qualität (58)
Effektivität (54)
Release Stress (46)
Effizienz (61)
Spass (67)
Zusammenarbeit mit Kollegen (82)Abgleich mit den Business
Anforderungen (45)
Produktivität (41)
Teamarbeit in der Gruppe (87)
Zusammenarbeit innerhalb der Abteilung (57)
Zusammenarbeit ausserhalb der Abteilung (22)
Development
DEV-Teilnehmer schreiben Scrum mehrheitlich eine positive
Wirkung auf die Erfolgsfaktoren zu
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
-100%
-75%
-50%
-25%
0%
25%
50%
75%
100%
Software Qualität (7)
Effektivität (7)
Release Stress (9)
Effizienz (8)
Spass (8)
Zusammenarbeit mit Kollegen (12)Abgleich mit den Business
Anforderungen (6)
Produktivität (7)
Teamarbeit in der Gruppe (12)
Zusammenarbeit innerhalb der Abteilung (6)
Zusammenarbeit ausserhalb der Abteilung (5)
Quality Assurance
QA-Teilnehmer sehen eine Verbesserung der Erfolgsfaktoren
durch die Einführung von Scrum
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
Business Pains (2/x)
Zurich, 29 September 2010 | Page 21
Automatisierung im PASS Softwareentwicklungs Prozess
Zurich, 27 September 2011 | Seite 22
Build-Prozess
Implementation von
Verbesserungsmassnahmen
Zurich, 27 September 2011 | Seite 23
Schnelles Feedback durch kürzere Prozessdurchlaufzeiten
Zurich, 27 September 2011 | Seite 24
Die Ursachenanalyse von Fehlern hilft die Qualität im
Softwareentwicklungs Prozess zu erhöhen
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
Sonar als Analysewerkzeug hilft Fehlerursachen zu entdecken
Zurich, 27 September 2011 | Seite 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
Automatisierte Integrationstests erhöhen die Softwarequalität
Zurich, 27 September 2011 | Seite 27
Ausführung und
Monitoring von
Integrationtests
UI Integrationstest
Batch Integrationstest
…
Integrationstests
vorbereiten
Automatisiertes Deployment, Test Ausführung und Reporting
DB installieren
Wechselkurse
aktualisieren
Deployment
vorbereiten
Jboss starten
Integrationstests
ausführen
Tests starten
Client deployen
Tests ausführen
Testkennzahlen
veröffentlichen
Der Status sämtlicher nächtlich ausgeführter Tests ist
in Quality Center ersichtlich
Zurich, 27 September 2011 | Seite 28
Bestimmung der Testsets Teststatus Einzelne Testfälle
Ausblick: Automatisierte E2E-Integrationstests
Zurich, 27 September 2011 | Seite 29
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
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
Dr. Thomas Bütikofer
SIX Card Solutions AG
Further Questions?
Zurich, 7 September 2010 | Page 32
Turgut Dogan
Netcetera AG
Besten Dank!
Wie beeinflusst Scrum die Prozess- & Softwarequalität?