INF1050: Systemutvikling, 29. april 2015



Like dokumenter
Forskningsmetoder / Evaluering av systemutvikling Pensum: kap. 12 i lærebok (artikkel) + kap

Forskningsmetoder. INF1050: Gjennomgang, uke 13

IN2002: Software Engineering og prosjektarbeid 12. februar Forskningsmetoder / Evaluering av IT-systemer. IN2000/ 12.2.

Hvordan evaluerer man kvaliteten på et IT-system?

FIRST LEGO League. Härnösand 2012

GEOV219. Hvilket semester er du på? Hva er ditt kjønn? Er du...? Er du...? - Annet postbachelor phd

Emneevaluering GEOV272 V17

KROPPEN LEDER STRØM. Sett en finger på hvert av kontaktpunktene på modellen. Da får du et lydsignal.

Unit Relational Algebra 1 1. Relational Algebra 1. Unit 3.3

Hvor mye praktisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye)

Slope-Intercept Formula

Emnedesign for læring: Et systemperspektiv

Databases 1. Extended Relational Algebra

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

ESTIMERING I SMIDIGE PROSJEKTER

Dagens tema: Eksempel Klisjéer (mønstre) Tommelfingerregler

Endelig ikke-røyker for Kvinner! (Norwegian Edition)

Midler til innovativ utdanning

SAMPOL115 Emneevaluering høsten 2014

Risikofokus - også på de områdene du er ekspert

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

Han Ola of Han Per: A Norwegian-American Comic Strip/En Norsk-amerikansk tegneserie (Skrifter. Serie B, LXIX)

// Translation // KLART SVAR «Free-Range Employees»

UNIVERSITETET I OSLO

Medisinsk statistikk, KLH3004 Dmf, NTNU Styrke- og utvalgsberegning

Øystein Haugen, Professor, Computer Science MASTER THESES Professor Øystein Haugen, room D

Undervisning i Smidige metoder ved Universitetet i Oslo

Hvor mye teoretisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye)

Dynamic Programming Longest Common Subsequence. Class 27

What is is expertise expertise? Individual Individual differ diff ences ences (three (thr ee cent cen r t a r l a lones): easy eas to to test

Fagevalueringsrapport FYS Diffraksjonsmetoder og elektronmikroskopi

5 E Lesson: Solving Monohybrid Punnett Squares with Coding

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

GEO231 Teorier om migrasjon og utvikling

Familieeide selskaper - Kjennetegn - Styrker og utfordringer - Vekst og nyskapning i harmoni med tradisjoner

2A September 23, 2005 SPECIAL SECTION TO IN BUSINESS LAS VEGAS

Uke 2: Arbeidsrutiner og datamaskiner

Hvor mye teoretisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye)

Nyttestyring og viktigheten av den gode kunde

Exercise 1: Phase Splitter DC Operation

Nyttestyring og viktigheten av den gode kunde. Magne Jørgensen

Norsk (English below): Guide til anbefalt måte å printe gjennom plotter (Akropolis)

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

EN Skriving for kommunikasjon og tenkning

Frankrike Informasjon hentet fra: Turistundersøkelsen og Posisjoneringsanalyse, Innovasjon Norge Overnattingsstatistikken, SSB

Språkleker og bokstavinnlæring

Generalization of age-structured models in theory and practice

Hvor mye teoretisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye)

STILLAS - STANDARD FORSLAG FRA SEF TIL NY STILLAS - STANDARD

Passasjerer med psykiske lidelser Hvem kan fly? Grunnprinsipper ved behandling av flyfobi

Physical origin of the Gouy phase shift by Simin Feng, Herbert G. Winful Opt. Lett. 26, (2001)

SAMMENDRAG.

Den som gjør godt, er av Gud (Multilingual Edition)

Vurderingsveiledning SPR3008 Internasjonal engelsk Eleven gir stort sett greie og relevante svar på oppgavene i samsvar med oppgaveordlyden.

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

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Skal man fortsatt opprettholde skillet mellom positiv og negativ forsterkning

Hvor mye praktisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye)

Climate change and adaptation: Linking. stakeholder engagement- a case study from

Kunnskapsinfrastruktur for forskningsdata i Norge

Forecast Methodology September LightCounting Market Research Notes

Trigonometric Substitution

Forelesning IMT mars 2011

CTL & LOS Norge Workshops

Forskningsrådets rolle som rådgivende aktør - innspill til EUs neste rammeprogram, FP9 og ERA

Vekeplan 4. Trinn. Måndag Tysdag Onsdag Torsdag Fredag AB CD AB CD AB CD AB CD AB CD. Norsk Matte Symjing Ute Norsk Matte M&H Norsk

PATIENCE TÅLMODIGHET. Is the ability to wait for something. Det trenger vi når vi må vente på noe

EKSAMENSOPPGAVE SØK 3511 UTDANNING OG ARBEIDSMARKED

Velkommen til andre del av IN1030

Kurskategori 2: Læring og undervisning i et IKT-miljø. vår

Eksamen ENG1002/1003 Engelsk fellesfag Elevar og privatistar/elever og privatister. Nynorsk/Bokmål

Uke 5. Magnus Li INF /

BIBSYS Brukermøte 2011 Live Rasmussen og Andreas Christensen. Alt på et brett? -om pensum på ipad og lesebrett

Gir vi de resterende 2 oppgavene til én prosess vil alle sitte å vente på de to potensielt tidskrevende prosessene.

INF2270 Datamaskinarkitektur

Institutt for Informatikk, 24. august 2012

Newtons fargeskive. Regnbuens farger blir til hvitt. Sett skiva i rask rotasjon ved hjelp av sveiva.

Hvordan jobber reiselivsgründere med sine etableringer? Sølvi Solvoll Klyngesamling, Bodø

SFI-Norman presents Lean Product Development (LPD) adapted to Norwegian companies in a model consisting of six main components.

Tips for bruk av BVAS og VDI i oppfølging av pasienter med vaskulitt. Wenche Koldingsnes

Neural Network. Sensors Sorter

Eksamensoppgave i PSY3100 Forskningsmetode - Kvantitativ

EN GOD SKOLESTART KUNNSKAPSSENTERETS ÅRSKONFERANSE 16. SEPTEMBER 2010 FORBUNDSLEDER EILIN EKELAND 1

INF2270 Datamaskinarkitektur

Utvikling av skills for å møte fremtidens behov. Janicke Rasmussen, PhD Dean Master Tel

How Bridges Work Sgrad 2001

Radikalisering og forebygging -Utfordringer og dilemma

Kartleggingsskjema / Survey

Little Mountain Housing

Økologisk og kulturell dannelse i økonomiutdanningen

Kritisk lesning og skriving To sider av samme sak? Geir Jacobsen. Institutt for samfunnsmedisin. Kritisk lesning. Med en glidende overgang vil denne

Samarbeidsbasert forskning er det mulig også i arbeidet med systematiske kunnskapsoversikter?

GYRO MED SYKKELHJUL. Forsøk å tippe og vri på hjulet. Hva kjenner du? Hvorfor oppfører hjulet seg slik, og hva er egentlig en gyro?

Dean Zollman, Kansas State University Mojgan Matloob-Haghanikar, Winona State University Sytil Murphy, Shepherd University

What's in IT for me? Sted CAMPUS HELGELAND, MO I RANA Tid

HONSEL process monitoring

Bostøttesamling

The internet of Health

MANGFOLDSLEDELSE I BYGGENÆRINGEN UTVALGTE FUNN FRA FORSKNINGSRAPPORTEN «FLERKULTURELLE ARBEIDSPLASSER I BYGGENÆRINGEN»

Transkript:

INF1050: Systemutvikling, 29. april 2015 Metoder for evaluering av systemutvikling/forskningsmetoder (Pensum: Upublisert kap. 11 i lærebok. Lærebok kap. 3.6, 4.5.2 og 4.5.5 (Sommerville kap. 4.5.2 og 4.5.5 + artikkel tilsv. 3.6) Professor Dag Sjøberg INF1050/ 29.4.2015 / Dag Sjøberg Slide 1 Forskningsmetode = Hvordan kunnskap dannes God metode Dårlig metode Pålitelig kunnskap Upålitelig kunnskap INF1050/ 29.4.2015 / Dag Sjøberg Slide 2 1

Plan Behovet for metodekunnskap Empiriske forskningsmetoder Primære metoder 1. Eksperiment 2. Case-studie 3. Etnografi 4. Spørreskjema-undersøkelse (survey) 5. Aksjonsforskning Sekundære metoder 6. Systematisk litteraturstudie 7. Meta-analyse Quiz INF1050/ 29.4.2015 / Dag Sjøberg Slide 3 Valg av prosessmodeller, metoder, teknikker, praksiser, verktøy, språk etc. Organisasjoner, team og individer må stadig velge teknologi som støtter systemutvikling På hvilket grunnlag tar man slike valg? Ofte basert å moter/ hype og synsing fra guruer Velger ofte det man kjenner best Ideelt: Basert på empiriske undersøkelser (empirisk = erfaringsmessig, det som baserer seg på erfaring, dvs. observert i virkeligheten) INF1050/ 29.4.2015 / Dag Sjøberg Slide 4 2

Nytteverdi Nyttig å kjenne til systematisk evaluering og forskningsmetoder Forstå og nyttiggjøre forskningsresultater Stille kritiske spørsmål til påstander som blir servert Nyttig både i privat og offentlig sektor Nyttig i alle fag, ikke bare informatikk INF1050/ 29.4.2015 / Dag Sjøberg Slide 5 Mer om motivasjon for bruk av forskningsmetoder i systemutvikling: Tichy, W. Empirical software research: an interview with Dag Sjøberg, University of Oslo, Norway, Magazine Ubiquity, June 2011, Article No. 2, ACM New York, NY, USA http://ubiquity.acm.org/article.cfm?id=1998374 INF1050/ 29.4.2015 / Dag Sjøberg Slide 6 3

29/04/15 Tidligere eksamensoppgaver 2011: Lag et forslag til en undersøkelse som vil kunne gi deg et bedre beslutningsgrunnlag for innføring av Scrum i hele bedriften. 2012: Tenk deg at nettbanken beskrevet i oppgave 2 har vært i bruk i to år med blant annet de tre kravene du foreslo under punkt (a). Du får beskjed om å undersøke i hvilken grad disse kravene faktisk er oppfylt. Beskriv en egnet studie for å undersøke dette. Du velger selv metode(r). 2013: Hva er triangulering innen forskningsmetode? Hvorfor kan det være ønskelig med triangulering? Hvorfor er det gunstig å kjenne til undersøkelses- eller forskningsmetoder når man driver med systemutvikling? 2014: Hva er triangulering innen forskningsmetode? Hvorfor kan det være ønskelig med triangulering? Hvorfor er det gunstig å kjenne til undersøkelses- eller forskningsmetoder når man driver med systemutvikling? Nevn en forskjell på et eksperiment og en case studie. INF1050/ 29.4.2015 / Dag Sjøberg Slide 7 Er helikopter bedre enn sykkel? INF1050/ 29.4.2015 / Dag Sjøberg Slide 8 4

Man sier man vil velge det beste, men hva betyr det? Er par-programminering bedre enn solo-programmering? Er det lurt å bruke UML? Er Scrum bedre enn Kanban? Isolert sett er spørsmålene er meningsløse! INF1050/ 29.4.2015 / Dag Sjøberg Slide 9 Når er det bedre å bruke X? Spørsmålet er: For hvilke oppgaver på hvilke systemer for hvilke kategori av utviklere i hvilke typer organisasjoner i hvilke teknologiske omgivelser med hvilke ressurser er det gunstig (kost-nytte) å bruke X fremfor Y? Konkret for dere i en jobbsituasjon: Hvilke valg gjør vi og hvorfor? INF1050/ 29.4.2015 / Dag Sjøberg Slide 10 5

Stor risiko ved vilkårlig innføring av teknologi Innføring av ny teknologi i private og offentlige organisasjoner kan være svært dyrt Trenger derfor skikkelig kost/nytte-evalueringer opp mot alternativer Men hvordan gjennomføre slike evalueringer? Når kan vi stole på resultatene? INF1050/ 29.4.2015 / Dag Sjøberg Slide 11 Behov for kunnskap om empiriske metoder Systemutvikling menneskelig aktivitet i organisasjoner. Kan ikke bruke matematikk/logikk til å utlede hvordan utviklingen skal utføres Lytt til folk med erfaring, men den er ofte begrenset til spesielle kontekster ikke nødvendigvis gyldig i nye situasjoner Metode vektlegges mye i samfunnsfag og psykologi Nyttig kunnskap uansett hva man skal drive med Masteroppgave Rapporter INF1050/ 29.4.2015 / Dag Sjøberg Slide 12 6

Kronikk om forskningsmetode (lenke på forelesningsplanen) Forskning.no: Forskning viser at de syklistene i Tour de France som kvinner mente var kjekkeste, var også raskest Absurd resultat Man kan gjøre mange feil: Velger å presentere bare de analysene som gir ønsket resultat Trekker større konklusjoner enn det dataene faktisk viser Intervjuobjektene blir påvirket (gjenkjenner de beste) Måler noen annet enn det som er poenget (hjelperyttere skal hjelpe, ikke satse på best mulig tid selv) Undersøkelser med oppsiktsvekkende funn bør gjentas (replikeres) av andre INF1050/ 29.4.2015 / Dag Sjøberg Slide 13 Når bruke hvilken metode? Hvem Hva Hvor Hvordan Hvorfor Type spørsmål, kompetanse, ressurser og mange andre forhold påvirker valg av metode INF1050/ 29.4.2015 / Dag Sjøberg Slide 14 7

Plan Behovet for metodekunnskap Empiriske forskningsmetoder Primære metoder 1. Eksperiment 2. Case-studie 3. Etnografi 4. Spørreskjema-undersøkelse (survey) 5. Aksjonsforskning Sekundære metoder 6. Systematisk litteraturstudie 7. Meta-analyse Quiz INF1050/ 29.4.2015 / Dag Sjøberg Slide 15 (Kontrollert) eksperiment Et eksperiment undersøker årsak-virkning hva fører til hva? Direkte, presis og systematisk manipulering (endring) av det fenomenet man studerer, og så måler man virkningen Enkeltindivider eller team (deltakere) utfører systemutviklingsoppgaver der hensikten er å sammenligne ulike prosessmodeller, metoder, teknikker, språk eller verktøy ( treatments ) INF1050/ 29.4.2015 / Dag Sjøberg Slide 16 8

Eksperiment Uavhengige variable (treatment) Teknologi Effekt Avhengige variable (resultat) Tid, kostnader & Kvalitet Moderator variable (kontekst) INF1050/ 29.4.2015 / Dag Sjøberg Slide 17 Hypotesetesting Nullhypotese: en påstand vi ønsker å forkaste Hvis det er svært lite sannsynlig (f.eks. < 5 % (signifikansnivå)) at vi hadde fått de resultatene vi faktisk fikk i eksperimentet, hvis nullhypotesen er sann, da forkaster vi den. Dvs. antar at den alternative (motsatte) hypotesen er sann Hvis vi ikke kan forkaste nullhypotesen, anser vi den som gyldig INF1050/ 29.4.2015 / Dag Sjøberg Slide 18 9

Eks: Parprogrammering Delt eierskap og ansvar for kode, dvs. teamets ansvar, ikke den enkelte sitt alene Kunnskap om spesiell kode deles av flere (redundans) Folk kan steppe inn for hverandre Mindre problem at noen slutter Utviklerne bli bedre kjent ved stadig å endre parsammensetningen Uformell inspeksjon av kode siden den gås igjennom av minst to personer INF1050/ 29.4.2015 / Dag Sjøberg Slide 19 Parprogrammering fører til at programvare blir utviklet raskere, bedre og billigere, eller? INF1050/ 29.4.2015 / Dag Sjøberg Slide 20 10

Hva er kost-nytten ved parprogramming? Sommerville side 72: However, studies with more experienced programmers (Arisholm et al., 2007*; Parish et al., 2004) did not replicate these results. They found that there was a significant loss of productivity compared with two programmers working alone. *E. Arisholm, H.E. Gallis, T. Dybå and D.I.K. Sjøberg. Evaluating Pair Programming with Respect to System Complexity and Programmer Expertise, IEEE Transactions on Software Engineering 33(2): 65-86, 2007 INF1050/ 29.4.2015 / Dag Sjøberg Slide 21 Eksperiment om parprogrammering Par- vs enkeltprogrammering Effekt Varighet, timer & korrekthet Moderator variable: Dyktighetsnivå, Vanskelighetsgrad på oppgave INF1050/ 29.4.2015 / Dag Sjøberg Slide 22 11

Eksperiment om parprogrammering: Nullhypotese Parprogrammering og solo-programmering gir like resultater mht tid, kostnader og kvalitet for ulike typer utviklere og oppgaver INF1050/ 29.4.2015 / Dag Sjøberg Slide 23 Deltakere og oppgaver 295 junior, mellomnivå og senior Java konsulenter fra 29 firmaer ble betalt en arbeidsdag for å delta (kostet 1,5 mill.) 99 jobbet enkeltvis 98 i par (Norge: 41, Sverige: 28, Storbritannia: 29) Enkeltindividene og parene utførte de samme endringsoppgavene i Java på Et enkelt system med sentralisert kontrollstil og Et komplekst system med delegert kontrollstil INF1050/ 29.4.2015 / Dag Sjøberg Slide 24 12

Statistisk styrke Statistisk styrke: sannsynligheten for at en statistisk test vil forkaste null-hypotesen hvis den faktisk er feil En test uten nok styrke vil ikke forkaste nullhypotesen selv om den er feil Må ofte gjøre et forsøk flere ganger eller ha mange deltakere i et eksperiment for å få nok styrke INF1050/ 29.4.2015 / Dag Sjøberg Slide 25 Parprogrammeringseksperimentet: Verdens største eksperiment mht antall profesjonelle utviklere som deltakere. Hvorfor så mange? For å oppnå nok statistisk styrke. Finnes måter å beregne hva som er godt nok 2x2x3 grupper: par-programmering (2 nivåer), kontrollstil (2 nivåer) og ekspertise (3 nivåer), til sammen 12 grupper N = 170 (85 individer og 85 par) (= minimum, vi hadde 99 individer og 98 par) N = 14 i hver av de 12 gruppene INF1050/ 29.4.2015 / Dag Sjøberg Slide 26 13

160 % Total Effect of PP Difference from individuals 140 % 120 % 100 % 80 % 60 % 40 % 20 % 0 % 84 % 7 % -20 % -40 % -8 % Duration Effort Correctness Correctness = Prosent flere riktige løsninger enn hos individuelle programmerere INF1050/ 29.4.2015 / Dag Sjøberg Slide 27 160 % Moderating Effect of System Complexity on PP Difference from individuals 140 % 120 % 100 % 80 % 60 % 40 % 20 % 0 % CC (easy) DC (complex) 6 % 60 % 112 % 48 % -20 % -40 % -20 % -16 % Duration Effort Correctness INF1050/ 29.4.2015 / Dag Sjøberg Slide 28 14

160 % Effect of PP for Juniors 140 % Difference from individuals 120 % 100 % 80 % 60 % 40 % 20 % 0 % 5 % 111 % 73 % -20 % -40 % Duration Effort Correctness INF1050/ 29.4.2015 / Dag Sjøberg Slide 29 Difference from individuals 160 % 140 % 120 % 100 % 80 % 60 % 40 % 20 % 0 % Moderating Effect of System Complexity for Juniors CC (easy) DC (complex) 4 % 6 % 109 % 112 % 32 % 149 % -20 % -40 % Duration Effort Correctness INF1050/ 29.4.2015 / Dag Sjøberg Slide 30 15

160 % Effect of PP for Seniors Difference from individuals 140 % 120 % 100 % 80 % 60 % 40 % 20 % 0 % -20 % -9 % 83 % -8 % -40 % Duration Effort Correctness INF1050/ 29.4.2015 / Dag Sjøberg Slide 31 Difference from individuals 160 % 140 % 120 % 100 % 80 % 60 % 40 % 20 % 0 % -20 % -40 % Moderating Effect of System Complexity for Seniors CC (easy) DC (complex) -23 % 8 % 55 % 115 % -13 % -2 % Duration Effort Correctness INF1050/ 29.4.2015 / Dag Sjøberg Slide 32 16

Effekten av å bruke parprogrammering kommer an på Programmeringsekspertise Junior Mellomnivå Senior Oppgavekompleksitet Bruke PP? Kommentar Lett Ja Gitt at hovedmålet er god kvalitet Vanskelig Ja Gitt at hovedmålet er god kvalitet Lett Nei Vanskelig Ja Gitt at hovedmålet er god kvalitet Lett Vanskelig Nei Nei* * Med mindre oppgaven er svært for vanskelig, selv for en senior INF1050/ 29.4.2015 / Dag Sjøberg Slide 33 Når ønsker du å jobbe sammen med andre? 1. Alltid 2. Når oppgavene er enkle 3. Når oppgavene er vanskelige 4. Aldri INF1050/ 29.4.2015 / Dag Sjøberg Slide 34 17

Kommentarer til eksperimentet Utviklere med lang erfaring i parprogrammering vil kunne gi andre resultater Parprogrammering som ledd i opplæring? Her: alle var på samme nivå. Dyr form for opplæring! Parprogrammering som ledd i å sikre kunnskapsredundans? Flere personer kjenner samme kode og kan steppe inn for hverandre INF1050/ 29.4.2015 / Dag Sjøberg Slide 35 Plan Behovet for metodekunnskap Empiriske forskningsmetoder Primære metoder 1. Eksperiment 2. Case-studie 3. Etnografi 4. Spørreskjema-undersøkelse (survey) 5. Aksjonsforskning Sekundære metoder 6. Systematisk litteraturstudie 7. Meta-analyse Quiz 6. INF1050/ 29.4.2015 / Dag Sjøberg Slide 36 18

Case-studier Eksperimenter svarer på hva, case-studier mer på hvordan og hvorfor Case-studier legger vekt på å studere fenomener i sine naturlige omgivelser Mange flere variable enn datapunkter Teorier bør styre datainnsamling og analyse Generalisering ved bruk av teori, ikke statistikk som i eksperimenter INF1050/ 29.4.2015 / Dag Sjøberg Slide 37 Kontroll versus Realisme Kontroll Eksperimenter Case-studier Realisme Undersøkelser og forskning må oppfattes som relevant av utviklere, ledere og andre interessenter. INF1050/ 29.4.2015 / Dag Sjøberg Slide 38 19

Realisme/representativitet Hvordan sikre at studien er realistisk og representativ for de omgivelsene man ønsker å få vite noe om? Mange eksperimenter som gjøres i systemutvikling mangler nødvendig realisme i oppgaver og systemer Aktør individer, team, prosjekt, organisasjon Teknologi metode, prosessmodell, teknikk, verktøy, språk Oppgaver hva skal gjøres, varighet, vanskelighetsgrad System størrelse, kompleksitet, domene, innebygde/ sanntid etc. INF1050/ 29.4.2015 / Dag Sjøberg Slide 39 Eksempel på komparative (sammenlignende) case-studie A B Anbudspris C D INF1050/ 29.4.2015 / Dag Sjøberg Slide 40 20

Annet eksempel på case-studie (Læreboka seksjon 3.6, artikkel lagt ut) INF1050/ 29.4.2015 / Dag Sjøberg Slide 41 På hvilket grunnlag tas beslutninger: f. eks. velge Scrum eller Kanban? Mange påstander for/mot Scrum og Kanban Argument mot Kanban Mangler positiv deadline effekt (budsjett og tidspress) Lite struktur Argument mot Scrum Oppfattes av noen firmaer som rigid, lite egnet for vedlikeholdsoppgaver, tidsbokser basert på usikre estimater ga lengre lead-time og redusert produktivitet, og generelt mye waste (oppstartsmøter etc.) INF1050/ 29.4.2015 / Dag Sjøberg Slide 42 21

Overgang fra Scrum til Kanban i Software Innovation (SI) SI begynte med Scrum i 2007 og Kanban i 2010 Motiver for overgang til Kanban: Økt produksjonen Bedre systemkvalitet, bl.a. ved å redusere lead-time Har forventningene blitt møtt? Analyse av 12 000 utviklingsoppgaver (work items) over 3,5 år registrert i Team Foundation Server (TFS) Dag I.K. Sjøberg, Anders Johnsen and Jørgen Solberg: Quantifying the Effect of Using Kanban versus Scrum: A Case Study. IEEE Software, Vol. 29, Nr. 5, side 47 53, Sep./Oct. 2012 INF1050/ 29.4.2015 / Dag Sjøberg Slide 43 Måling av prosesskvalitet INF1050/ 29.4.2015 / Dag Sjøberg Slide 44 22

Ledetid INF1050/ 29.4.2015 / Dag Sjøberg Slide 45 Bugs INF1050/ 29.4.2015 / Dag Sjøberg Slide 46 23

Produktivitet INF1050/ 29.4.2015 / Dag Sjøberg Slide 47 Konklusjon på studien Ved å erstatte Scrum med Kanban, SI nesten halverte ledetiden reduserte antall feil med 10% forbedret produktiviteten SI ser derfor ut til å dra fordel av å bruke Kanban istedenfor Scrum Bør vurderes av andre som erfarer vanskeligheter med estimering avbrytelser pga. ad hoc-bug fiksing, support og vedlikeholdsoppgaver INF1050/ 29.4.2015 / Dag Sjøberg Slide 48 24

Realitet versus guru # utviklingsoppgaver per person per kvartal 66 Konservativt guru-estimat Guru lovnad: Etter hans interne Scrum-kurs sommeren 2009: 500-800 % more productive in about a year 42 INF1050/ 29.4.2015 / Dag Sjøberg Slide 49 Triangulering For å unngå subjektive vurderinger casestudier, bør man ha: Ø Data-triangulering: Data fra flere kilder bør beskrive de samme fenomenene vi undersøker Ø Undersøker/forsker-triangulering: Ulike personer bør undersøke det samme INF1050/ 29.4.2015 / Dag Sjøberg Slide 50 25

Intervjuer ofte brukt i case-studier (Læreboka seksjon 4.5.2) Strukturerte intervjuer Ø Spørsmålene definert på forhånd, veldefinerte svaralternativer. Kan kvantifisere (telle opp) hvor mange som svarer hva på hvert spørsmål Semistrukturerte intervjuer Ø Intervjuerne baserer seg på stikkord og spørsmål som evt. kan droppes underveis, og nye spørsmål kan stilles avhengig av hvordan intervjuet forløper Åpne (ustrukturerte) intervjuer Ø Forløper seg mer som en samtale mellom intervjuer og intervjuobjekt INF1050/ 29.4.2015 / Dag Sjøberg Slide 51 Plan Behovet for metodekunnskap Empiriske forskningsmetoder Primære metoder 1. Eksperiment 2. Case-studie 3. Etnografi 4. Spørreskjema-undersøkelse (survey) 5. Aksjonsforskning Sekundære metoder 6. Systematisk litteraturstudie 7. Meta-analyse Quiz INF1050/ 29.4.2015 / Dag Sjøberg Slide 52 26

Etnografi/observasjon (Læreboka seksjon 4.5.5) INF1050/ 29.4.2015 / Dag Sjøberg Slide 53 Metode Forskere observerer over lengre tid hva folk gjør Dyp forståelse av hva folkene, organisasjonen og konteksten for arbeidet Personene som studeres trenger ikke å forklare hva de gjør Arbeidsoppgaver er ofte mer omfattende og komplekse enn hva arbeidsprosessmodeller indikerer Sommerville nevner etnografi som mulig metode for å identifisere krav til et datasystem INF1050/ 29.4.2015 / Dag Sjøberg Slide 54 27

Etnografi versus case-studier Etnografi forskeren mer involvert i gruppen som studeres bruker gjerne grounded theory, dvs. lager teorier ut fra det som observeres Case-studier bruker gjerne eksisterende teorier for å bestemme hva slags data som samles inn (ikke så vanlig i systemutvikling) teorien styrkes, forkastes eller justeres avhengig av det man finner i eksplorative (utforskende) case-studier utvikler man også teorier ut fra dataene som samles inn INF1050/ 29.4.2015 / Dag Sjøberg Slide 55 Plan Behovet for metodekunnskap Empiriske forskningsmetoder Primære metoder 1. Eksperiment 2. Case-studie 3. Etnografi 4. Spørreskjema-undersøkelse (survey) 5. Aksjonsforskning Sekundære metoder 6. Systematisk litteraturstudie 7. Meta-analyse Quiz 6. INF1050/ 29.4.2015 / Dag Sjøberg Slide 56 28

Spørreskjemaundersøkelser (Surveys ) INF1050/ 29.4.2015 / Dag Sjøberg Slide 57 Vanlig i samfunnet Krever lite ressurser å nå ut til mange Lager statistikk og tester hypoteser over egenskaper ved gruppen som studeres (målpopulasjon) Man får svar på hva folk mener om hva, hvor mye, hvor mange, hvordan og hvorfor eller hva folk sier de gjør I motsetning til eksperimenter kontrollerer man ikke de uavhengige og avhengige variable I motsetning til case studier og etnografi observerer man ikke Vanligvis data fra et utvalg. Men hvis populasjonen er alle i et firma eller prosjekt, kan hele populasjonen undersøkes INF1050/ 29.4.2015 / Dag Sjøberg Slide 58 29

Eksempler på temaer Identifisere problematiske områder i systemutvikling Mange uklare kravspesifikasjoner? Overskridelser i systemutviklingsprosjekter? Identifisere faktorer som påvirker en egenskap eller en betingelse Hvilke faktorer må være tilstede for vellykket innføring av UML i en organisasjon? INF1050/ 29.4.2015 / Dag Sjøberg Slide 59 Når egner spørreskjema-undersøkelser seg? Har du definerte hypoteser? Er det klart hvilke variable du ønsker å måle? Er det klart hvordan disse variablene skal måles? Er det klart at man kan få pålitelige svar? Kan du få et utvalg som er representativt og stort nok (responsrate) til å kunne si noe om målpopulasjonen? Hvis nei, er kanskje ikke en spørreskjemaundersøkelse egnet INF1050/ 29.4.2015 / Dag Sjøberg Slide 60 30

Spørreskjemaer type spørsmål Numeriske verdier, for eksempel alder Svarkategorier, for eksempel stillingstype Ja/Nei-svar Ordinalskala som vanligvis er bedre for holdninger og preferanser. Tre typer Enighetsskalaer, f.eks. 5-nivå Likert-skala med kategoriene: sterkt uenig, uenig, verken uenig eller enig, enig, sterkt enig Frekvensskala, for eksempel aldri, sjelden, av og til, ofte, alltid Evalueringsskalaer: svært dårlig, dårlig, passe, god, veldig god Åpne spørsmål INF1050/ 29.4.2015 / Dag Sjøberg Slide 61 Fire typer skalaer Nominal Verdiene tilhører kategorier uten rangering (rekkefølge), f.eks. farger, kjønn Ordinal Som nominal skala, men kategoriene rangeres, f.eks. lite, middels, mye eller aldri, sjelden, av og til, ofte, alltid Intervall Som ordinal, men avstanden mellom verdiene har betydning, f.eks. temperatur i Celsius Ratio (forholdstalls) kontinuerlige skala med et absolutt nullpunkt. Forholdet mellom verdier kan beregnes, f.eks. temperatur i Kelvin ( kan si: en verdi dobbelt så stor som en annen ) INF1050/ 29.4.2015 / Dag Sjøberg Slide 62 31

Plan Behovet for metodekunnskap Empiriske forskningsmetoder Primære metoder 1. Eksperiment 2. Case-studie 3. Etnografi 4. Spørreskjema-undersøkelse (survey) 5. Aksjonsforskning Sekundære metoder 6. Systematisk litteraturstudie 7. Meta-analyse Quiz INF1050/ 29.4.2015 / Dag Sjøberg Slide 63 Aksjonsforskning Praksis og teori tett integrert slik at både praksis og forskning lærer av hverandre Forskere og ansatte i organisasjoner erfarer sammen problemer og utfordringer, og lærer hvordan man takler dem Sammen utførere de aksjoner (tiltak for endring) for å forbedre situasjonen INF1050/ 29.4.2015 / Dag Sjøberg Slide 64 32

Aksjonsforskning prøver å oppnå praktisk nytte for organisasjonen samtidig med å fremskaffe ny teoretisk kunnskap INF1050/ 29.4.2015 / Dag Sjøberg Slide 65 Plan Behovet for metodekunnskap Empiriske forskningsmetoder Primære metoder 1. Eksperiment 2. Case-studie 3. Etnografi 4. Spørreskjema-undersøkelse (survey) 5. Aksjonsforskning Sekundære metoder 6. Systematisk litteraturstudie 7. Meta-analyse Quiz INF1050/ 29.4.2015 / Dag Sjøberg Slide 66 33

Sekundærstudier/sekundærforskning Analyse av tidligere publiserte enkeltstudier (primærstudier) for å frembringe mer generell kunnskap Systematisk litteraturstudie Meta-analyse INF1050/ 29.4.2015 / Dag Sjøberg Slide 67 Systematisk litteraturstudie Finner, evaluerer og setter sammen resultater fra en mengde enkeltstudier innen et tema til en helhet (syntese) INF1050/ 29.4.2015 / Dag Sjøberg Slide 68 34

Systematisk prosess Velg relevante (elektroniske) baser for søk etter primærstudier Søk etter primærstudier innen temaet Vurder kvaliteten på disse Samle inn dataene fra primærstudiene som har god nok kvalitet Sammenlign og oppsummer dataene fra de ulike primærstudiene Rapporter studien INF1050/ 29.4.2015 / Dag Sjøberg Slide 69 Eksempel: Utfra eksisterende studier, hva er fordelene og ulempene ved smidige metoder? I hvilken grad er det evidens eller forskningsmessig belegg for påstander angående smidig systemutvikling? Hva sier eksisterende studier om konsekvensene for næringsliv, industri og forskning? INF1050/ 29.4.2015 / Dag Sjøberg Slide 70 35

Plan Behovet for metodekunnskap Empiriske forskningsmetoder Primære metoder 1. Eksperiment 2. Case-studie 3. Etnografi 4. Spørreskjema-undersøkelse (survey) 5. Aksjonsforskning Sekundære metoder 6. Systematisk litteraturstudie 7. Meta-analyse Quiz INF1050/ 29.4.2015 / Dag Sjøberg Slide 71 Meta-analyse Hvis enkeltstudier er like mht uavhengige og avhengige variable (oftest eksperimenter), kan man bruke meta-analyse, dvs. statistiske metoder til å sammenligne og generalisere resultater fra flere studier I systemutvikling er ofte enkeltstudiene så ulike at det er vanskelig å kjøre statistikk over dem INF1050/ 29.4.2015 / Dag Sjøberg Slide 72 36

voice of evidence Editor: Forrest Shull Fraunhofer Center for Experimental Software Engineering, Maryland fshull@fc-md.umd.edu Eksempel på meta-analyse Are Two Heads Better than One? On the Effectiveness of Pair Programming Tore Dybå, Erik Arisholm, Dag I.K. Sjøberg, Jo E. Hannay, and Forrest Shull While working my way through graduate school in the mid-90s, I took every chance I had on summer and holiday breaks to go back to work as a software developer. Luckily, I worked for a great boss and a flexible organization, which could usefully put me back to work extending the applications I worked on during my previous visit. If there was a downside, it was that I usually got assigned to whichever random desk was open during each visit. All too often, I ended up at the dreaded solitary desk in the windowless server room, among the empty computer boxes and the walls of sheetrock and spackle. These experiences (which are not so uncommon, I suspect, among junior software developers) are probably among the reasons why I ve found pair programming (PP) so interesting. Many developers, and not just those who have ended up programming alone in windowless offices, have been excited by the paradigm shift, while others seem extremely annoyed by it. In both cases, perhaps the most important result is that PP leads to rethinking about the concept of development teams and about how individual programmers can best contribute to the project. Now that PP is several years old and has seen increasing interest and adoption, it s useful to consider what has been learned about its more specific effects. The evidence certainly provides proof of its benefit, although not in all cases and perhaps not in the contexts that many developers would have thought. Forrest Shull The familiar adages two heads are better than one, many hands make light work, and too many cooks spoil the broth suggest that working with others sometimes facilitates performance, yet sometimes hinders it. Pair programming is a collaborative approach that makes working in pairs rather than individually the primary work style for code development. Because PP is a radically different approach than many developers are used to, it can be hard to predict the effects when a team switches to PP. Luckily, we have evidence that takes a hard look at such effects. Because projects focus on different things, this article concentrates on understanding general aspects related to effectiveness, specifically project duration (the calendar time required to produce a given system), effort (the person-hours required), and quality (how good the final product is). Advocates claim that, when applied to new code development or used to maintain and enhance existing code, PP has many benefits over individual programming, such as producing higher-quality code in about half the time. 1 (Other claimed benefits include happier programmers and improved teamwork, knowledge transfer, and learning. We don t address these benefits in this article except insofar as these factors might impact effort, duration, or quality.) Interestingly, these claims seem at first to contradict decades of research in psychology focused on understanding productivity in small groups; such studies typically have found that small groups usually are less productive than expected for many tasks. 2 4 10 IEEE SOFTWARE Published by the IEEE Computer Society 0740-7459/07/$25.00 2007 IEEE INF1050/ 29.4.2015 / Dag Sjøberg Slide 73 VOICE OF EVIDENCE Kvalitet (a) Study P07a S06a S00 S03 S05b P07b S02 S06c S06b P98 S06d Overall effect Effect size Lower limit Upper limit 0.11 0.08 1.04 0.10 0.28 0.69 0.30 0.32 0.51 0.91 2.20 0.38 0.24 0.28 0.65 0.44 0.32 0.09 0.50 0.69 0.59 0.28 0.58 0.21 0.46 0.43 1.43 0.64 0.88 1.46 1.09 1.32 1.62 2.10 3.82 0.55 Effect size and 95% confidence interval Relative weight 23.24 22.85 18.64 9.80 7.95 4.73 4.53 2.81 2.33 2.02 1.09 Varighet (b) P07a 0.21 S05a 0.57 S01 0.16 S03 0.55 S05b 1.30 P07b 0.59 S02 0.05 P02 0.06 S06b 0.98 S06d 1.85 P98 4.09 Overall effect 0.40 0.13 0.07 0.40 0.03 0.64 1.37 0.84 1.08 0.24 0.34 1.98 0.21 0.54 1.07 0.73 1.14 1.95 0.20 0.74 1.21 2.20 3.35 6.20 0.59 33.33 15.24 11.83 10.97 8.66 6.09 6.01 2.87 2.51 1.65 0.84 Innsats (persontimer) (c) P07a 0.68 S05a 1.09 S05b 0.25 S05c 0.49 S06b 0.64 S06d 0.11 S06c 2.52 Overall effect 0.57 1.03 1.61 0.85 1.62 1.83 1.31 1.17 0.81 0.34 0.58 0.35 0.63 0.54 1.10 3.88 0.33 47.66 21.17 15.73 4.46 4.04 3.88 3.07 2.00 1.00 0.00 1.00 2.00 Favors solo programming Favors pair programming Figure 1. Meta-analyses of pair programming s effects on (a) quality, (b) duration, and (c) effort. outcome is shown. For each study, the square box indicates the estimated effect size, and the length of the line to either side of the square represents the 95 percent confidence interval for that estimate. (Studies with less variance have smaller confidence intervals.) The bottom line in each analysis contains a plot with a diamond, which indicates the overall effect size for the metaanalysis. The line s center and width give the estimated mean and its 95 percent confidence interval of the population effect size, respectively. Not all studies contribute equally to that overall conclusion. In each analysis, the studies are sorted by the relative weight that the study s effect size reby the size of each square). Each study s weight is inversely proportional to the variance. Estimates from larger studies will usually be more precise than those from smaller studies; so, larger studies will generally receive greater weight. Regarding PP s effect on quality, the meta-analysis shows a general agreement among the studies and suggests that PP leads to a medium-sized increase in quality compared with individual programming (effect size = 0.38). All the included studies show that PP positively affects quality, although most of these effect sizes are small to medium. Regarding duration, the meta-analysis suggests that PP has a medium-sized overall reduction of the time to deliver individual programming (effect size = 0.40). Unlike the analysis for quality, the studies on duration show a more mixed picture; two of the 11 studies show a negative effect, while the remaining nine show a positive effect. Regarding effort, the meta-analysis suggests that there s a medium-sized negative effect due to PP when compared with individual programming (effect size = 0.57). All but one study show a negative effect on effort that is, that working in pairs requires more person-hours to develop the same software. The one exception is study S06b. 9 However, the results of that study aren t directly comparable because this was the only study that compared teams of 37

Konklusjon Når noen påstår X, bør dere finne ut bakgrunnen for påstanden. Hvordan har man kommet fram til at X er gyldig (er sant)? Dvs. hvilken metode er brukt. Finnes mange metoder. De egner seg i mer eller mindre grad avhengig av hva man skal finne ut og konteksten (omgivelsene). Er metoden holdbar i dette tilfellet? INF1050/ 29.4.2015 / Dag Sjøberg Slide 75 Quiz - Kahoot INF1050/ 29.4.2015 / Dag Sjøberg Slide 76 38