Effektive samarbeidspraksiser for kravhåndtering

Slides:



Advertisements
Liknende presentasjoner
Behov for forskning og utvikling knyttet til brukerinvolvering i offentlige IT-prosjekter Asbjørn Følstad, SINTEF IKT Oslo, 10. juni, 2004.
Advertisements

Effektiv prosjektplanlegging
Praktisk info til prosjektkunder
Kontraktsoppfølging mv.
Elkem Research Prosess IT
Høgskolen i Oslo - GM Vær metodisk  Definer og forstå problemet  Spesifiser hva du har av hardware  Lag en prototyp av brukersnittet  Design.
Kan arbeidsmetodikken i IT-prosjekter overføres til rådgiverene ? VIANOVA Network Meeting 2013 Geir Andersen/Vianova Systems AS.
Dokumentasjon og Planlegging av større IT-prosjekter
Elementer av en utviklingsprosess
Smidig forvaltning – En pragmatisk tilnærming
Prototyping & Use Case Software Engineering Gruppe
Hvordan gjøre mer med å gjøre mindre!
Ideutvikling - Problemdefinisjonen. Hva gjør de erfarne problemløserne? •Samler og analyserer informasjon og data •Snakker med mennesker som kjenner problemet.
Hvem stakk av med produkteieren min?
1 Oppgave gjennomgang Kap Oppgaver -Kap 12: 1, 2, 3, 5, 7, 8, 11, 18, 19.
EVALUERING AV PRODUKTER, PROSESSER OG RESSURSER. Gruppe 4 Remi Karlsen Stian Rostad Ivar Bonsaksen Jonas Lepsøy Per Øyvind Solhaug Andreas Tønnesen.
Grunnleggende testteori
Prototyping In 140 Sommerville kap. 8. Mål Forstå hensikten med prototyping i forskjellige utviklingsprosjekt Forstå forskjellen mellom evolusjonær og.
Hvordan skrive en god utredning?
Hovedprinsipper i Rational Unified Process
1 Skal vi snakke sammen? Jan Håvard Skjetne SINTEF / University of Melbourne
Empiriske metoder Oppgaveanalyse, observasjon
Combining Compound Conceptual User Interface Components with Modelling Patterns - a Promising Direction for Model-based Cross-platform User Interface Development.
UML og grensesnitt UML er standard for modellering innen objekt-orientert programvare kan UML også brukes til modellering av grensesnitt? fordel: bedre.
Mange IT-prosjekter kunne med fordel vært drevet mer som en Lean Startup.
  © Steria FitNesse som nyttig verktøy Smidig FitNesse som nyttig verktøy Anders Vindvad.
Dinosauren tar innpå Reelle utfordringer når en vil jobbe smidig - og noen forslag til løsninger! Arve
And Together. Free your energies Bodil Rabben 16.november 2010 Modne og modige kunder og leverandører.
Software Requirements Elicitation
Testing av system Gruppe 6 Henrik Bækhus Morten A. Iversen Mathias Bondeson Gunnar K. Kulleseid Svein Ivar Kristiansen Ronny Hulthin.
Improving Products Gruppe Presenteres av : Hege-Kristin Johansen Herman Kolås Marianne Ates Marit Finden Jonas Lillevold André Johansen Tom.
Tema: Test First Positivist: Det som ikke kan måles, eksisterer ikke! Reduserer sjanser for defekter! Gir en oppdatert ”TODO-liste” Gir trygghet til å.
1. Vår høyeste prioritet er å tilfredsstille kunden gjennom å levere et verdifullt, kjørende system tidlig og kontinuerlig.
Prosjektbase for Vox – et fleksibelt IT-prosjekt (case fra virkeligheten) NSP Temadag 18.februar 2004 Ola Grumstad, PMP, Daglig leder HolteProsjekt Solutions.
kunder i aktive prosjekt/forvaltning, 6 interne product owner proxys, to team og tre backlogger – kan det likevel ligne på Scrum? Kristin Wulff,
DUO – søk og innlevering Om prosjektet Organisering og innsatsgrupper Erfaringer Sett fra sjefenes ståsted.
Retningslinjer for spesifikasjoner til oppdrag
Daglige stand-up møter er destruktive
Hvem stakk av med produkteieren min? Kjetil Moløkken-Østvold – Conceptos Consulting Smidig 2008, oktober, Oslo.
Kvalitative og kvantitative metoder
Å omfavne forandringer med ekstrem programmering(XP) Brukt i In140 Skrevet av Ola Bø Bygger på Kent Becks artikkel "Embracing change with extreme programming."
1 Oppgave gjennomgang Kap. 1 og 2. 2 Oppgaver -Kap 1: 5, 6, 7, 10, 12, 16, 22 og 25 -Kap 2: 2, 6, 10, 12, 13, 14 og 20.
Spørsmål og aktiviteter på ulike nivåer
BUCS Utfordringer og valg av fokus Tor Stålhane. Rammebetingelser Første spørreundersøkelse viser at det vi gjør må kunne: Brukes sammen med UML Passe.
7. Typography, Readability & Legibility Lesbarhet.
Objektorientert utforming In 140 Sommerville kap. 12.
Forstudie Nå situasjonen: dagens situasjon med ulemper og fordeler
TDT4851 Eksperter i Team, vår 2009: Samarbeid over internett.
Senter for teknologi, innovasjon og kultur (TIK) - Universitetet i Oslo ORGANIZATIONS AND KNOWLEDGE TIK ESST Module 4 Jon Vatnaland.
Brukbarhetstesting og feltstudier INF 1500; introduksjon til design, bruk og interaksjon 7 november 2010.
Ingen flere store offentlige IT- prosjekter? Magne Jørgensen Simula, UiO og Scienta.
Utviklingsprosesser INF 1500; introduksjon til design, bruk og interaksjon 12 september 2011.
Tips og råd Til hva dere bør tenke på når dere setter samme et business case (basert på innspill fra seminar )
Asbjørn Følstad, SINTEF IKT Oslo, 10. juni, 2004
Identifisere behov – og etablere krav
Case og empiri <Fag> <Navn> Institutt for statsvitenskap
Brukbarhetstesting og feltstudier
Dagfinn Bergsager Universitetet i Oslo SMIDIG 2016
Eldre og moderne teknologi
Elevintervju B – Samarbeid
Elevintervju B – Samarbeid
Prinsipper for god underveisvurdering B – Samarbeid
Prinsipper for god underveisvurdering B – Samarbeid
Camilla Hall-Henriksen
Telle i kor Telle med 5 fra 4 A – Forarbeid
Dybdelæring – regneark B – Samarbeid
Prinsipper for ambisiøs matematikkundervisning B – Samarbeid
Utskrift av presentasjonen:

Effektive samarbeidspraksiser for kravhåndtering Hans Gallis Symphonical Kjetil Moløkken-Østvold Conceptos Consulting Begge 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. Kjetil

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. Hans

V-modellen Brukerkrav Produksjonssetting til brukere Funksjonell spesifikasjon Akseptansetesting Design-spesifikasjon Systemtest Hans Modul-spesifikasjon 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? Kjetil

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

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. Kjetil

Kommunikasjonsfrekvens Overskridelser Daglig: 9% Ikke daglig: 58% Kjetil

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

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 Hans Release 3 Kravhåndtering Sprint 0 Kick-Off Sprint 1 Utvikling Sprint 2 …….

Effektive praksiser for kravhåndtering og forretningsprioritering

Frustrerende samarbeid! Hans

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

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

Forretningsmål Avhengig av (eksempelvis): Eksempler: 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? Kjetil

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. Hans

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? Hans

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

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). Hans

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. Hans

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

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. HAns

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). HAns 23

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

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 Struktur Lite informasjonsflyt Skjerming Tidskrevende Ustrukturert Mye informasjonsflyt Mulighet for press Kostnadseffektivt Struktur Lite informasjonsflyt Skjerming Tidskrevende Struktur Lite informasjonsflyt Skjerming Tidskrevende Struktur Lite informasjonsflyt Skjerming Tidskrevende Struktur Lite informasjonsflyt Skjerming Tidskrevende Struktur Lite informasjonsflyt Skjerming Tidskrevende Struktur Lite informasjonsflyt Skjerming Tidskrevende Struktur Lite informasjonsflyt Skjerming Tidskrevende Struktur Lite informasjonsflyt Skjerming Tidskrevende Struktur Lite informasjonsflyt Skjerming Tidskrevende Struktur Lite informasjonsflyt Skjerming Tidskrevende Struktur Lite informasjonsflyt Skjerming Tidskrevende Decision markets Delphi Wideband-Delphi Planning Poker Semi-strukturerte grupper Decision markets Delphi Wideband-Delphi Planning Poker Semi-strukturerte grupper Statistiske grupper Ustrukturert Mye informasjonsflyt Mulighet for press Kostnadseffektivt Ustrukturert Mye informasjonsflyt Mulighet for press Kostnadseffektivt Ustrukturert Mye informasjonsflyt Mulighet for press Kostnadseffektivt Kjetil Ustrukturert Mye informasjonsflyt Mulighet for press Kostnadseffektivt Ustrukturert Mye informasjonsflyt Mulighet for press Kostnadseffektivt Ustrukturert Mye informasjonsflyt Mulighet for press Kostnadseffektivt Ustrukturert Mye informasjonsflyt Mulighet for press Kostnadseffektivt Ustrukturert Mye informasjonsflyt Mulighet for press Kostnadseffektivt Ustrukturert Mye informasjonsflyt Mulighet for press Kostnadseffektivt Ustrukturert Mye informasjonsflyt Mulighet for press Kostnadseffektivt Ustrukturert Mye informasjonsflyt Mulighet for press Kostnadseffektivt

Kravpyramiden © - estimering Presisjon Kommunikasjonskostnader Abstraksjonsnivå Øker i pilens retning Prosjektledere Utviklere og testere Kunder Sluttbrukere Interaksjonsdesignere Delphi eller Wideband Delphi Planning poker Hans Karakteristikker Nivåer Aktører 28

Eksempel fra in-house utvikling Kundesiden prioriterer viktighet og rekkefølge på krav. 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. Felles Wideband Delphi på overordede krav man tror man rekker. Skaffe mer sikkerhet i estimatene. Diskutere krav. Prioritere på nytt! 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”. Kjetil

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 (?). Kjetil

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! Kjetil

Avslutning Vi trenger en slide med punchlines!

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. Kjetil

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. Kjetil

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? Hans: Ser du på denne?

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