GJENNOMGANG UKESOPPGAVER 2 PROSESSMODELLER OG SMIDIG PROGRAMVAREUTVIKLIG

Like dokumenter
UKE 9 Prosesser og prosessmodeller inkludert smidige metoder. Gruppetime INF1055

Prosessmodeller og smidig programvareutvikling. INF1050: Gjennomgang, uke 02

Løsningsforslag Sluttprøve 2015

GJENNOMGANG UKESOPPGAVER 7 REPETISJON

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

Kravhåndtering. INF1050: Gjennomgang, uke 03

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

Eksamen INF1050: Gjennomgang, uke 15

Kap 11 Planlegging og dokumentasjon s 310

11 Planlegging og dokumentasjon

CONNECTING BUSINESS & TECHNOLOGY KURS OG SERTIFISERINGER - SCRUM

UKE 10 Kravhåndtering. Gruppetime INF1055

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

Kontrakter. INF1050: Gjennomgang, uke 12

Oppgave 1: Multiple choice (20 %)

GJENNOMGANG UKESOPPGAVER 13 KONTRAKTER

GJENNOMGANG OBLIGATORISK OPPGAVE 1

GJENNOMGANG UKESOPPGAVER 4 USE CASE MODELLERING HELGA NYRUD & KRISTIN BRÆNDEN

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

Prosessmodeller og smidig programvareutvikling

Introduksjon,l SCRUM. EB og TMG

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

GJENNOMGANG UKESOPPGAVER 3 KRAVHÅNDTERING

GJENNOMGANG UKESOPPGAVER 9 TESTING

Prøveeksamen INF1050: Gjennomgang, uke 15

Oppgave 1 Multiple Choice

Konfigurasjonsstyring. INF1050: Gjennomgang, uke 11

Modellering IT konferanse

Prosessmodeller og smidig programvareutvikling

UKE 16 Kontrakter. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski

Teamarbeid og smidig metodikk. Lean og Scrum. Prosjektarbeid

Undervisning i Smidige metoder ved Universitetet i Oslo

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

Prosjektledelse, prosjektplanlegging, teamarbeid

UNIVERSITETET I OSLO

Eksamen 2013 Løsningsforslag

UNIVERSITETET I OSLO

Prosjektledelse - fra innsiden

Prosjektledelse, prosjektplanlegging, teamarbeid

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

Prosjektledelse, prosjektplanlegging, teamarbeid

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

UNIVERSITETET I OSLO

Velkommen til andre del av IN1030

Forside. Eksamen i IN1030 for Våren Ingen hjelpemidler tillatt.

SCRUM EB og TMG 2010

Forside Eksamen INF1055 V17

Velkommen til andre del av INF1055 Introduksjon til systemutvikling Prosesser og prosessmodeller

Scrum. en beskrivelse V

UKEOPPGAVER 2: SYSTEMUTVIKLINGSPROSESSER OG PROSJEKTARBEID INNSPILL TIL SVAR

Obligatorisk oppgave 1 INF1050 Foranalyse og kravhåndtering. av Andreas Johansen Alexander Storheill Martin Dørum Nygaard Tobias Langø Aasmoe

Inf1055 Modul B 26 april 2017:

Smidig metodikk, erfaringer fra NAV Fagportal

Mellom barken og veden Smidig testing i krevende terreng TTC 2015

IN januar Introduksjon. IN2000%>Introduksjon 1

Scrum. -nøkkelbegreper og noen personlige erfaringer

Forskningsmetoder. INF1050: Gjennomgang, uke 13

Systemarkitektur. INF1050: Gjennomgang, uke 07

PROSJEKTPLAN FOR INF [4 3]120-PROSJEKT: PROJECT HOSPITAL 2004

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

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

Øko-system for innovasjon og distribuerte team

Forprosjektrapport. Presentasjon. Studentgruppen. Bekk Consulting AS. Android app for aktivering av jakt- og fiskekort

Gruppetime

Systemutvikling - oppsummering. Alexander Nossum blog.eksplisitt.net 22. mai 2006

Oppgaver uke 42. Systemutvikling

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

Elektronisk kurve i DIPS: Lang marsj fra ide til ferdig løsning

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

Scrum og offshoring En studie av prosjekter som benytter Scrum kombinert med offshoring

Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling

Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling

Use Case-modellering. INF1050: Gjennomgang, uke 04

Estimering. INF1050: Gjennomgang, uke 09

Gjennomgang av prøveeksamen. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski

Verdien av god leverandørtesting i konstruksjonsfasen i smidige prosjekter

prosjektarbeid Forelesning 3 - INF1050 Systemutvikling

prosjektarbeid Forelesning 3 - INF1050 Systemutvikling Eksempel Evolusjonære modeller Utviklingsprosesser Evolusjonære modeller Foranalyse

UKE 11 UML modellering og use case. Gruppetime INF1055

Making IT your winning asset

Kravspesifikasjon. Android app for aktivering av jakt- og fiskekort. Bacheloroppgave vår Høgskolen i Oslo og Akershus. Charlotte Sjøthun s180495

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

KRAVSPESIFIKASJON. Tittel: Pris++ Oppgave: Utvikle en Android applikasjon med tilhørende databasesystem. Periode: 1. Januar til 11. Juni.

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

Ny kontraktsstandard fra Dataforeningen: Fleksibel utviklingskontrakt

Model Driven Architecture (MDA) Interpretasjon og kritikk

Ledelse av systemutviklingsprosjekter

Smidig utvikling NTNU Tor-Erik Mathisen

Konfigurasjonsstyring

Et IT-prosjekt = et prosjekt uten styring, er det virkelig slik det er?

DevOps og Lean Startup: Eksempler fra virkeligheten. Eivind Arvesen

Forprosjektrapport. Sammendrag. Hovedoppgave våren 2019 Gruppe 3

Kanban. Anine Ragnif

Prosess for systemutvikling i Difi. Versjon 1.0

Forprosjektrapport. Gruppe 3, Anvendt Datateknologi våren 2016

Every product every fast, flexible flow

IT I PRAKSIS!!!!! IT i praksis 20XX

FINN kundesenter. Hvordan FINN.no utnytter kundeinnsikt til produktutvikling. Anne Sandvin

Transkript:

GJENNOMGANG UKESOPPGAVER 2 PROSESSMODELLER OG SMIDIG PROGRAMVAREUTVIKLIG INF1050 V16

HVA ER EN SYSTEMUTVIKLINGSPROSESS? De aktivitetene som utføres for å utvikle et IT-system Eksempler på aktiviteter: - Planlegging - Kravinnsamling og -analyse - Design - Programmering/koding - Testing

HVA ER EN PROSESSMODELL? - En forenklet representasjon av en prosess - Sier noe om hvordan vi bør gjennomføre systemutviklingen - En slags oppskrift for hvordan vi bør gå frem for å utvikle systemet - Skiller mellom modeller av prosesser - det vi sier vi skal gjøre, og den faktiske systemutviklingsprosessen - det vi faktisk gjør

1 HVORFOR ER DET VIKTIG Å DEFINERE PROSESSMODELLER PÅ ULIKE NIVÅER?

LØSNINGSFORSLAG OPPGAVE 1 - Generelle modeller inneholder lite detaljer - Må tilpasse prosessen etter de ulike prosjektene - Kan f.eks tilpasse aktiviteter, roller, ansvarsforhold og frekvens på rapporter

2 A) BESKRIV FOSSEFALLSMODELLEN

LØSNINGSFORSLAG OPPGAVE 2A - En plandreven prosessmodell - Separate faser, gjør i hovedsak en aktivitet ferdig før man går videre til neste - Går i utgangspunktet ikke tilbake til en aktivitet når man er ferdig med den - Er derfor mindre tilpasset endringer i kravene underveis

FOSSEFALLSMODELLEN Kravspesifisering Forenklet modell Design av systemet Implementasjon Testing Vedlikehold

2 B) FORKLAR FORSKJELLEN PÅ SMIDIG OG PLANDREVET UTVIKLING

LØSNINGSFORSLAG OPPGAVE 2B Plandrevet: - Prosessaktivitetene planlagt på forhånd. Progresjon måles i henhold til planen - En tung prosess inkluderer mange aktiviteter og ofte roller. Krever formelle, detaljerte og konsistente prosjektdokumenter - Ofte for-tunge Smidig: - Planleggingen gjøres litt etter litt (inkrementelt) - Enklere a endre prosessen for a tilpasse endrede krav fra kunden - Fokuserer mer pa fundamentale prinsipper (f.eks. kontinuerlig testing ). Har færre formelle dokumenter og er ofte mer iterative DAG SJØBERG

2 C) FORESLÅ ET UTVIKLINGSPROSJEKT DER DET KAN VÆRE GUNSTIG Å BENYTTE FOSSEFALLSMODELLEN

LØSNINGSFORSLAG OPPGAVE 2C Det finnes en rekke kjente systemer som har en endelig og fastsatt kravspesifikasjon. Med stabile krav, kan man ofte med sikkerhet anvende en plandreven prosess. Eksempel: Kalkulator

LØSNINGSFORSLAG OPPGAVE 2C Det eksisterer også en rekke systemer som er kritiske. Dette betyr at en eventuell systemfeil kan forårsake tap av menneskeliv eller andre store verdier. Slike systemer bør i utgangspunktet ikke leveres inkrementelt og det settes krav til at kravspesifikasjonen er komplett før utviklingen starter. Eksempel: Flytrafikksystemer, atomreaktor og lignende

LØSNINGSFORSLAG OPPGAVE 2C Om noen eller flere av de følgende faktorene er tilstede, kan det være gunstig å benytte fossefallsmodellen: Systemet som skal utvikles er stort Det er store geografiske avstander mellom utviklerne Systemet som skal utvikles er velkjent Systemet er et kritisk sanntidssystem

SMIDIG UTVIKLING - Det finnes ulike smidige utviklingsmetoder, eksempler fra dette kurset er Scrum, XP og Kanban - Fokus på å håndtere endringer underveis i prosessen - Inkrementell utvikling - Inkrement: Tillegg i funksjonalitet - Iterasjon: Syklus i prosessen

3 NEVN NOEN PRAKSISER SOM BLIR BENYTTET I EXTREME PROGRAMMING (XP)

EXTREME PROGRAMMING (XP) Smidig utviklingsmetode Programmeringsfokusert Levering til kunden annenhver uke All kode som skal legges til må kjøres gjennom tester - består den ikke testene legges den ikke til

LØSNINGSFORSLAG OPPGAVE 3 Inkrementell planlegging Test-først-utvikling Refaktorering Kunde på stedet Kollektivt eierskap Parprogrammering

4 A) HVA ER SCRUM?

LØSNINGSFORSLAG OPPGAVE 4A - En smidig utviklingsmetodikk - Inkrementell utvikling - Jobber med oppgavene i tidsintervaller (sprinter)

EMILIE HALLGREN OG KRISTIN BRÆNDEN SCRUM - FORENKLET MODELL NB! Flere sprinter SPRINTER PLANLEGGING AVSLUTNING GJENNOMFØRING

4 B) HVA ER EN SPRINT, OG HVILKE ULIKE FASER BESTÅR DEN AV?

LØSNINGSFORSLAG OPPGAVE 4B FASER: ASSESS - Vurderer nye og/eller eksisterende oppgaver (krav, brukerhistorier) i product backlog. Hva er målet med sprinten? SELECT - Velge oppgaver til sprint. Her velger man de mest prioriterte oppgavene i product backlog ut fra hvor mye teamet har av kapasitet per sprint IMPLEMENT - Her skal Scrum Master beskytte teamet fra forstyrrelser og teamet skal implementere oppgavene som har blitt valgt for sprinten EVALUATION -Evaluere hvordan sprinten gikk. Ble vi ferdig med alle målene vi satte oss? Var det dette kunden ville ha?

4 C) HVA ER EN SCRUM MASTER?

SCRUM TEAM Et tverrfaglig team som skal utvikle inkrementet i hver sprint. Alle utover de to øvrige rollene er likestilte, og enhver har ansvar for å bidra med sin kompetanse under en sprint. ROLLER I SCRUM SCRUM MASTER Ansvarlig for å holde daily- standups og å beskytte utviklingsteamet mot forstyrrelser fra blant annet kunde. I implementeringsfasen er det derfor Scrum Master som hovedsakelig skal ta seg av all kundekontakt. PRODUKTEIER Eier av visjon og representant for interessentene. Ansvarlig for product backlog og for hvilke oppgaver som skal prioriteres. Produkteier skal aldri være Scrum Master.

4 D) HVA ER EN BACKLOG?

LØSNINGSFORSLAG OPPGAVE 4D En prioritert liste med arbeidsoppgaver som skal utføres i prosjektet. Produkteieren har ansvar for å vedlikeholde denne listen. Består ofte av brukerhistorier (brukerhistorier kommer senere i kurset).

5 A) HVA ER KANBAN?

LØSNINGSFORSLAG OPPGAVE 5A Kanban er en teknikk fra lean production, basert på prinsipper fra Toyota, for å finne et system som forbedrer og opprettholder et høyt nivå av produksjon. Man gjør en oppgave til den er ferdig uten å nødvendigvis sette en tid for dette, slik at man sikrer god utførelse, dvs. man bruker ikke tidsbokser. Når en oppgave er utført, velger man en ny. Basert på hva som er viktigst der og da.

LØSNINGSFORSLAG OPPGAVE 5A Oppstår det et kritisk problem underveis, stopper man produksjonen og fokuserer all energi på å løse problemet, før man fortsetter normal produksjon. Dette skal hindre at problemer hoper seg opp og at de blir løst. WIP (Work in Progress) i Kanban angir maks antall oppgaver som kan utføres til enhver tid. Ved å ikke gjøre flere oppgaver til enhver tid enn teamet tåler, skal det sikre prosjektet god flyt.

5 B) BESKRIV FORSKJELLENE PÅ SCRUM OG KANBAN

LØSNINGSFORSLAG OPPGAVE 5B Kanban baserer seg på arbeidsflyt (jobber med en oppgave til den er ferdig). Scrum baserer seg på tidsbokser (velger oppgaver til en sprint som varer et visst antall uker) med mer definerte faser og roller.

6 FORESLÅ ET UTVIKLINGSPROSJEKT DER DET KAN VÆRE GUNSTIG Å BENYTTE SMIDIG UTVIKLING

LØSNINGSFORSLAG OPPGAVE 6 Noen utviklingsprosjekter der det kan være gunstig å benytte smidig utvikling: Interaktive applikasjoner Utvikling av nye idéer Ved små utviklingsteam og prosjekter Prosjekter hvor det er sannsynlig at kravspesifikasjonen endres underveis

7 Et system utvikles i henhold til en presis og detaljert kravspesifikasjon skrevet av kunden. Systemutviklerne har argumentert for å bruke fossefallsmodellen. Det er først under testing at kunden begynner å ane at det var mangler ved kravspesifikasjonen. Systemet tas i bruk og brukerne oppdager at systemet er ubrukelig fordi det ikke løser deres problem. Diskuter hva som kunne vært gjort for å hindre eller redusere dette problemet.

LØSNINGSFORSLAG OPPGAVE 7 Hvordan man kunne ha forhindret eller redusert dette problemet: Levere inkrementelt La bruker prøve tidlige versjoner i sitt naturlige miljø, slik at utviklingsteamet kan få bekreftet at de er på riktig vei tidligere i prosjektet Involvere kunden i større grad Hvilke(t) problem(er) er det kunden egentlig trenger å få løst?

TAKK FOR MEG Spørsmål? Informasjonen er hovedsaklig basert på forelesningsfoilene, samt fjorårets presentasjon laget med Emilie Hallgren