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

  • 764 views
Uploaded on

Kürzere Änderungszyklen, zunehmender Kostendruck, Realisierung komplexer Software-Produkte und verkürzte Durchlaufzeiten bei der Softwareerstellung sind nur ein paar Beispiele, die nach agilen …

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.

More in: Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
764
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
9
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Wie beeinflusst Scrum die Prozess- &Softwarequalität?Praxisbeispiel SIX Card SolutionsDr. Thomas Bütikofer, Turgut Dogan | 27. September 2011
  • 2. Zusammenfassung1. Automatisierung im Softwareentwicklungsprozess bei teamübergreifender Zusammenarbeit ist unerlässlich2. Scrum@ SIX Card Solutions mit mehreren Scrum- Teams verlangt nach Koordination zwischen den Teams3. Scrum begünstigt Projekterfolgsfaktoren wie z.B. Motivation, Effizienz oder Zusammenarbeit4. Scrum hilft die Prozess- und Softwarequalität zu verbessern Zurich, 27 September 2011 | Seite 2
  • 3. AgendaI. Einleitung a. Kurzporträt SIX Card Solutions b. Kurzporträt Netcetera c. Kurzporträt Payment Acquiring Service System – PASSII. Scrum a. Crashkurs Scrum b. Scrum@SIX Card SolutionsIII. Einfluss von Scrum auf die Qualität a. Umfrageergebnisse b. Prozessqualität c. SoftwarequalitätIV. 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 NetceteraNetcetera zählt zur Mitarbeitende Netcetera Business UnitstechnologischenSpitzengruppe der Informatik- 250Dienstleister in der Schweiz. Finance & Payment 250Dank langjähriger Insurance Technology 200Projekterfahrung und ihrer 150 100ausgewiesenen Kompetenz Transport Healthcare 50geniesst Netcetera das 0Vertrauen schweizerischer und 1996 2000 2005 2010internationaler Organisationen eGov Energybei 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 vonVerarbeitung Händlereinlieferungen • Clearing mit den Card Schemes (z.B. Visa) des • HändlerauszahlungenGeldflusses • Reporting • Tägliche Verfügbarkeit in 3 LändernInteraktives • 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 IIIWasserfallmodell: 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 neuerCode-Integration nur • Unit-Tests Features untermit 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. AgendaI. Einleitung a. Kurzporträt SIX Card Solutions b. Kurzporträt Netcetera c. Kurzporträt Payment Acquiring Service System – PASSII. Scrum a. Crashkurs Scrum b. Scrum@SIX Card SolutionsIII. Einfluss von Scrum auf die Qualität a. Umfrageergebnisse b. Prozessqualität c. SoftwarequalitätIV. Zusammenfassung
  • 10. Ein Crashkurs in Scrum… 24 StundenProduct 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 WochenApplikations 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 Teamsbeteiligt  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 TestsDie Priorisierung des Produkt-Backlogs verantwortlich, da Funktionen meist übernimmt das Release Board vor sämtliche Applikationen verteilt sind. Defects werden in das Productbacklog aufgenommen. Zurich, 27 September 2011 | Seite 13
  • 14. AgendaI. Einleitung a. Kurzporträt SIX Card Solutions b. Kurzporträt Netcetera c. Kurzporträt Payment Acquiring Service System – PASSII. Scrum a. Crashkurs Scrum b. Scrum@SIX Card SolutionsIII. Einfluss von Scrum auf die Qualität a. Umfrageergebnisse b. Prozessqualität c. SoftwarequalitätIV. Zusammenfassung
  • 15. Der Einfluss von Scrum auf die Projekterfolgsfaktoren ist vonzentraler 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 PersonenIn 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 NeinPraktizierst 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 Verbesserungoder Verschlechterung der oben genannten Erfolgsfaktoren führt. Dargestellt ist der Nettoeffekt, welcher die Differenz zwischen denAntworten „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 Verbesserungoder Verschlechterung der oben genannten Erfolgsfaktoren führt. Dargestellt ist der Nettoeffekt, welcher die Differenz zwischen denAntworten „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 Verbesserungoder Verschlechterung der oben genannten Erfolgsfaktoren führt. Dargestellt ist der Nettoeffekt, welcher die Differenz zwischen denAntworten „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 imSoftwareentwicklungs 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 FehlerrateBeispiel: 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 ReportingAusführung und Integrationstests IntegrationstestsMonitoring von vorbereiten ausführenIntegrationtests UI Integrationstest DB installieren Tests starten WechselkurseBatch 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 istin 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. AgendaI. Einleitung a. Kurzporträt SIX Card Solutions b. Kurzporträt Netcetera c. Kurzporträt Payment Acquiring Service System – PASSII. Scrum a. Crashkurs Scrum b. Scrum@SIX Card SolutionsIII. Einfluss von Scrum auf die Qualität a. Umfrageergebnisse b. Prozessqualität c. SoftwarequalitätIV. Zusammenfassung
  • 31. Zusammenfassung1. Automatisierung im Softwareentwicklungsprozess bei teamübergreifender Zusammenarbeit ist unerlässlich2. Scrum@ SIX Card Solutions mit mehreren Scrum- Teams verlangt nach Koordination zwischen den Teams3. Scrum begünstigt Projekterfolgsfaktoren wie z.B. Motivation, Effizienz oder Zusammenarbeit4. 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?