grab ‘n go: session 12 lær at mestre agile metoder · eksperiment 3. følg op på performance 4....
TRANSCRIPT
13. september 2016
Grab ‘n Go: Session 12
Lær at mestre agile metoder
Agenda
1. Hvad vil det sige at være agil?
2. Hvorfor og hvordan udvikler man systemer agilt?
3. Erfaringer fra agile projekter
4. Hvordan får man succes med agile projekter?
5. Barrierer og muligheder
6. Kom godt i gang
2
1.
Hvad vil det sige at være agil?
“Hurtig, let og smidig
i sine bevægelser.”
– Den Danske Ordbog
… så hurtig og let, at man bare går i gang med at udvikle med det samme?
Spørgsmål til jer
Arbejder I agilt i jeres
organisation?
2.
Hvorfor og hvordan udvikler man systemer agilt?
Kan vi ikke bare designe tingene ordentligt fra starten?
Kilde) http://www.dr.dk/nyheder/penge/her-er-8-store-offentlige-it-skandaler-til-milliarder
Ikke altid og derfor fejler eller forsinkes projekter
AMANDA, Arbejdsmarkedsstyrelsen (skrottet i 2008) 1 mia. DKK
POLSAG, politiets sagsbehandlingssystem (skrottet i 2012) Ca. 500 mio. DKK
DeMars, Forsvarets centrale it-system (sat i drift i 2004)Overskredet med mindst
400 mio. DKK
Digital tinglysning, Domstolsstyrelsen (forsinket 1,5 år; indført i 2009)Overskredet med mindst
266 mio. DKK
PROASK, Arbejdsskadestyrelsens it-system (skrottet i 2014) 164 mio. DKK
DACCIS, Forsvarets it-system (skrottet i 2008) 410 mio. DKK
PrisProjekt
© 2016 Deloitte 10
Traditionel proces for udvikling
Analyse
Design
Implementering
Udrulning
Afprøvning
Dyrt tilbageløb
• For at kunne styre projekter opstilles traditionelt milepæle/gates, som fremdrift kan måles op mod
• Ny viden sent i processen gør imidlertid at vi får dyre tilbageløb – og mister styringen
© 2016 Deloitte 11
Agil proces for udvikling
11© 2015. Deloitte
• I agile projekter nedbrydes leverancer i de mindste brugbare produkter, som sammensættes og videreudvikles inkrementelt
• Processen bliver således mere åben for ændringer – også sent i processen
Måske bygger projekterne på de forkerte antagelser?
Softwareinnovation og den R&D, der er nødvendig
i forhold til at skabe betydelig og ny software, kan
foretages på en forudsigelig og planlagt måde.
1
2
3
4
Der eksisterer en række relativt veldefinerede
krav, hvis vi bare tager os tid til at forstå dem.
I udviklingsfasen vil ændringerne være små nok
til, at vi kan håndtere dem uden at skulle
omtænke det planlagte.
Integrationer til andre systemer er en nødvendig
process, som vi relativt nemt kan forudse
baseret på arkitekturen og planlægning.
Kilde) http://www.infoq.com/resource/articles/scaling-software-agility/en/resources/ch02.pdf
Spørgsmål til jer
Hvordan tilrettelægger I jeres tid
ift. at gennemføre et projekt?
“I have not failed. I've just found
10,000 ways that won't work.”– Thomas A. Edison
Kan det at fejle
vendes til noget
godt?
ProjektparadoksDe største beslutninger træffes mens projektet har mindst viden om produktet.
Ja, det giver læring at fejle, så derfor … fail fast
Agilitet styrker læring tidligt i projektet og bryder beslutninger ned i overkommelige størrelser.
Viden i projektet
Tid
Omfang
Tid
Omfang
… og hvordan fejler (lærer) man så bedst og hurtigt? … og hvordan er man agil?
Analysér
Planlæg
Design
Konstruer
Test
Tag i brug
versus
1. Vurder parathed
2. Udfør eksperiment
3. Følg op på performance
4. Lær
Minimum ViableChange
Den mindste og samtidig mulige
løsning på et forandringstiltag
ScrumLeanIT
PRINCE2 Agile KanbanNexus
SAFeExtreme programming
Agil er en massebetegnelse for en række metoder
…
Agil udvikling bygger på en række grundliggende principper fra det agile manifest
Individer og interaktion over processer og værktøjer
Et fungerende produkt over udtømmende dokumentation
Samarbejde med kunden over kontraktforhandlinger
Ændringsparathed over det at følge en plan
Nedsat pris
Øget produktivitet
…og karakteristika, som hvis udført ordenligt, kan have en række positive effekter
Stærke teams
Produktfokuseret/
resultatorienteret
Regelmæssige
releases
Kommunikation
Kan tilpasse sig
ændringer
Karakteristika ved agil udvikling Effekten ved agil udvikling
Kortere
time-to-market
Højere kvalitet
Spørgsmål til jer
Vi arbejder med løbende afprøvning og
prototyping af ideer inden udvikling
3.
Erfaringer fra agile projekter
Hvilke forbedringer oplever organisationer ved agil udvikling?
59
68
72
75
76
77
78
79
79
82
84
87
12
9
7
6
6
7
6
6
6
4
3
2
27
21
20
18
17
15
15
12
12
13
12
10
2
2
2
1
1
1
2
3
3
1
1
1
Bedre evne til at styre distribuerede teams
Forøget evne til at vedligeholde produkter
Forbedret disciplin i udvikling
Forbedret sammenspil mellem it og forretning
Reduceret projektrisici
Hurtigere time-to-market
Forøget kvalitet
Bedre leveringsforudsigelighed
Forøget team moral/motivation
Forbedret projekttransparens
Forøget team produktivitet
Evnen til at håndtere skiftende prioriteter
% Blev bedre % Ingen ændring % Ved ikke % Blev værre
Kilde: https://www.watermarklearning.com/downloads/state-of-agile-development-survey.pdf
Hvordan måles agil succes bedst?
1. On-time delivery (58%)
3. Brugertilfredshed (44%)
2. Produktkvalitet (48%)
4. Forretningsværdi (44%)
5. Scope (Features, krav) (39%)
6. Gennemsigtighed i projektets fremdrift (30%)
7. Øget Produktivitet (29%)
8. Forudsigelighed (25%)
9. Procesforbedringer (23%)
10. Ved det ikke (11%)
https://www.watermarklearning.com/downloads/state-of-agile-development-survey.pdf
Hvilke projekter er velegnede til en agil tilgang?
Projekter, hvor scopet på visse
områder ikke er fastlagt eller er
foranderligt.
0201
03
Konfiguration af standardsystemer
(COTS)
Projekter, hvor den økonomiske risiko
for overrun er overskuelig eller
acceptabel.
Vedligeholdelseskontrakter/-opgaver
0405
06
Projekter, hvor det er acceptabelt, at
beslutningskompetencen om scope
decentraliseres og placeres hos
projektejer.
Projekter, der ikke skal i it-projektrådet
med en kvantitativ businesscase eller er
afhængige af ekstern finansiering
(aktstykke).
Det afhænger af projektets natur og organisationens agile modenhed
Spørgsmål til jer
Hvorfor bruger I, eller hvorfor vil I
gerne, bruge agile metoder?
4.
Hvordan får man succes med agile projekter?
Hvordan får man så succes med agile projekter?
Udpeg en agil fanebærer
Styrk produktejerskabet
Bevar styringen igennem hele forløbet
Idriftsæt så ofte som muligt
Vær opmærksom på agile snitflader
Fokuser på leverandørsamarbejdet
Test i tæt samarbejde med leverandøren
Løbende og stram kravstyring
Meget engagerede og tilgængelige interessenter Disciplin og konsistens
Involverende og løbende synlig planlægning og
rapportering
Fast-sprint scope og time-boxed iterationer
… og følg disse overordnede principper for agil styring
Mål og styr flowet i
organisationen
Gør processer og politikker
eksplicitte
Begræns arbejde, der
er i gang (work in progress)
VisualiserContinuous
improvement
Spørgsmål til jer
Hvilke barrierer gør, at I ikke
arbejder mere agilt?
5.
Barrierer og muligheder
32
Der er som sagt mange gode grunde til
at adoptere en agil tilgang …
Agil er nemt og risikofrit Den konstante – men forgæves – søgen efter et
virkemiddel, der med et trylleslag kan gøre komplekse it-projekter til lette, risikofri og
succesfulde projekter.
Ny metode = ingen problemer Fordi traditionelle it-projekter lejlighedsvis stadig
fejler, er det besnærende at håbe/tro, at et skift i metode (til eksempelvis agilt) nok
vil løse alle problemer.
Det er ikke nødvendigt at starte med krav og behovsafklaring En forfejlet
opfattelse hos it-medarbejdere af, at agil systemudvikling er nemmere, og at man
ikke indledningsvis behøver bruge tid på at afklare de forretningsmæssige behov
eller udarbejde en kravspecifikation.
Businesscase – Hvad er det? Man glemmer at tænke på de udfordringer, der er i
forhold til den governance, der er omkring mange projektmodeller, herunder kravet
om en robust businesscase, før anskaffelsen iværksættes.
… men også enkelte dårlige
33
Hvornår er projekter egnede
til en agil tilgang?
0201
03
Hvilket mandat skal projekt-
teamet have?
Hvordan skabes de rette
kontraktlige rammer til at styre
et agilt forløb?
Hvordan får jeg mest muligt
leveret, når jeg ikke får alle krav
opfyldt?0405
06
Hvilke krav stiller det til min
egen organisation – det er ikke
en hyldevare, jeg kan købe?
Hvordan skal jeg ændre min
styring af projekter?
Hvis agil er svaret på succes, hvad er så spørgsmålet?
Derfor: vær beredt
Det agile mindset er virkelig svært
at implementere i en organisation.
Din plan til at håndtere forandring vil
være forkert, lige meget hvad du prøver.
Mød forandringer med et startup-mindset:
forbered, introducer, lær
6.
Kom godt i gang
Udvælg projektDefiner
målsætningSkab overblik Vælg metode
Implementer
iterativt
En fremgangsmåde til at komme i gang …
Elementer
Agil systemudviklings-
metode
Agil samarbejds-
model
Agil kontrakt
Agil kravspecifikationKravspecifikationen til en agil anskaffelse udformes anderledes end kravspecifikationen i de traditionelle fastpriskontrakter.
Agil samarbejdsmodelSamarbejdet organiseres anderledes i det daglige og i forhold til opfølgningsværktøjer.
Agil kontraktDer anvendes en anderledes kontrakt end de klassiske K01-og K02-kontrakter, men en radikalt anderledes styrings-model og risikofordeling.
Agil systemudviklingsmetodeDer anvendes en agil systemudviklingsmetode – som oftest anvendes Scrum.
Agil anskaffelse Selve anskaffelsen gennemføres anderledes end en traditionel anskaffelse i forhold til proces og især tildelingskriterier.
… mens du bevarer det kølige overblik
Terkel Tolstrup