1. Agile software delivery met
Scrum
Ronald Kerstens - Tricode Professional Services BV
woensdag 16 april 2014
Tricode BV
De Schutterij 12 -18
3905 PL Veenendaal
The Netherlands
tel: 0318 - 559210
fax: 0318 - 650909
www.tricode.nl
info@tricode.nl
2. Definitie
• Scrum Guide: [Scrum is] “a framework within which people can address complex adaptive problems,
while productively and creatively delivering products of the highest possible value.”
• Scrum.org: “Scrum is a way for teams to work together to develop a product. Scrum is a simple
framework for effective team collaboration on complex projects.”
• Scrum Alliance: “Scrum is a simple yet incredibly powerful set of principles and practices that help
teams deliver products in short cycles, enabling fast feedback, continual improvement, and rapid
adaptation to change.”
SCRUM = product delivery
framework
Inrichting van het Prince2 proces
Managing Product Delivery
door een specialistisch team van het IT project
Scrum
3. Achtergrond
– In opkomst vanaf 2001
• 1995: eerste presentatie van Scrum door Ken
Schwaber en Jeff Sutherland
• 2001 - boek: “Agile Software Development with
Scrum” van Ken Schwaber & Mike Beedle
– Inmiddels mainstream in IT
• 2014- Agile Alliance: “the leading Agile
development framework”
– Vaak gezien als “een Poolse landdag”, “developers
heaven” etc. door tegenstanders
• Angst voor verlies van controle en sturing
4. Business value
Identificeer Always/Often
Used software features
Voorkom Never Used
features in een software
product!
Standish Group:
“45% of software
features are never
used”
Doel: leveren van (software) producten met optimale “business value”
5. Principes
“A team gets together in a short planning session and decides what they will work on
in the next iteration. Then they work for a fixed period of time and they end up
with a potentially shippable release”.
• Kern: de korte timeboxed (ontwikkel)iteratie: “miniproject van max. 1 maand”
• “sprint” => resultaat: product increment = software upgrade
Werkvoorraad
Takenlijst
Software
upgrade
Dagelijkse
afstemming
Ontwikkel
iteratie
6. Scrum Guide: “geen techniek voor het bouwen van producten, maar een raamwerk
met als doel verbetering van (de kwaliteit van) productontwikkeling.”
Principes
Een simpel product delivery framework:
1. Transparantie
2. Inspectie
3. Aanpassing
3 Waarden
1. Team lid
2. Product owner
3. Scrum Master
3 Rollen
1. Sprint planning
2. Daily Scrum meeting
3. Sprint review
4. Sprint retrospective
4 Gebeurtenissen
1. Product backlog
2. Sprint backlog
3. Burndown charts
3 Artefacten
7. Principes
1. Transparantie
2. Inspectie
3. Aanpassing
Waarden
Transparantie:
• gemeenschappelijke opvatting
van het leveringproces van het
product, o.a. Definition of Done
Inspectie:
• frequente evaluatie van
artefacten/incrementen t.o.v. het
doel, o.a. Sprint reviews
Aanpassing:
• correcties zo snel mogelijk
uitvoeren om verdere afwijking te
minimaliseren, o.a. Product Backlog
management
8. Principes
1. Ontwikkelteam
2. Product owner
3. Scrum Master
Rollen
Product owner:
• ROI van product maximaliseren
• Product Backlog managen
• Product stakeholders vertegenwoordigen
Scrum Master:
• Scrum interacties faciliteren/optimaliseren
• Begeleiden/verbeteren PO & ontwikkelteam
• Verwijderen obstakels
Ontwikkelteam:
• Leveren van potentieel uitleverbaar
increment van het product
10. Principes1. Product backlog
2. Sprint backlog
3. Burndown charts
Artefacten
Product backlog:
• Geordende lijst van
alles dat mogelijk nodig
is in het product
Product owner
Sprint backlog:
• Verzameling Product Backlog items geselecteerd voor
de sprint
Lijst van werkitems van
het ontwikkelteam om
increment te leveren
Ontwikkelteam
Sprint voortgang:
• Burndown chart
Scrum Master
Sprint release:
• Software demo!
Product owner & team
11. Product backlog
• Dynamische werkvoorraad van het gehele
Scrum team
• Wordt iteratief/incrementeel uitgewerkt
van schetsmatig (“epics”) naar
gedetailleerd (“stories”)
• Onderhouden door Product Owner:
– Weerslag van de productvisie/roadmap
– Implementatieprioriteit van backlog
items op basis van (veranderende)
business value
PRINCE2: “A Work Package is a set of information about one or more required products collated by the
Project Manager to pass responsibility for work or delivery formally to a Team Manager or team
member.”
• Product backlog = PRINCE2 Product Description
12. Scrum werkpakket
PRINCE2 werkpakket Scrum
Opdrachtomschrijving [Product vision/roadmap]
Gebruikte technieken, processen,
procedures
Procedures = Scrum raamwerk
Interfaces van het eindproduct Product backlog items
Interfaces tijdens
productontwikkeling
Product owner, product stakeholders, software gebruikers enz.
Vereisten configuratiebeheer Definition of Done
Samenvatting Faseplan [Product vision/roadmap]
Afspraken t.a.v. capaciteit, kosten,
tijdsduur
• Scrum team omvang
• Aantal sprints
Toleranties • Tijd/kosten/risico: min./max. aantal sprints
• Scope/waarde: geprioriteerde product backlog items
• Kwaliteit: Definition of Done
Beperkingen • Minimal viable product
Vereisten t.a.v. kwaliteitsborging • Definition of Done
• Scrum events
• Sprint releases
Rapportage vereisten • Scrum events/artifacts
• Sprint release demo
Ontwikkelcapaciteit, tijd en –kosten zijn
vaak vast: sprints X FTEs Scrum team
Product scope = altijd variabel:
meerwaarde van
producteigenschappen
Productkwaliteit geborgd in
Definition of Done, frequente inspectie van
leveringen
• software delivery: Scrum
• requirements engineering: user stories
• software engineering: XP, continuous
integration & deployment
13. Samenvatting
10 Kenmerken van Scrum:
1. Simpel framework voor beheer van productontwikkeling
2. Incrementele product upgrades leveren in korte timeboxes: sprints 2 – 4 weken
3. SCRUM team met 3 rollen: Team, PO, SM
4. Variabele implementatie van producteigenschappen: géén fixed features
5. Product owner (her)ordent werkvoorraad op basis van business value
6. Ontwikkelteam bepaalt werkitems in sprints op basis van impact
7. Dagelijkse afstemming voortgang door ontwikkelteam: daily standup meeting
8. QA door productdemo na elke sprint: werkende software!
9. (Resultaat van) elke sprint wordt geëvalueerd t.b.v. verbetering/bijsturing
10. PO beëindigt sprints zodra meerwaarde van doorontwikkeling gering is