Agile en SCRUM

Post on 10-Jun-2015

460 views 3 download

Transcript of Agile en SCRUM

1

2

Systeemontwikkeling voor de Cloud: Agile en Scrum

Presentator: Daan KalmeijerExpert ConsultantEnterprise Architectinspearit

3

We willen in de cloud! ...

4

5

6

Het raketprobleem: Een grotere raket vergt meer brandstof + brandstof om die brandstof de lucht in te brengen

7

Het ‘Raketprobleem’ in de IT?

Als een project maar groot genoeg is, dan ben je alleen nog maar met bureaucratie bezig ...

bureaucratieoverhe

ad

documentatie

overlegplanning

procesafsprak

en

management

regelsrollen

afstemmingkaders

8

Nog een Metafoor: “Geweren voor de Generaal”

9

Wat Wil de Gebruiker?

De gebruiker weet pas wat hij wil wanneer hij het voor zich zietDe gebruiker weet pas écht wat hij wil wanneer hij het zelf gebruikt heeftWat zijn vooraf vastgestelde, dikke pakken requirements waard?

Bureaucratie ‘helpt ons’ om voortschrijdend inzicht in requirements in toom te krijgen

10

Wat betekent dit voor de Cloud?

U wilt ‘in de cloud’ want:U wilt sneller kunnen handelen, zonder lange termijn investeringen in infrastructuurU wilt meer flexibiliteitU wilt gericht zijn op functionaliteit, niet op infrastructuur...

U ontwikkelt zelf systemen? U laat systemen ontwikkelen?... dan ontneemt bureaucratie u de beoogde voordelen!

11

Stelling

“Om (optimaal) te kunnen profiteren van de mogelijkheden van de cloud moeten we op zoek naar een meer effectieve, flexibele en adaptieve manier van systeemontwikkeling”

12

Manifesto for Agile Software Development

We are uncovering better ways of developingsoftware by doing it and helping others do it.Through this work we have come to value:

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

That is, while there is value in the items onthe right, we value the items on the left more.

2001, www.agilemanifesto.org

13

Agile

‘Agile’ is geen methode, eerder een idee of bewegingWendbaar, lichtvoetig, snel, evolutionair, ...maar ook: samen, mensgericht, bescheiden, ... en ook: gericht op kwaliteit, op wat belangrijk is, gedisciplineerd, ...

14

Mythes over Agile Software Development

Agile ontwikkelen ≠ hackenAgile ontwikkelen ≠ onbeheersbare codeAgile ontwikkelen ≠ ongedocumenteerdAgile ontwikkelen ≠ alleen voor kleine projecten

15

Een Agile Mindset?

16

Agile System Development

Ontstaan vanuit bestaande ontwikkelmethoden die ‘anders’ warenDSDM, XP, Scrum, RUP, ...

Allemaal een beetje meer/minder agileAllemaal incrementeel, ‘lerend’, ...

17

XP

“A humanistic discipline of software development, based on principles of simplicity, communication, feedback, and courage”Alles wat goed is tot in het extreem doorvoeren

Testen Samenwerken / (code) reviewenInteractie met gebruikersOntwerpenKorte incrementenContinu integreren...

18

Scrum

Effectief zijnIn het te leveren productZo veel mogelijk uit het team halen

Vooruitgang staat centraalZo zichtbaar mogelijk

Hindernissen en blokkades wegwerkenRisico’s vroeg onderkennen en wegnemenVerbeteren, leren...

19

Scrum Rollen

Scrum MasterProduct OwnerTeam Member

20

Scrum ‘Sprints’

Sprint = TimeboxÉén tot enkele weken

Elke sprint begint met een planningssessieAf te sluiten met een demonstratie van werkende software

21

Scrum ‘Product Backlog’

De ‘ToDo’-lijst met requirementsBevat ‘Stories’ (beschrijvingen van wat een gebruiker zou kunnen doen met het systeem)Geprioriteerd door de Product Owner

22

Scrum ‘Sprint Backlog’

De ‘ToDo’-lijst binnen één sprint‘Stories’ vertaald naar concrete takenIngeschat door het team, haalbaar binnen de sprintHet liefst: post-its op een bord

23

Burndown Chart

De snelheid waarmee taken / backlog items tijdens een sprint weggewerkt wordenHét meetinstrument voor de voortgang

24

Integreren, Testen en Deployen

Continu integrerenIn ieder geval dagelijks, liefst vaker

Testen zo veel en zo vaak mogelijk uitvoeren

Geautomatiseerd (én handmatig)Dit vergt ook geautomatiseerd deployen

Zo veel en vaak mogelijk kwaliteitscijfers verzamelen

Test ‘coverage’Compliance t.a.v. standaardenMetrieken

25

Waar Agile en Traditioneel mixen ...

26

Agile Development Introduceren

Van achteren naar voren ‘agiliseren’!Eerste de deployment, dan het testen, dan de ontwikkeling, dan het ontwerp en de requirements

Elke fase moet eerst bewijzen dat het werktDe cloud gaat vooral over ‘agile deployen’ (en dus ook over ‘agile testen’)

Big-bang introductie is niet haalbaar

27

Wat zijn de voordelen van Agile ontwikkelen voor de Cloud?

U krijgt het systeem dat u ook echt nodig heeftBelangrijke functionaliteit krijgt u zo vroeg mogelijkKwaliteit (robuustheid, schaalbaarheid, stabiliteit, ...)Inspelen op veranderende eisen, veranderende omgevingGrotere betrokkenheid (gebruikers, ontwikkelaars, ...)

En de nadelen?Tegen ‘de aard van het beestje’ voor veel betrokkenenOnzekerheid wordt explicietHoe ziet een ‘agile contract’ er uit?Agile (openbaar) aanbesteden?

Contact

linkedin.com/in/daankalmeijerdaan.kalmeijer@inspearit.com

www.inspearit.com

linkedin.com/company/inspearit

29

Partners

30

Bedankt voor uw aandacht

U kunt deze en alle andere presentaties terug zien op:

www.cloudxperience.nl