Smidig systemutvikling og innføring i Scrum

Like dokumenter
Moderne systemutviklingsmetoder. Smidige prosesser Kjetil Jørgensen-Dahl Objectnet as

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

Bruk av HP Quality Center med smidige utviklingsmetoder. HP Sofware Norge

Introduksjon,l SCRUM. EB og TMG

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

Scrum. -nøkkelbegreper og noen personlige erfaringer

CONNECTING BUSINESS & TECHNOLOGY KURS OG SERTIFISERINGER - SCRUM

Et IT-prosjekt = et prosjekt uten styring, er det virkelig slik det er? Presentation hos UiO Ida Lau Borch, prosjektleder i Bouvet AS

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

Prosjektledelse - fra innsiden

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

SCRUM EB og TMG 2010

Slope-Intercept Formula

«Transferable skills», and what s in it for me?

verktøyskrin Grafisk profil ved Norges teknisk-naturvitenskapelige universitet

EN Skriving for kommunikasjon og tenkning

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

The CRM Accelerator. USUS February 2017

Digital Transformasjon

Midler til innovativ utdanning

Information search for the research protocol in IIC/IID

Improving Customer Relationships

Prosessmodeller og smidig programvareutvikling. INF1050: Gjennomgang, uke 02

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

verktøyskrin Grafisk profil ved Norges teknisk-naturvitenskapelige universitet

LEAN PLANNING I PROSJEKTBASERT INDUSTRI. NIMA SCM Gabriele Hofinger Jünge

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

Chapter 3 Agile Software Development. Slides by Ian Sommerville Modified by Letizia Jaccheri Topics covered

Undervisning i Smidige metoder ved Universitetet i Oslo

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

Medisinsk statistikk, KLH3004 Dmf, NTNU Styrke- og utvalgsberegning

Kanban. Anine Ragnif

FIRST LEGO League. Härnösand 2012

The regulation requires that everyone at NTNU shall have fire drills and fire prevention courses.

En praktisk innføring i team-basert læring

Bostøttesamling

SCRUMGUIDEN. Et hjelpemiddel for deg som ønsker å komme i gang med Scrum

The Future of Academic Libraries the Road Ahead. Roy Gundersen

Grunnlag: 11 år med erfaring og tilbakemeldinger

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

5 E Lesson: Solving Monohybrid Punnett Squares with Coding

Smidig utvikling NTNU Tor-Erik Mathisen

Prosjektet Digital kontaktinformasjon og fullmakter for virksomheter Digital contact information and mandates for entities

Erfaringer fra bruk av Scrum i PS2000-prosjekter NSP temadag Agile metoder i prosjekt Motivasjon av kunder og Nyttige verktøy

Management of the Construction Process, from the perspective of Veidekke

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

Legacy System Exorcism by Pareto s Principle. Kristoffer Kvam/Rodin Lie Kjetil Jørgensen-Dahl

Examination paper for (BI 2015) (Molekylærbiologi, laboratoriekurs)

CTL & LOS Norge Workshops

Forbedringsmodellen er viktig, men hva med alt det andre?

En praktisk anvendelse av ITIL rammeverket

matematikk s F4814A8B1B37D77C639B3 Matematikk S1 1 / 6

Enkel og effektiv brukertesting. Ida Aalen LOAD september 2017

Hanne Solheim Hansen, Hugo Nordseth, Grete Ingemann Knudsen, Kaja Skårdal Hegstad, Jose de Pool, Just Kornfeldt,

Administrasjon av postnummersystemet i Norge Post code administration in Norway. Frode Wold, Norway Post Nordic Address Forum, Iceland 5-6.

Retrospektiv ( ) Planleggingsmote Daglig stand-up Sprint review C) qik. .F.,. - -.g? ' -I,-, :N. Viktoria Stray. viktoria.strayggmail.

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

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

GJENNOMGANG UKESOPPGAVER 2 PROSESSMODELLER OG SMIDIG PROGRAMVAREUTVIKLIG

NOVAPOINT BRUKERMØTE 2016 BERGEN, mai

Introduction to DK- CERT Vulnerability Database

Elektronisk innlevering/electronic solution for submission:

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

Microsoft Dynamics C5 Version 2008 Oversigt over Microsoft Reporting Services rapporter

Hvordan komme i gang med ArchiMate? Det første modelleringsspråket som gjør TOGAF Praktisk

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

Emnedesign for læring: Et systemperspektiv

Neural Network. Sensors Sorter

VELKOMMEN TIL WHAT S HOT #EVRYWHATSHOT

ISO 41001:2018 «Den nye læreboka for FM» Pro-FM. Norsk tittel: Fasilitetsstyring (FM) - Ledelsessystemer - Krav og brukerveiledning

Erfaringer fra en Prosjektleder som fikk «overflow»

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

Agile Software Development. extreme Programming (XP)

Kost-nytte innen sikkerhet: Hva er prisen, hva er verdien, og hvordan prioritere blant tiltak?

ESTIMERING I SMIDIGE PROSJEKTER

Bibliotekundervisningens fremtid nytt fokus på metodikk og digitalisering

Workshop 2: Med fokus på forvaltning av grunndata i M3

Agile Software Development. extreme Programming (XP) Pair Programming

Brukers Arbeidsflate. Tjeneste Katalog. Hva vi leverer... Presentasjon Administrasjon Automatisering

Hvordan føre reiseregninger i Unit4 Business World Forfatter:

HVORDAN SKAPE TRIVSEL, STOLTHET OG EIERSKAP OG SAMTIDIG VÆRE GODE PÅ INNOVASJON? NINA MOI EDVARDSEN SVP Organizational Development Schibsted Norge

PLAN. INF5180 Produkt og prosessforbedring i systemutvikling DEL 8 Valg av prosessmodell. Geir Amsjø. CHECK

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

Software Requirements and Design (SRD) 1 Generelt om dokumenter

GEO231 Teorier om migrasjon og utvikling

Universell Utforming. IN Software Engineering med prosjektarbeide. Tirsdag 12 Mars 2019 Jo

Smart High-Side Power Switch BTS730

Vedlegg 2 Dokumentasjon fra TVM leverandør

UNIVERSITETET I OSLO

Bedre prosjektvirksomhet med gode veiledere for prosjektledelse

Appendix B, not for publication, with screenshots for Fairness and family background

Juridiske aspekter ved publisering i åpne institusjonelle arkiv

TriCOM XL / L. Energy. Endurance. Performance.

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

Viktig informasjon om omlegging til Windows 10

Transkript:

Smidig systemutvikling og innføring i Scrum Forelesning, Systemutvikling 22. januar 2008 Torgeir Dingsøyr Førsteamanuensis II, IDI, NTNU 1

Agenda Smidig utvikling Hva er smidighet Hvilke metoder finnes Balansere smidighet og disiplin Innføring i Scrum Hva er Scrum Prosessmodell og roller i Scrum Roller i Scrum Artefakter i Scrum Prosesser i Scrum 2

Tilpasning av utviklingsmodell Personnel (% Level 1B) (% Level 2&3) 40 15 30 20 20 25 Criticality (Loss due to impact of defects) 10 30 Dynamism (% Requirements-change/month) Many Lives Single Life Essential Funds 0 Discretionary Funds Comfort 35 50 30 10 5 1 3 90 Agile Disciplined 10 70 30 50 100 30 Size (# of personnel) Kilde: Cockburn, gjengitt i Boehm & Turner, 2003 300 10 Culture (% thriving on chaos vs. order) 3

Life cycle support (smidige metoder) New directions on agile methods: a comparative analysis: Abrahamsson, P.; Warsta, J.; Siponen, M.T.; Ronkainen, J.; Software Engineering, 2003. Proceedings. 25th International Conference on Software Engineering, May 2003 Page(s):244-254 4

Praksiser i ekstremprogrammering (XP) The Planning Game Small releases Metaphor Simple design Testing Refactoring Pair programming Collective ownership Continuous integration 40-hour-week On-site customer Coding standards Beck, K., Extreme Programming Explained. 2000: Addison-Wesley. 190 pages. 5

Scrum 6

Scrum En metode for prosjektstyring og prosjektkontroll Viktige konsepter er: Kontinuerlig utvikling av kravforståelsen Kunden/brukeren er en viktig aktør Inkrementell utvikling av resultatet Ekstremt høy synlighet av Progresjon/status på resultat Ressurssituasjonen Problemer/hindringer 7

The New New Product Development Game Six pieces in a jigsaw puzzle: Built-in instability Self-organizing teams Overlapping development fases Multilearning Subtle control Organizational transfer of learning Teamet får en tøff utfordring, men også stor frihet i hvordan den løses. Teamet er selvstyrt, kan se bort fra tradisjonelle løsninger, og søke kunnskap på tvers av fagområder. Overlappende faser forbedrer samarbeid, sprer kompetanse og forbedrer ressursutnyttelse, men kan også komplisere eksterne avhengigheter. Spredning av erfaringer i organisasjonen ved å bruke folk i nye prosjekter. Ledelsen avgir direkte kontroll, men får egenkontroll, gruppekontroll og annen subtil kontroll gjennom å opptre støttende og belønne teamets resulater. Siden teamet selv må søke informasjon for å finne svaret på utfordringen vil læring foregå mellom organisasjonsnivåer og ulike funksjoner. Kilde: Kjetil Jørgensen Dahl, NOS Clearing ASA 8

Scrum origins Scrum Jeff Sutherland Initial Scrums at Easel Corp in 1993 IDX and nearly 600 people doing Scrum Not just for trivial projects FDA-approved, life-critical software for x-rays and MRIs Ken Schwaber ADM Initial definitions of Scrum at OOPSLA 96 with Sutherland Mike Beedle Scrum patterns in PLOPD4 Kilde:Introduction to Scrum, Mountain Goat Software 9

Tilpasning Scrum må tilpasses settingen den skal brukes i! Laget for profesjonelle utviklere som bruker mesteparten av tiden i et prosjekt 10

Scrum prosessmodell Kilde: www.controlchaos.com 11

Elementer i Scrum Prosesser Sprint Planning Meeting Sprint Daily Scrum Meeting Sprint Review Meeting Sprint Retrospective Meeting Artifakter Vision Product Backlog Sprint Backlog Burndown Chart Roller Product Owner Scrum Team ScrumMaster (Stakeholders) Kilde: Kjetil Jørgensen Dahl, NOS Clearing ASA 12

Project team in a daily stand-up meeting Customers and project managers working together 13

Roller i Scrum Product owner Definerer hvilke features et produkt skal ha Prioriterer features Kan akseptere eller forkaste resultater Scrum master Ansvar for at teamet fungerer Tar tak i problemer og sørger for løsning Skjermer teamet fra forstyrrelser Teamet Kryssfunksjonelt, lite team Selvorganiserende Viser resultater til product owner 14

Artefakter i Scrum Vision - visjon for produktet (hva skal stå på boksen programvaren kommer i?) Product backlog en prioritert liste med alle krav. Oppdateres hele tiden av en product owner. Sprint backlog scrum-teamets egen liste over hva som skal gjøres i denne sprinten. Burndown chart - graf over gjenstående tid på oppgavene i sprinten. 15

A sample product backlog Backlog item Estimate Allow a guest to make a reservation 3 As a guest, I want to cancel a reservation. 5 As a guest, I want to change the dates of a reservation. 3 As a hotel employee, I can run RevPAR reports (revenueper-available-room) 8 Improve exception handling 8... 30... 50 Kilde: Mountain Goat Software 16

A sprint backlog Tasks Mon Tues Wed Thur Fri Code the user interface 8 4 8 Code the middle tier 16 12 10 4 Test the middle tier 8 16 16 11 8 Write online help 12 Write the foo class 8 8 8 8 8 Add error logging 8 4 Kilde: Mountain Goat Software 17

A sprint burndown chart Hours Kilde: Mountain Goat Software 18

Tasks Code the user interface Code the middle tier Test the middle tier Write online help Mon 8 16 8 12 Tues Wed Thur Fri 4 8 12 10 7 16 16 11 8 50 40 Hours 30 20 10 0 Mon Tue Wed Thu Fri 19

Prosesser i Scrum Sprint planning Daily Scrum Sprint Review Sprint Retrospective 20

Team capacity Product backlog Business conditions Current product Technology Sprint planning meeting Sprint prioritization Analyze and evaluate product backlog Select sprint goal Sprint planning Decide how to achieve sprint goal (design) Create sprint backlog (tasks) from product backlog items (user stories / features) Estimate sprint backlog in hours Sprint goal Sprint backlog Kilde: Mountain Goat Software 21

Sprint planning Team selects items from the product backlog they can commit to completing Sprint backlog is created Tasks are identified and each is estimated (1-16 hours) Collaboratively, not done alone by the ScrumMaster High-level design is considered As a vacation planner, I want to see photos of the hotels. Code the middle tier (8 hours) Code the user interface (4) Write test fixtures (4) Code the foo class (6) Update performance tests (4) Kilde: Mountain Goat Software 22

Brukerhistorier Mange skriver brukerhistorier på kort Kort: Som en <rolle> ønsker jeg <funksjon> slik at <mål> Fordel mer fysisk kort Synlighet. Kan henges på vegg. Kan flyttes for å markere prioritering. Lett å legge til info Testkriterier Tidsestimat Tid brukt 23

Kort Kilde: Helen Sharp: Collaboration and Co-ordination in mature XP teams 24

Vegg Mange bruker en vegg hvor de henger opp brukerhistorier Kortene grupperes etter: Ikke startet Under arbeid Ferdig Dersom man ikke har mulighet til å ha kort hengede på en vegg går det an å bruke en flip-over som man ruller sammen etter arbeidsøkten 25

Konkretisering over tid Kilde: Nils Christian Haugen: Brukerhistorier, innlegg på dataforeningen-faggruppe Smidig utvikling, 13. November 2007. 26

Daily scrum Parameters Daily 15-minutes Stand-up Not for problem solving Whole world is invited Only team members, ScrumMaster, product owner, can talk Helps avoid other unnecessary meetings Kilde: Mountain Goat Software 27

Everyone answers 3 questions What did you do yesterday? 1 What will you do today? Is anything in your way? 2 3 These are not status for the ScrumMaster They are commitments in front of peers Kilde: Mountain Goat Software 28

The sprint review Team presents what it accomplished during the sprint Typically takes the form of a demo of new features or underlying architecture Informal 2-hour prep time rule No slides Whole team participates Invite the world Kilde: Mountain Goat Software 29

Sprint retrospective Periodically take a look at what is and is not working Typically 15 30 minutes Done after every sprint Whole team participates ScrumMaster Product owner Team Possibly customers and others Kilde: Mountain Goat Software 30

Start / Stop / Continue Whole team gathers and discusses what they d like to: Start doing Stop doing This is just one of many ways to do a sprint retrospective. Continue doing Kilde: Mountain Goat Software 31

Scrum oppsummering 32

Verktøy Mange kommersielle prosjektstyringsverktøy som følger scrum Freeware: ScrumWorks Basic 33

34

Referanser Agile Software Development with SCRUM by Ken Schwaber and Mike Beedle Balancing Agility and Discipline: A Guide for the Perplexed by Barry Boehm and Richard Turner 35

Referanser Abrahamsson, P., Salo, O., Ronkainen, J. and Warsta, J. Agile software development methods - Review and analysis. VTT Publications 478, VTT Electronics, 2002. Boehm, B., Get Ready for Agile Methods, with Care, in IEEE Computer. 2002. p. 64-69. Cohen, D., M. Lindvall, and P. Costa, An Introduction to Agile Methods, in Advances in Computers, Advances in Software Engineering, M.V. Zelkowitz, Editor. 2004, Elsevier: Amsterdam. Dybå, T. and T. Dingsøyr, Empirical Studies of Agile Software Development: A Systematic Review. Submitted to Information and Software Technology, 2008. Nerur, S., R. Mahapatra, and G. Mangalaraj, Challenges of migrating to agile methodologies. Communications of the ACM, 2005. May: p. 72-78. Takeuchi, H. and Nonaka, I. The New New Product Development Game. Harward Buisiness Review, (1986) www.agilealliance.org www.agilemanifesto.org www.extremeprogramming.org www.controlchaos.com 36