SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
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                                                 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
SIX Card Solutions ermöglicht bargeldloses Einkaufen




              4                  7   3
                      6




                                          2

                  5
                      1




                                         Zurich, 27 September 2011 | Seite 6
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
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
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…

                                           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
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
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
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
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

        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
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
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
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
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
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
Business Pains (2/x)




                       Zurich, 29 September 2010 | Page 21
Automatisierung im PASS Softwareentwicklungs Prozess
                            Build-Prozess




                                       Zurich, 27 September 2011 | Seite 22
Schnelles Feedback durch kürzere Prozessdurchlaufzeiten




                             Implementation von
                         Verbesserungsmassnahmen




                                      Zurich, 27 September 2011 | Seite 23
Die Ursachenanalyse von Fehlern hilft die Qualität im
Softwareentwicklungs Prozess zu erhöhen




                                       Zurich, 27 September 2011 | Seite 24
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
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
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
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
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
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
Besten Dank!
Wie beeinflusst Scrum die Prozess- & Softwarequalität?

Weitere ähnliche Inhalte

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

Ähnlich wie Wie beeinflusst Scrum die Prozess- & Softwarequalität? - Praxisbeispiel SIX Card Solutions (20)

Applikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die CloudApplikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die Cloud
 
Infrastruktur agil bauen - der DBA im SAFe-Umfeld
Infrastruktur agil bauen - der DBA im SAFe-UmfeldInfrastruktur agil bauen - der DBA im SAFe-Umfeld
Infrastruktur agil bauen - der DBA im SAFe-Umfeld
 
Roadshow 2018 - Camunda in der Praxis: So geht's
Roadshow 2018 - Camunda in der Praxis: So geht'sRoadshow 2018 - Camunda in der Praxis: So geht's
Roadshow 2018 - Camunda in der Praxis: So geht's
 
Endress + Hauser: Echtzeit Performance Monitoring erfolgreich umgesetzt
Endress + Hauser: Echtzeit Performance Monitoring erfolgreich umgesetzt Endress + Hauser: Echtzeit Performance Monitoring erfolgreich umgesetzt
Endress + Hauser: Echtzeit Performance Monitoring erfolgreich umgesetzt
 
Webcast SAP Cloud Platform 2 - Developing Tools
Webcast SAP Cloud Platform 2 - Developing ToolsWebcast SAP Cloud Platform 2 - Developing Tools
Webcast SAP Cloud Platform 2 - Developing Tools
 
2016 company presentation_de
2016 company presentation_de2016 company presentation_de
2016 company presentation_de
 
test
testtest
test
 
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
 
CLOUDSERVICES FÜR ISVs
CLOUDSERVICES FÜR ISVsCLOUDSERVICES FÜR ISVs
CLOUDSERVICES FÜR ISVs
 
NETWAYS Cloud - Der Weg zur eigenen VM (Webinar vom 15. Juli 2016)
NETWAYS Cloud - Der Weg zur eigenen VM (Webinar vom 15. Juli 2016)NETWAYS Cloud - Der Weg zur eigenen VM (Webinar vom 15. Juli 2016)
NETWAYS Cloud - Der Weg zur eigenen VM (Webinar vom 15. Juli 2016)
 
Agilität im Systems Engineering – geht das?
Agilität im Systems Engineering – geht das?Agilität im Systems Engineering – geht das?
Agilität im Systems Engineering – geht das?
 
Cloud Migration – Eine Strategie die funktioniert
Cloud Migration – Eine Strategie die funktioniertCloud Migration – Eine Strategie die funktioniert
Cloud Migration – Eine Strategie die funktioniert
 
Swisscom runs SAP Lumira
Swisscom runs SAP LumiraSwisscom runs SAP Lumira
Swisscom runs SAP Lumira
 
Artikel Schweizer Bank: SOA als Grundlage für «Composite Applications"​
Artikel Schweizer Bank: SOA als Grundlage für «Composite Applications"​Artikel Schweizer Bank: SOA als Grundlage für «Composite Applications"​
Artikel Schweizer Bank: SOA als Grundlage für «Composite Applications"​
 
mühlnickel beit_PechaKucha
mühlnickel beit_PechaKuchamühlnickel beit_PechaKucha
mühlnickel beit_PechaKucha
 
Scrum als agiles Vorgehensmodell für Programmierer
Scrum als agiles Vorgehensmodell für ProgrammiererScrum als agiles Vorgehensmodell für Programmierer
Scrum als agiles Vorgehensmodell für Programmierer
 
Webcast SAP Cloud Platform No. 1: On-Boarding
Webcast SAP Cloud Platform No. 1: On-BoardingWebcast SAP Cloud Platform No. 1: On-Boarding
Webcast SAP Cloud Platform No. 1: On-Boarding
 
OOP2015 agile im konzern gloger ewe
OOP2015 agile im konzern gloger eweOOP2015 agile im konzern gloger ewe
OOP2015 agile im konzern gloger ewe
 
Der erste Schritt – idealtypische Wege in die Cloud und in der Cloud für Unte...
Der erste Schritt – idealtypische Wege in die Cloud und in der Cloud für Unte...Der erste Schritt – idealtypische Wege in die Cloud und in der Cloud für Unte...
Der erste Schritt – idealtypische Wege in die Cloud und in der Cloud für Unte...
 
Windows as a Service - Herausforderungen ohne Windows Desktop Analytics
Windows as a Service - Herausforderungen ohne Windows Desktop AnalyticsWindows as a Service - Herausforderungen ohne Windows Desktop Analytics
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
  • 21. Business Pains (2/x) Zurich, 29 September 2010 | Page 21
  • 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
  • 29. Ausblick: Automatisierte E2E-Integrationstests Zurich, 27 September 2011 | Seite 29
  • 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
  • 33. Besten Dank! Wie beeinflusst Scrum die Prozess- & Softwarequalität?