33
Wie beeinflusst Scrum die Prozess- & Softwarequalität? Praxisbeispiel SIX Card Solutions Dr. Thomas Bütikofer, Turgut Dogan | 27. September 2011

Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

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

Page 1: Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

Wie beeinflusst Scrum die Prozess- &

Softwarequalität?

Praxisbeispiel SIX Card Solutions

Dr. Thomas Bütikofer, Turgut Dogan | 27. September 2011

Page 2: Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

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

Page 3: Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

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

Page 4: Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

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

Page 5: Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

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

Page 6: Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

SIX Card Solutions ermöglicht bargeldloses Einkaufen

1

3 4

5

6 7

2

Zurich, 27 September 2011 | Seite 6

Page 7: Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

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

Page 8: Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

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

Page 9: Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

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

Page 10: Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

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

Page 11: Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

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

Page 12: Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

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

Page 13: Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

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

Page 14: Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

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

Page 15: Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

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

Page 16: Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

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

Page 17: Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

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

Page 18: Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

-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

Page 19: Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

-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

Page 20: Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

-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

Page 21: Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

Business Pains (2/x)

Zurich, 29 September 2010 | Page 21

Page 22: Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

Automatisierung im PASS Softwareentwicklungs Prozess

Zurich, 27 September 2011 | Seite 22

Build-Prozess

Page 23: Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

Implementation von

Verbesserungsmassnahmen

Zurich, 27 September 2011 | Seite 23

Schnelles Feedback durch kürzere Prozessdurchlaufzeiten

Page 24: Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

Zurich, 27 September 2011 | Seite 24

Die Ursachenanalyse von Fehlern hilft die Qualität im

Softwareentwicklungs Prozess zu erhöhen

Page 25: Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

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

Page 26: Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

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

Page 27: Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

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

Page 28: Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

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

Page 29: Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

Ausblick: Automatisierte E2E-Integrationstests

Zurich, 27 September 2011 | Seite 29

Page 30: Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

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

Page 31: Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

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

Page 32: Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

Dr. Thomas Bütikofer

SIX Card Solutions AG

[email protected]

Further Questions?

Zurich, 7 September 2010 | Page 32

Turgut Dogan

Netcetera AG

[email protected]

Page 33: Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions

Besten Dank!

Wie beeinflusst Scrum die Prozess- & Softwarequalität?