professional scrum developer

49

Upload: codecentric-ag

Post on 25-Jan-2015

1.473 views

Category:

Technology


8 download

DESCRIPTION

A presentation by Andreas Ebbert-Karroum (@AndreasEK) at the meettheexperts@codecentric event in Solingen, Germany on June, 18th.

TRANSCRIPT

Page 1: Professional Scrum Developer
Page 2: Professional Scrum Developer
Page 3: Professional Scrum Developer

Iterativ

Inkrementell

Page 4: Professional Scrum Developer
Page 5: Professional Scrum Developer
Page 6: Professional Scrum Developer
Page 7: Professional Scrum Developer
Page 8: Professional Scrum Developer
Page 9: Professional Scrum Developer
Page 10: Professional Scrum Developer
Page 11: Professional Scrum Developer
Page 12: Professional Scrum Developer
Page 13: Professional Scrum Developer

Build Management

Distributed Version Control

Dependency Management

Workplace Setup & IDE

Release Management

Continuous Integration

Feature Branches

Release Process (Version, Notes,

Migration)

Test

TDD

Mocks & Stubs

ATDD

Qualität

Design

Statische Code-Analyse

Metriken

Architektur &Documentation

Agile Architektur

Ausreichende Dokumentation

Page 14: Professional Scrum Developer

BuildManagement

Distributed Version Control

DependencyManagement

WorkplaceSetup & IDE

Release Management

ContinuousIntegration

Feature Branches

Release Process(Version, Notes,

Migration)

Test

TDD

Mocks & Stubs

ATDD

Qualität

Design

Statische Code-Analyse

Metriken

Architektur &Documentation

Agile Architektur

Ausreichende Dokumentation

Page 15: Professional Scrum Developer

RCS CVS Subversion Mercurial

Lokal Zentralisiert Verteilt

Change SetsRevisions

Page 16: Professional Scrum Developer
Page 17: Professional Scrum Developer
Page 18: Professional Scrum Developer
Page 19: Professional Scrum Developer

BuildManagement

Distributed Version Control

DependencyManagement

WorkplaceSetup & IDE

Release Management

ContinuousIntegration

Feature Branches

Release Process(Version, Notes,

Migration)

Test

TDD

Mocks & Stubs

ATDD

Qualität

Design

Statische Code-Analyse

Metriken

Architektur &Documentation

Agile Architektur

Ausreichende Dokumentation

Page 20: Professional Scrum Developer

BuildManagement

Distributed Version Control

DependencyManagement

WorkplaceSetup & IDE

Release Management

ContinuousIntegration

Feature Branches

Release Process(Version, Notes,

Migration)

Test

TDD

Mocks & Stubs

ATDD

Qualität

Design

Statische Code-Analyse

Metriken

Architektur &Documentation

Agile Architektur

Ausreichende Dokumentation

Page 21: Professional Scrum Developer
Page 22: Professional Scrum Developer

Pro (Branch Per Story) Kontra (Arbeit auf dem “Trunk”)

Unfertige Stories sind ein Problem:• Rollback?• Dunkelauslieferung?

(„Passiert schon nichts“)

Per Scrum-Definition gibt es keine unfertigen Stories => Team Commitment

Bonus Problem: Was passiert, wenn die erste, angefangene Story nicht beendet ist, aber alle anderen?

s.o.

Einfache Branches und Merges mit einem verteilten VCS (Mercurial, Git)

Merging tut weh.

Continuous Integration:• Stories müssen feinkörnig sein• Alternative: CI für jeden Branch

Jeder Commit wird sofort integriert und getestet.

Page 23: Professional Scrum Developer
Page 24: Professional Scrum Developer

BuildManagement

Distributed Version Control

DependencyManagement

WorkplaceSetup & IDE

Release Management

ContinuousIntegration

Feature Branches

Release Process(Version, Notes,

Migration)

Test

TDD

Mocks & Stubs

ATDD

Qualität

Design

Statische Code-Analyse

Metriken

Architektur &Documentation

Agile Architektur

Ausreichende Dokumentation

Page 25: Professional Scrum Developer

BuildManagement

Distributed Version Control

DependencyManagement

WorkplaceSetup & IDE

Release Management

ContinuousIntegration

Feature Branches

Release Process(Version, Notes,

Migration)

Test

TDD

Mocks & Stubs

ATDD

Qualität

Design

Statische Code-Analyse

Metriken

Architektur &Documentation

Agile Architektur

Ausreichende Dokumentation

Page 26: Professional Scrum Developer

Red

GreenRefactor

Test

schreiben

Die einfachste

Lösung umsetzen

Design

verbessern

Page 27: Professional Scrum Developer

Class

under

Test

Service A Service B

depends on

Mock

Service A

Mock

Service B

Service A IF Service B IF

Page 28: Professional Scrum Developer

Class

under

Test

Service A Service B

depends on

Mock

Service B

Contract

Test

Service A IF

Service A

Alternative

Impl.

Page 29: Professional Scrum Developer
Page 30: Professional Scrum Developer

*** Keyword ***

Verhalten

[Arguments] ${Produkt} ${Feld} ${Wert} ${Fehler} ${Ort}

Es existiert eine Produktseite für ${Produkt}

Wenn im Feld ${Feld} der Wert ${Wert} eingegeben wird

Dann wird der ${Fehler} angezeigt

Und der ${Fehler} befindet sich bei ${Ort}

Und der ${Fehler} hat den Style Rechenblock_Fehler_Text

Und das Feld ${Feld} ist als Validierungsfehler markiert

| *Test Case* | | *Risiken* | *Feld* | *Wert* | *Fehler* | *Ort* |

| 1 | Verhalten | Haftpflicht | Geburtsdatum | ABC | Bitte geben Sie das Geburtsdatum im Format TT.MM.JJJJ an. | Hauptrechenblock |

| 2 | Verhalten | Haftpflicht | Fassungsvermögen | ABC | ABC ist keine Zahl | Risikorechenblock |

| 3 | Verhalten | ... | ... | ... | ... | ... |

| 4 | Verhalten | ... | ... | ... | ... | ... |

| . | Verhalten | ... | ... | ... | ... | ... |

Page 31: Professional Scrum Developer

BuildManagement

Distributed Version Control

DependencyManagement

WorkplaceSetup & IDE

Release Management

ContinuousIntegration

Feature Branches

Release Process(Version, Notes,

Migration)

Test

TDD

Mocks & Stubs

ATDD

Qualität

Design

Statische Code-Analyse

Metriken

Architektur &Documentation

Agile Architektur

Ausreichende Dokumentation

Page 32: Professional Scrum Developer

BuildManagement

Distributed Version Control

DependencyManagement

WorkplaceSetup & IDE

Release Management

ContinuousIntegration

Feature Branches

Release Process(Version, Notes,

Migration)

Test

TDD

Mocks & Stubs

ATDD

Qualität

Design

Statische Code-Analyse

Metriken

Architektur &Documentation

Agile Architektur

Ausreichende Dokumentation

Page 33: Professional Scrum Developer

Design

GoF

SOLID

Clean Code

...

Page 34: Professional Scrum Developer
Page 35: Professional Scrum Developer
Page 36: Professional Scrum Developer
Page 37: Professional Scrum Developer

BuildManagement

Distributed Version Control

DependencyManagement

WorkplaceSetup & IDE

Release Management

ContinuousIntegration

Feature Branches

Release Process(Version, Notes,

Migration)

Test

TDD

Mocks & Stubs

ATDD

Qualität

Design

Statische Code-Analyse

Metriken

Architektur &Documentation

Agile Architektur

Ausreichende Dokumentation

Page 38: Professional Scrum Developer

BuildManagement

Distributed Version Control

DependencyManagement

WorkplaceSetup & IDE

Release Management

ContinuousIntegration

Feature Branches

Release Process(Version, Notes,

Migration)

Test

TDD

Mocks & Stubs

ATDD

Qualität

Design

Statische Code-Analyse

Metriken

Architektur &Documentation

Agile Architektur

Ausreichende Dokumentation

Page 39: Professional Scrum Developer

0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

0 5 10

Architektur Funktionalität

Page 40: Professional Scrum Developer
Page 41: Professional Scrum Developer

BuildManagement

Distributed Version Control

DependencyManagement

WorkplaceSetup & IDE

Release Management

ContinuousIntegration

Feature Branches

Release Process(Version, Notes,

Migration)

Test

TDD

Mocks & Stubs

ATDD

Qualität

Design

Statische Code-Analyse

Metriken

Architektur &Documentation

Agile Architektur

Ausreichende Dokumentation

Page 42: Professional Scrum Developer
Page 43: Professional Scrum Developer
Page 44: Professional Scrum Developer
Page 46: Professional Scrum Developer

Montag Dienstag Mittwoch Donnerstag Freitag

Scrum Overview Sprint 2: Build Management

Ziele:• Version Control• Dependency

Mgmt

Sprint 4: TDD

Ziele:• TDD• Mocking• Coverage

Sprint 6: ATDD

Ziele:• Test Framework• Executable

Specs

Sprint 8:Documentation & ArchitectureZiele:• Agile Arch.• System Doc.

Sprint 1: Scrum Flow

Ziele:• Practice the

Flow• Setup Dev-Env

Sprint 3: Release Mgmt

Ziele:• Branching• CI• Deployment

Sprint 5: Design & Refactoring

Ziele:• SOLID• Refactoring in

TDD

Sprint 7: Code Quality

Ziele:• Metrics• Clean Code• Javadocs

Roundup & FAQ

Auf dem Weg zurZertifizierung

Page 47: Professional Scrum Developer

Aktivität Dauer Beschreibung

Einführung 60’ Präsentation und Einführung in die neuen und relevanten Werkzeuge und Praktiken

Sprint Planning I 15’ Product Owner stellt das Backlog vor. Teams verpflichten sich auf neue Funktionen

Sprint Planning II 15’ Jedes Team plant den Sprint

Pause 15’

The Sprint 100’ Teams arbeiten selbstorganisiert an den Aufgaben. 5’ Scrum alle 20’

Sprint Review 20’ Zwei Teams stellen die Ergebnisse vor

Sprint Retrospective 15’ Kurze Teamretrospektive zum nachregeln

Page 48: Professional Scrum Developer
Page 49: Professional Scrum Developer