Effektive samarbeidspraksiser for kravhåndtering



Like dokumenter
Prosjekt2015 Hvordan lykkes med store IKT-prosjekter

Tyve fagpersoner fra samme firma estimerte hver for seg arbeidsmengden for det samme systemutviklingsprosjektet [*]

Forskning på gruppe-estimeringestimering

Prosjektledelse - fra innsiden

Mellom barken og veden Smidig testing i krevende terreng TTC 2015

ESTIMERING I SMIDIGE PROSJEKTER

Together. Free your energies Moden og modig! Ansvarsfull og fleksibel!

GJENNOMGANG UKESOPPGAVER 2 PROSESSMODELLER OG SMIDIG PROGRAMVAREUTVIKLIG

Introduksjon,l SCRUM. EB og TMG

UKE 9 Prosesser og prosessmodeller inkludert smidige metoder. Gruppetime INF1055

A tool for collaborating to success in a development project Experience with Visual Studio 2010 and Test Manager at Lånekasse

User Story Mapping gir en nyttigere backlog

Prosessmodeller og smidig programvareutvikling. INF1050: Gjennomgang, uke 02

Løsningsforslag: Oblig 1. INF1050: Gjennomgang, uke 12

CONNECTING BUSINESS & TECHNOLOGY KURS OG SERTIFISERINGER - SCRUM

SCRUM EB og TMG 2010

Kravhåndtering. INF1050: Gjennomgang, uke 03

Neste generasjon ERP-prosjekter

Testing tidlig i livssyklusen smidige prosjekter. Arne Erik Hurum Helsedirektoratet Bjørn Andersen - Steria

Making IT your winning asset.

Stein Grimstad. Konsulent i Scienta AS. Prosjekt hos Skatteetaten. Forsker hos Simula (deltid) 3/7/18

UNIVERSITETET I OSLO

1. Hvilke type krav angår sikkerhet og pålitelighet?

Scrum. -nøkkelbegreper og noen personlige erfaringer

Teknisk gjeld - hvor mye er forsvarlig? Per Otto Bergum Christensen, Objectdesign 27 August, Smidig fagdag i SPK

1. Hvilke type krav angår sikkerhet og pålitelighet?

Eksamen 2013 Løsningsforslag

Akseptansetesten. Siste sjanse for godkjenning Etter Hans Schaefer

Kap 11 Planlegging og dokumentasjon s 310

Erfaring med funksjonell testing i en integrert ALM prosess

Smidig metodikk, erfaringer fra NAV Fagportal

SCRUM Smidig prosjektledelse og utvikling. 10 september 2009 JOSÉ MANUEL REDONDO LOPERA AVDELINGSLEDER PROSJEKT OG RESSURSANSVARLIG

Nyttestyring i praksis Hovedstadsområdets nettverk for IT-styring og ledelse,

Kontrakter og test i smidige prosjekter. Fagmøte Dataforeningen i Trondheim 12.Mars 2012

Test i Praksis. NTNU Februar Copyright 2014 Accenture All Rights Reserved.

11 Planlegging og dokumentasjon

Usikkerhet i omfang og kostnader hvordan håndtere dette i kontrakten? IT-kontraktsdagen 2015 Kjetil Strand, Promis AS

Prosjektledelse - fra innsiden av et utviklingsprosjekt. Presentasjon hos UiO Ida Lau Borch, prosjektleder i Bouvet ASA

Smidig innhold Hvordan smidige metoder hjelper oss å lage kvalitetsinnhold. Ove Dalen

UKEOPPGAVER 2: SYSTEMUTVIKLINGSPROSESSER OG PROSJEKTARBEID INNSPILL TIL SVAR

Fra idé til marked Hvorfor elektronikk handler om mer enn kretskort

Ny kontraktsstandard: Fleksibel utviklingskontrakt

Bedre valg av leverandør gjennom trialsourcing & Fastpris eller per time?! Oslo, 1. desember, 2014 Magne Jørgensen

Testing i smidigavtalen (SSA-S) Seniorrådgiver Mari Vestre, Difi. Testdagen ODIN 24. september 2014.

Oppgaver uke 42. Systemutvikling

Making IT your winning asset

Modellering IT konferanse

Erfaringer med PS2000 kontrakt og kontraktsstyring i PERFORM. Mette Gjertsen Prosjektleder Statens Pensjonskasse

1. Mer om iterative utviklingsprosesser

Velkommen til BRUK AV TANKEKART SOM HJELPEMIDDEL TIL TESTPLANLEGGING 21. APRIL 2015

ELIN-metoden. Elektronisk informasjonsutveksling

Nyttestyring og gode brukerhistorier. Stein Grimstad, 25.august, ITPP

Hensikten med denne delen av kurset. Objektets egenskaper. Objektorientering hva er det? Best practises ved programvareutvikling. Kravspesifikasjonen

Modellering av krav. INF1050: Systemutvikling 11. februar Universitetslektor Yngve Lindsjørn

Estimering av kostnader i ITprosjekter

Hvorfor (ikke) fastpris?!! Vinnerens forbannelse,! informasjonsasymmetri,! utvalgsrisiko,! opportunistisk adferd,! og! IT-kontrakter!!

Why Desperate Houswives make Excellent Test Managers Testprosjektet som suksessfaktor i et hvert prosjekt

Fra virksomhetsmål til prioritert produktkø

Løsningsforslag Sluttprøve 2015

NYTTESTYRING GJENNOM HYPPIGE LEVERANSER OG TVERRFAGLIGE TEAM

Digipost produktutvikling

UKE 15 Prosjektledelse, planlegging og teamarbeid. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski

Prosjektledelse, prosjektplanlegging, teamarbeid

Konfigurasjonsstyring. INF1050: Gjennomgang, uke 11

Modernisering av IKT i NAV

CRIStin 2.0 Om videreutvikling av CRIStin-systemet. Oppstartseminar 22. Oktober 2013

Hvordan unngå skuffelser i ITprosjekter

JigZaw. Teststategi utviklet av. Erik Drolshammer Bård Lind. Verifiser Forventet Funksjonalitet

System integration testing. Forelesning Systems Testing UiB Høst 2011, Ina M. Espås,

GJENNOMFØRING AV. Dette er Walter...

GJENNOMGANG UKESOPPGAVER 9 TESTING

Scrum. en beskrivelse V

Prosjektledelse, planlegging og teamarbeid. INF1050: Gjennomgang, uke 10

PÅ VEI MOT SMIDIGE KONTRAKTER. Ståle L Hagen IT-kontraktsdagen september

Use case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case? Use case modellering. Eksempel

Altinns nye tjenesteverksted. Lars Vegard Bachmann, produkteier portal og tjenester, Altinn

Smidige metoder i praksis Høgskolen i Oslo Kristin Meyer Kristiansen Objectnet AS

Erfaringer fra offentlige anskaffelser

Estimering av kostnader i IT-prosjekter. Nils Christian Haugen Wasteless AS

Estimering. INF1050: Gjennomgang, uke 09

Finansportalen Historiske bankdata

Derfor er forretningssystemet viktig for bedriften

GJENNOMGANG UKESOPPGAVER 7 REPETISJON

Validering og verifisering. Kirsten Ribu

Profesjonelt kunnskapsarbeid i en byråkratisk kontekst. Prof. Thomas Hoff Psykologisk institutt Universitetet i Oslo

Kravspesifikasjon med UML use case modellering. Erik Arisholm

Oppgave 1. Finn krav. Finn krav. Finn test

GRUPPE 5 UKE 2 IN1050

Planleggingsfasen.. Estimering av kostnader i IT-prosjekter. Overskridelser. Gjennomføringen. Magne Jørgensen. Industriell Systemutvikling

Kandidat nr. 1, 2 og 3

Modellering av krav. INF1050: Systemutvikling 07. februar Førstelektor Yngve Lindsjørn

Teamarbeid og smidig metodikk. Lean og Scrum. Prosjektarbeid

Prediksjonsmarkeder: Oppdaterte erfaringer Stein Grimstad

Systemutvikling. Universitetet i Oslo, Institutt for informatikk Vår 2017

Inception Elaboration Construction Transition Bemanning 1 1,5 2 2 Varighet i uker Antall iterasjoner (lengde i uker i parentes) Tabell 1

K O N S U L E N T - I D : C U R R I C U L U M V I T A E

Estimering av kostnader i IT-prosjekter

Gruppe 43. Hoved-Prosjekt Forprosjekt

Krav. Beskriver tjenestene produktet skal håndtere Kravene kan testes

Transkript:

Effektive samarbeidspraksiser for kravhåndtering Hans Gallis Symphonical Kjetil Moløkken-Østvold Conceptos Consulting JavaZone, 18. september 2008

Viktige momenter ved denne sesjonen BOF = Diskusjonsbasert sesjon. Stor variasjon i bakgrunn og roller hos deltakere. Avbryt, spør og diskuter underveis.

Er kravhåndtering viktig? Kravprosesser (og brukertesting) krever: Struktur og langsiktighet. Godt samarbeid mellom kunde og leverandør. Mange sliter med å få kravprosesser og brukertesting smidig! Kravprosessen forut for en iterasjon er ofte undervurdert. Skal man gjennomføre en stor up-front kravprosess eller skal man gjøre den til del av hver enkelt iterasjon? Symphonical har fått et eget IFU-prosjekt gjennom Innovasjon Norge på dette temaet.

V-modellen Brukerkrav Produksjonssetting til brukere Funksjonell spesifikasjon Akseptansetesting Systemtest Designspesifikasjon Modulspesifikasjon Modultesting (utviklere) Systembygg

Oppgave: Forretningsmål Bakgrunn: Uavhengig om du er på leverandørsiden, kundesiden eller i en annen rolle. Spørsmål: Kan du beskrive hva som var forretningsmål(ene) i ditt siste prosjekt?

Dagens budskap Effektive Prosjekter Bedre estimering, kravhåndtering og prosjektgjennomføring Gode samarbeidspraksiser

Kommunikasjon Studier har vist at opptil 70% av total tid i IT-prosjekter benyttes til kommunikasjon¹. Hyppig kommunikasjon kan benyttes til å prioritere krav, fokusere på feilretting, inkludere nye krav eller avklare løsningsmuligheter. Delvis motivert av Cockburn², ønsket vi å undersøke effekten av kommunikasjonsfrekvens mellom kunde og leverandør. ¹ Teasley, S.D., Covi, L.A., Krishnan, M.S. and Olson, J.S. (2002). Rapid Software Development through Team Collocation. IEEE Transactions on Software Engineering, 28 (7), 671-683. ² Cockburn, "The End of Software Engineering and the Start of Economic-Cooperative Gaming," ComSIS, 2004.

Kommunikasjonsfrekvens 2,0 1,5 BREBias 1,0 0,5 Boxplot of BREBias by Contact frequency Overskridelser Daglig: 9% Ikke daglig: 58% 0,0 Daily Contact frequency Not daily

Eksempel 1: Sprint Sprint 1: 3 uker Krav Analyse Design Estimering Planlegging Utvikling Testing Akseptanse test Bug fix Release

Eksempel 2: Release Release 1 Release 2 Release 3 Release 2: 8 uker Kravhåndtering Sprint 0 Kick-Off Sprint 1 Utvikling Sprint 2 Utvikling Sprint 3 Test Bugfix Release Release 3 Kravhåndtering Sprint 0 Kick-Off Sprint 1 Utvikling Sprint 2.

Effektive praksiser for kravhåndtering og forretningsprioritering

Frustrerende samarbeid!

Kravpyramiden Presisjon Abstraksjonsnivå Kommunikasjonskostnader Prosjektledere Utviklere og testere Interaksjonsdesignere Kunder Sluttbrukere Øker i pilens retning Karakteristikker Nivåer Aktører

Kravpyramiden - Nivå 1 og 2 Presisjon Abstraksjonsnivå Kommunikasjonskostnader Prosjektledere Utviklere og testere Interaksjonsdesignere Kunder Sluttbrukere Øker i pilens retning Karakteristikker Nivåer Aktører

Forretningsmål Avhengig av (eksempelvis): Type prosjekt. Kunde. Prioriteter. Eksempler: Portere eksisterende løsning til ny teknologi. Effektivisere saksbehandlingstid med 10%. De 10 viktigste funksjonene skal fungere minimum 20% raskere. Hvordan bør de settes opp?

Behov Hva er behovene man søker å løse? Tenk behov (arbeidsprosess) fremfor features Features SKAL kunne linkes til et definert behov. Skille mellom typer av behov: Kunde/bestillerbehov. Sluttbrukerbehov. Leverandørforslag. Trender, arkitektur, vedlikeholdbarhet etc. som spiller inn. Foreslå behov for kunden.

Innovasjon I nivå 1 og 2 bør det være rom for innovative konsepter. Dette må leverandøren utfordre kunden på. Utfordrende spørsmål: Hvordan gjøres dette i dag (uten denne funksjonaliteten)? Hvem trenger denne funksjonaliteten? Hvor ofte benyttes denne funksjonaliteten? Finnes det eksisterende løsninger som løser dette på en god måte? Finnes det andre, og kanskje mer innovative, løsninger?

Kravpyramiden - Nivå 2 og 3 Presisjon Abstraksjonsnivå Kommunikasjonskostnader Prosjektledere Utviklere og testere Interaksjonsdesignere Kunder Sluttbrukere Øker i pilens retning Karakteristikker Nivåer Aktører

Kravhåndteringsprosess Gjelder for ideer (krav) som har blitt prioritert inn i et prosjekt eller delprosjekt. Denne delen involverer også iterasjonsplanlegging ( Product Backlog ). Skille tydeligere mellom ønske og krav (ønske gjelder nivå 1-2 i modellen ovenfor). Utdype spesifiseringen fra idéprosessen med nye og mer detaljerte parametere. Inkluderer å vurdere muligheten for å legge flere krav sammen i en modul etc. Jo mer kundesiden bidrar med, desto bedre blir funksjonaliteten og desto færre feil blir det (pga misforståelser etc).

Kravhåndteringsprosess forts. En brukerhistorie kan suppleres med mer detaljerte parametere: Andre aktører (tilgangsstyring). Input (trigger). Happy day scenario. Use frequency (relevant for prioritering og testing). GUI (dersom ikke tilgang til skisser, beskriv kort hvordan det skal løses GUI-messig eller lag noe enkelt i powerpoint etc). Test case(s) og akseptansekrav. Output (hvordan avsluttes denne funksjonen? Hva skjer i systemet når funksjonen har kjørt?). Spesielle avvik fra Happy day scenario.

Kravpyramiden - Nivå 3 til 5 Presisjon Abstraksjonsnivå Kommunikasjonskostnader Prosjektledere Utviklere og testere Interaksjonsdesignere Kunder Sluttbrukere Øker i pilens retning Karakteristikker Nivåer Aktører

Oppgavehåndteringsprosess Løsningsansvarlig og utviklere deler opp user stories (krav) i håndterbare oppgaver. IKKE benytt høy/middels/lav prioritet. Benytt heller prinsippet om rekkefølge (uten avhengigheter). For eksempel kan dere lage kategorier a la first, second, third, fourth, fifth.

Oppgavehåndteringsprosess forts. Identifiser mulige løsninger. Alle krav har minst to løsninger? Utvikleren identifiserer uklarheter/ vanskeligheter. Dette gir innspill til estimeringen (som må gjøres av ansvarlig utvikler og minst en annen utvikler). Hvis vanskelig: vurder om denne skal løses i par, dvs. analysere, skrive tester og teste i par (kode individuelt).

Diskusjon Hvilken størrelse er passe for oppgaver? En uke, tre dager, en dag, fire timer?

Effektive praksiser for å samarbeide om estimering og planlegging

Estimering bør være en integrert del av kravprosessen Estimering og prioritering av krav gir nye innfallsvinkler og konkretiserer utfordringer. Flere roller bør involveres i estimeringen, både fra leverandør og kundeside. Estimeringen bør skje på forskjellige nivåer (ref. pyramiden) og trianguleres.

Metoder for kombinasjon av estimater Decision markets Struktur Lite informasjonsflyt Skjerming Tidskrevende Delphi Wideband-Delphi Planning Poker Semi-strukturerte grupper Statistiske grupper Ustrukturert Mye informasjonsflyt Mulighet for press Kostnadseffektivt

Kravpyramiden - estimering Presisjon Abstraksjonsnivå Kommunikasjonskostnader Prosjektledere Utviklere og testere Interaksjonsdesignere Kunder Sluttbrukere Øker i pilens retning Karakteristikker Nivåer Aktører

Eksempel fra in-house utvikling 1. Kundesiden prioriterer viktighet og rekkefølge på krav. 2. Utviklingsteamet distribuerer tilgjengelige timer for utvikling på kravene. I kundens prioriterte rekkefølge. Mer fokus på det man vet man rekker å gjøre! Ikke bindende estimater Tidlig avgrensning. 3. Felles Wideband Delphi på overordede krav man tror man rekker. Skaffe mer sikkerhet i estimatene. Diskutere krav. Prioritere på nytt! 4. Utviklingsteam gjør oppdeling med Planning poker på brukerhistorier. Splittes senere i oppgaver.

Noen fordeler ved kombinasjon av estimater Kombinerer kunnskap fra flere kilder. Ekstreme utslag kan bli moderert. Synkronisert oppfatning av hva estimatene innebærer angående aktiviteter og antakelser. Mer eierskap til estimatene. Moderator kan sørge for at irrelevant informasjon ikke ødelegger for realismen. Moderator kan være djevelens advokat.

Mulige ulemper ved gruppeestimering Kan være utfordring med passive deltakere. Avhengig av valgt metode: politisk press (groupthink). Krever gode eksperter og moderatorer. Tids- og kostnadskrevende (?).

Planlegging av iterasjoner Timeboxing: Lærer hva tidsintervallet betyr for deg. Eksempel: faste to ukers iterasjoner. Eller: variere lengde for å bli ferdig? Hvordan avsluttes en iterasjon? Legge det man ikke fikk ferdigstilt tilbake i Product Backlog? Overføre det man ikke rakk til neste iterasjon? Utfordring: Det er ikke tatt med i selve planleggingen! Man kjøper seg uansett en straff når krav ikke blir ferdigstilt. Spørsmålet er hvordan denne straffen skal behandles!

Avslutning

Studie om prosjektprosesser Et studie fant signifikante forskjeller i gjennomsnittlige overskridelser av estimert ressursbruk (arbeidstid) ¹. Prosjekter med sekvensielle prosesser: 55%. Prosjekter med fleksible (inkl. smidige) prosesser: 24%. Fleksible prosjekter fikk mer positiv omtale på: Gode krav. Bra samarbeid/kommunikasjon med kunde. Dette er ofte (de mest) kritiske utfordringer i prosjekter! ¹ Moløkken-Østvold and Jørgensen, "A Comparison of Software Project Overruns, IEEE Transactions on Software Engineering, 2004.

Mulige årsaker? Økt interaksjon med kunden øker muligheten for å oppdage feil eller mangler på et tidlig tidspunkt. Kunden involveres gjennom hele prosjektet og ikke bare i en startfase. Utvikling av kjernefunksjonalitet først, deretter videre på prioriteringslisten. Prosjektene utvikles i mer håndterbare (mindre) enheter.

Debatt om prosesser Er smidige prosesser svaret? Hva må man ha av kunnskap om prosesselementer? Hvordan kan man velge de rette praksisene i sin prosess?

Effektiv kravhåndtering! Tenk korte iterasjoner og hyppige leveranser. Enklere å håndtere. Enklere å lære. Bli enige om en standard for beskrivelse av krav på ulike nivåer (ut i fra hvem som faktisk skal involveres). Tydelige roller. Hvem har overblikket? Hvem prioriterer og tar avgjørelser? Hvem kommuniserer med utviklingssiden? Hvem skriver brukerhistorier?

Spørsmål? hans@symphonical.com www.symphonical.com www.conceptos.no