Grab n Go: Session 12 Lær at mestre agile metoder 13. september 2016
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?
Ikke altid og derfor fejler eller forsinkes projekter Projekt AMANDA, Arbejdsmarkedsstyrelsen (skrottet i 2008) Pris 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 Kilde) http://www.dr.dk/nyheder/penge/her-er-8-store-offentlige-it-skandaler-til-milliarder
Traditionel proces for udvikling Analyse 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 Design Implementering Afprøvning Dyrt tilbageløb Udrulning 2016 Deloitte 10
Agil proces for udvikling 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 2016 Deloitte 2015. Deloitte 11 11
Måske bygger projekterne på de forkerte antagelser? 1 Der eksisterer en række relativt veldefinerede krav, hvis vi bare tager os tid til at forstå dem. 2 I udviklingsfasen vil ændringerne være små nok til, at vi kan håndtere dem uden at skulle omtænke det planlagte. 3 Integrationer til andre systemer er en nødvendig process, som vi relativt nemt kan forudse baseret på arkitekturen og planlægning. 4 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. 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?
Kan det at fejle vendes til noget godt? I have not failed. I've just found 10,000 ways that won't work. Thomas A. Edison
Ja, det giver læring at fejle, så derfor fail fast Projektparadoks De største beslutninger træffes mens projektet har mindst viden om produktet. Omfang Omfang Agilitet styrker læring tidligt i projektet og bryder beslutninger ned i overkommelige størrelser. Viden i projektet Tid Tid
og hvordan fejler (lærer) man så bedst og hurtigt? og hvordan er man agil? Analysér Planlæg 2. Udfør eksperiment Design Konstruer Test Tag i brug versus 1. Vurder parathed 4. Lær Minimum Viable Change Den mindste og samtidig mulige løsning på et forandringstiltag 3. Følg op på performance
Agil er en massebetegnelse for en række metoder Scrum LeanIT PRINCE2 Agile SAFe Extreme programming Kanban Nexus
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
og karakteristika, som hvis udført ordenligt, kan have en række positive effekter Karakteristika ved agil udvikling Effekten ved agil udvikling Stærke teams Produktfokuseret/ resultatorienteret Kan tilpasse sig ændringer Regelmæssige releases Øget produktivitet Nedsat pris Kortere time-to-market Højere kvalitet Kommunikation
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? Evnen til at håndtere skiftende prioriteter 87 2 10 1 Forøget team produktivitet 84 3 12 1 Forbedret projekttransparens 82 4 13 1 Forøget team moral/motivation 79 6 12 3 Bedre leveringsforudsigelighed 79 6 12 3 Forøget kvalitet 78 6 15 2 Hurtigere time-to-market 77 7 15 1 Reduceret projektrisici 76 6 17 1 Forbedret sammenspil mellem it og forretning 75 6 18 1 Forbedret disciplin i udvikling 72 7 20 2 Forøget evne til at vedligeholde produkter 68 9 21 2 Bedre evne til at styre distribuerede teams 59 12 27 2 % 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%) 6. Gennemsigtighed i projektets fremdrift (30%) 2. Produktkvalitet (48%) 7. Øget Produktivitet (29%) 3. Brugertilfredshed (44%) 8. Forudsigelighed (25%) 4. Forretningsværdi (44%) 9. Procesforbedringer (23%) 5. Scope (Features, krav) (39%) 10. Ved det ikke (11%) https://www.watermarklearning.com/downloads/state-of-agile-development-survey.pdf
Hvilke projekter er velegnede til en agil tilgang? Det afhænger af projektets natur og organisationens agile modenhed 01 Projekter, hvor scopet på visse områder ikke er fastlagt eller er foranderligt. 04 Vedligeholdelseskontrakter/-opgaver 02 Konfiguration af standardsystemer (COTS) 05 Projekter, hvor det er acceptabelt, at beslutningskompetencen om scope decentraliseres og placeres hos projektejer. 03 Projekter, hvor den økonomiske risiko for overrun er overskuelig eller acceptabel. 06 Projekter, der ikke skal i it-projektrådet med en kvantitativ businesscase eller er afhængige af ekstern finansiering (aktstykke).
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 Vær opmærksom på agile snitflader Styrk produktejerskabet Fokuser på leverandørsamarbejdet Bevar styringen igennem hele forløbet Test i tæt samarbejde med leverandøren Idriftsæt så ofte som muligt Løbende og stram kravstyring Meget engagerede og tilgængelige interessenter Disciplin og konsistens Fast-sprint scope og time-boxed iterationer Involverende og løbende synlig planlægning og rapportering
og følg disse overordnede principper for agil styring Mål og styr flowet i organisationen Begræns arbejde, der er i gang (work in progress) Gør processer og politikker eksplicitte Visualiser Continuous 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
men også enkelte dårlige 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. 33
Hvis agil er svaret på succes, hvad er så spørgsmålet? 01 Hvornår er projekter egnede til en agil tilgang? 04 Hvordan får jeg mest muligt leveret, når jeg ikke får alle krav opfyldt? 02 Hvilket mandat skal projektteamet have? 05 Hvilke krav stiller det til min egen organisation det er ikke en hyldevare, jeg kan købe? 03 Hvordan skabes de rette kontraktlige rammer til at styre et agilt forløb? 06 Hvordan skal jeg ændre min styring af projekter?
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
En fremgangsmåde til at komme i gang Udvælg projekt Definer målsætning Skab overblik Vælg metode Implementer iterativt
mens du bevarer det kølige overblik Agil systemudviklingsmetode Agil samarbejdsmodel Agil kontrakt Agil systemudviklingsmetode Der anvendes en agil systemudviklingsmetode som oftest anvendes Scrum. Agil kravspecifikation Kravspecifikationen til en agil anskaffelse udformes anderledes end kravspecifikationen i de traditionelle fastpriskontrakter. Agil samarbejdsmodel Samarbejdet organiseres anderledes i det daglige og i forhold til opfølgningsværktøjer. Agil kontrakt Der anvendes en anderledes kontrakt end de klassiske K01- og K02-kontrakter, men en radikalt anderledes styringsmodel og risikofordeling. Elementer Agil anskaffelse Selve anskaffelsen gennemføres anderledes end en traditionel anskaffelse i forhold til proces og især tildelingskriterier.
Terkel Tolstrup ttolstrup@deloitte.dk