Agile en scrum

29
1

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 ITEen twee keer zo groot ontwikkelproject vergt méér dan twee keer zo veel ...

Afspraken tussen opdrachtgever en leverancierVastgelegde requirementsPlanningNadruk op procedures, afgesproken rollen en werkverdelingJuridisch voorwerk...

Ook wel: ‘bureaucratie’

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

8

Bureaucratie

We hebben tot in detail afgesproken wie/wanneer/wat doetAlles wat we doen en besluiten wordt keurig vastgelegdDe opdracht is tot in detail vastgelegd, de klant weet precies wat hij gaat krijgenWe houden hoe dan ook vast aan het plan

9

En nog zo’n probleem: IT en Business als niet-lineair

systeemDe business levert requirements voor de ITDoor IT te introduceren veranderen we de business... wat weer nieuwe inzichten en requirements oplevert ...

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 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 toolsWorking software over comprehensive documentationCustomer 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

Agile System Development

Ontstaan vanuit bestaande ontwikkelmethoden die ‘anders’ warenDSDM, XP, Scrum, RUP, ...Allemaal een beetje meer/minder agileAllemaal incrementeel, ‘lerend’, ...

15

Agile en Traditioneel mixen is niet eenvoudig

16

Mythes over Agile Software Development

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

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

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

26

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/[email protected]

www.inspearit.com

linkedin.com/company/inspearit

28

Partners

29

Bedankt voor uw aandacht

U kunt deze en alle andere presentaties terug zien op:

www.cloudxperience.nl