Prosessmodeller og smidig programvareutvikling
|
|
- Alexandra Hagen
- 8 år siden
- Visninger:
Transkript
1 1/21/14 INF1050: Systemutvikling 22. januar 2014 Prosessmodeller og smidig programvareutvikling Professor Dag Sjøberg Slide 1 INF1050/ / Dag Sjøberg Plan Kap. 2: Begrepet prosessmodell Prosessmodeller og prinsipper for utvikling Fossefallsmodellen Inkrementell og iterativ utvikling Prototyping Spiralmodellen Rational Unified Process (RUP) Gjenbruksbasert utvikling Kap. 3 Begreper og prinsipper innen smidig utvikling Programmeringsfokuserte smidige metoder Ekstrem programmering (XP) Prosessfokuserte smidige metoder Tidsboksbasert (Scrum) Flytbasert (Kanban) Lean systemutvikling Oppsummering smidige metoder INF1050/ / Dag Sjøberg Slide 2 1
2 Reell prosess versus modell av prosess Systemutviklingsprosess (= faktisk, reell prosess): de aktivitetene som utføres i et utviklingsprosjekt Prosessmodell (=formell prosess) (kalles også gjennomføringsmodell) En abstrakt, forenklet representasjon av en prosess Deskriptiv beskriver en prosess slik vi mener vi utfører den Normativ (preskriptiv) beskriver en prosess slik noen mener den bør være (vanligste betydning) INF1050/ / Dag Sjøberg Slide 3 Modell versus virkelighet INF1050/ / Dag Sjøberg Slide 4 2
3 1/21/14 Formell versus reell prosess Det vi sier vi gjør eller det vi bør gjøre Det vi gjør Prosessbeskrivelse Prosessutførelse Slide 5 INF1050/ / Dag Sjøberg Nivåer av prosessmodeller Generelle prosessmodeller (fossefall, spiral, RUP, Scrum etc.) Definerte prosessmodeller (formell prosess) Firma-spesifikke prosessmodeller Prosjekt/gruppe-spesifikke prosessmodeller Prosess-samsvar Reell prosess INF1050/ / Dag Sjøberg Systemutviklingsprosess Slide 6 3
4 Hvordan tilpasse prosesser? Prosesser må tilpasses ingen prosjekter er like Mange faktorer påvirker prosessen Hva kan tilpasses? Antall faser/aktiviteter, roller, ansvarsforhold, dokumentformater, formalitet/frekvens på rapporter og gjennomganger Hvordan tilpasse? 1. Identifiser prosjektomgivelser utviklingsstrategi, risiko, krav, applikasjonsområde, type kunde etc. 2. Innhent synspunkter fra utviklere, brukere, kunder 3. Definer prosesser, aktiviteter og roller 4. Dokumenter og begrunn tilpasningene INF1050/ / Dag Sjøberg Slide 7 Myndighetene anbefaler felles prosjektmodell For å sikre kvalitet anbefaler myndighetene at offentlige virksomheter skal bruke en felles prosjektmodell. Er det lurt? Ulempe Sjelden at samme modell passer for alle type virksomheter Fordel Læring på tvers av etater Se artikkel i Aftenposten: INF1050/ / Dag Sjøberg Slide 8 4
5 Plan Kap. 2: Begrepet prosessmodell Prosessmodeller og prinsipper for utvikling Fossefallsmodellen Inkrementell og iterativ utvikling Prototyping Spiralmodellen Rational Unified Process (RUP) Gjenbruksbasert utvikling Kap. 3 Begreper og prinsipper innen smidig utvikling Programmeringsfokuserte smidige metoder Ekstrem programmering (XP) Prosessfokuserte smidige metoder Tidsboksbasert (Scrum) Flytbasert (Kanban) Lean systemutvikling Oppsummering smidige metoder INF1050/ / Dag Sjøberg Slide 9 Fossefallsmodellen Requirements definition System and software design Implementation and unit testing Integration and system testing Operation and maintenance I prinsippet går man ikke tilbake til tidligere hovedaktiviteter før systemet er satt i drift. INF1050/ / Fra Dag Ian Sjøberg Sommerville Slide 10 5
6 Kjennetegn ved fossefallsmodellen Plandrevet, dvs. utviklingen styres av planer. Separate faser Vanskelig å tilpasse endringer i brukerkrav underveis Best ved godt forståtte krav og når det er lite sannsynlig med mye endringer underveis Men få systemer har stabile krav Brukes mest i store prosjekter som gjerne utvikles på ulike steder. Plandreven utvikling gjør det enklere å koordinere arbeidet Men brukes også i små, godt forståtte prosjekter (jfr. de 4 bedriftene som lagde samme system) INF1050/ / Dag Sjøberg Slide 11 Plan Kap. 2: Begrepet prosessmodell Prosessmodeller og prinsipper for utvikling Fossefallsmodellen Inkrementell og iterativ utvikling Prototyping Spiralmodellen Rational Unified Process (RUP) Gjenbruksbasert utvikling Kap. 3 Begreper og prinsipper innen smidig utvikling Programmeringsfokuserte smidige metoder Ekstrem programmering (XP) Prosessfokuserte smidige metoder Tidsboksbasert (Scrum) Flytbasert (Kanban) Lean systemutvikling Oppsummering smidige metoder INF1050/ / Dag Sjøberg Slide 12 6
7 Inkrementer og iterasjoner i systemutvikling Et inkrement er et tillegg i funksjonaliteten et aspekt ved systemet En iterasjon er en syklus i utviklingen et aspekt ved prosessen Et nytt inkrement utvikles gjennom en ny iterasjon En ny iterasjon kan også forbedre kvaliteten på samme funksjonalitet, dvs. man lager ikke noe nytt inkrement, men bare forbedrer det eksisterende systemet INF1050/ / Dag Sjøberg Slide 13 Inkrementell utvikling Systemet utvikles gradvis i form av nye inkrementer som blir lagt til. Hvert inkrement evalueres før utviklingen av neste inkrement starter Vanlig tilnærming i smidige metoder Evalueringen gjøres av en bruker- eller kunderepresentant ( product owner ) INF1050/ / Dag Sjøberg Slide 14 7
8 Inkrementell installering Istedenfor at hele systemet leveres til kunden på en gang, leveres ett inkrement av gangen som tilsvarer en del av all funksjonalitet De viktigste kravene implementeres i de første inkrementene Når utviklingen av et inkrement er startet, så fryses kravene til det inkrementet, men kravene til senere inkrementer kan fortsatt endres INF1050/ / Dag Sjøberg Slide 15 Fordeler ved inkrementell utvikling og installering Kostnadene ved endrede brukerkrav reduseres sammenlignet med fossefallsmodellen da delene som må endres, er mindre Enklere å få tilbakemeldinger fra kunden på det som har blitt utviklet Lettere å se hvor mye som er utviklet så langt Raskere levering av deler av systemet gir verdi for kunden raskere enn ved fossefallsmodellen Den prioriterte funksjonaliteten blir testet mest Lavere risiko for total prosjektfiasko INF1050/ / Dag Sjøberg Slide 16 8
9 Utfordringer ved inkrementell utvikling og installering Store prosjekter og systemer krever en relativt stabil arkitektur som inkrementene og teamene må forholde seg til, dvs. arkitekturen kan ikke utvikles i inkrementer Strukturen til systemet har en tendens til å bli stadig verre etter hvert som inkrementer legges til Derfor stadig vanskeligere å foreta endringer hvis ikke ressurser brukes på re-strukturering (re-faktorering) INF1050/ / Dag Sjøberg Slide 17 Utviklingsstrategi Definer alle Krav først? Flere utviklingssykluser? Fossefall Ja Nei krav design kode test lever Inkrementell Ja Ja krav design design kode kode test test lever lever design kode Iterativ (evousjonær) Nei Ja krav krav design krav lever kode test lever test INF1050/ / Dag Sjøberg Slide 18 9
10 Plan Kap. 2: Begrepet prosessmodell Prosessmodeller og prinsipper for utvikling Fossefallsmodellen Inkrementell og iterativ utvikling Prototyping Spiralmodellen Rational Unified Process (RUP) Gjenbruksbasert utvikling Kap. 3 Begreper og prinsipper innen smidig utvikling Programmeringsfokuserte smidige metoder Ekstrem programmering (XP) Prosessfokuserte smidige metoder Tidsboksbasert (Scrum) Flytbasert (Kanban) Lean systemutvikling Oppsummering smidige metoder INF1050/ / Dag Sjøberg Slide 19 Prototyping Prototype: en foreløpig versjon av et system utviklet for å utforske: kravene til et system alternative brukergrensesnitt ulike måter å teste systemet på Potensielle fordeler: bedre match mot brukernes faktiske behov bedre brukskvalitet bedre design og vedlikeholdbarhet reduserte utviklingskostnader INF1050/ / Dag Sjøberg Slide 20 10
11 Utvikling ved bruk av prototype Prototypen bør fokusere på områder av systemet som ikke er godt forstått Det finnes egnede språk og verktøy INF1050/ / Dag Sjøberg Slide 21 Throw-away prototype Protypen bør skrotes etter at den lagd og brukt for dårlig basis for et produksjonssystem Vil kunne være umulig å møte ikke-funksjonelle krav (f.eks. ytelse, pålitelighet og sikkerhet) Prototyper er normalt udokumenterte Strukturen til prototyper er vanligvis degradert gjennom raske endringer INF1050/ / Dag Sjøberg Slide 22 11
12 Plan Kap. 2: Begrepet prosessmodell Prosessmodeller og prinsipper for utvikling Fossefallsmodellen Inkrementell og iterativ utvikling Prototyping Spiralmodellen Rational Unified Process (RUP) Gjenbruksbasert utvikling Kap. 3 Begreper og prinsipper innen smidig utvikling Programmeringsfokuserte smidige metoder Ekstrem programmering (XP) Prosessfokuserte smidige metoder Tidsboksbasert (Scrum) Flytbasert (Kanban) Lean systemutvikling Oppsummering smidige metoder INF1050/ / Dag Sjøberg Slide 23 Spiralmodellen Utviklingsprosessen er representert som en spiral istedenfor en sekvens med aktiviteter Hver runde i spiralen representerer en fase i prosessen, f. eks. kravspesifisering eller design Løkkene i spiralen velges etter behov. F.eks. kan man gå tilbake til tidligere aktiviteter Risikoanalyse: hva som kan gå galt, og med hvilken sannsynlighet og konsekvens, er vurdert og håndtert eksplisitt gjennom prosessen INF1050/ / Dag Sjøberg Slide 24 12
13 Boehm s spiral model of the software process Identifiser spesifikke mål for fasen Determine objectives, alternatives and constraints Plan next phase Evaluer prosjektet og planlegg neste fase REVIEW Requirements plan Life-cycle plan Development plan Integration and test plan Risk analysis Risk analysis Risk analysis Prototype 2 Risk analysis Prototype 1 Concept of Operation S/W requirements Requirement validation Design V&V Service Analyser risiko og utfør aktiviteter for å redusere de viktigste Acceptance test Prototype 3 Operational protoype Simulations, models, benchmarks Product design Integration test Evaluate alternatives, identify, resolve risks Unit test Code Detailed design Develop, verify next-level product Design, koding (programmering) etc. INF1050/ / Fra Dag Ian Sjøberg Sommerville Slide 25 Bruk av spiralmodellen Blant de mest kjente, klassiske modeller hatt stor betydning i utviklingen av tankegangen rundt iterasjoner og risikovurderinger i systemutviklingsprosessen Men brukes sjelden i konkret systemutvikling INF1050/ / Dag Sjøberg Slide 26 13
14 Plan Kap. 2: Begrepet prosessmodell Prosessmodeller og prinsipper for utvikling Fossefallsmodellen Inkrementell og iterativ utvikling Prototyping Spiralmodellen Rational Unified Process (RUP) Gjenbruksbasert utvikling Kap. 3 Begreper og prinsipper innen smidig utvikling Programmeringsfokuserte smidige metoder Ekstrem programmering (XP) Prosessfokuserte smidige metoder Tidsboksbasert (Scrum) Flytbasert (Kanban) Lean systemutvikling Oppsummering smidige metoder INF1050/ / Dag Sjøberg Slide 27 Rational Unified Process (RUP) Ikke en konkret prosessmodell, men et rammeverk for å bygge arkitektur/uml-modeller (se senere forelesninger) Programvarebedrifter eller team kan ta utgangspunkt i RUP for å skreddersy en modell for sin utvikling Benytter seg av prinsipper fra prosessmodellene beskrevet tidligere i forelesningen Vanligvis beskrevet med fokus på faser, disipliner (aktiviteter) og anbefalt god praksis INF1050/ / Dag Sjøberg Slide 28 14
15 Fire faser i RUP Hver fase er iterativ med Phase resultater iterationsom utvikles i inkrementer Inception Elaboration Construction Transition Innledning/idé (lag business case) (inception) Lag overordnet målsetting, behovsanalyse, budsjett, prosjektplan Identifisere funksjonelle krav og modellere use cases (brukstilfeller) Utdypning (elaboration) Fortsett med å forstå problemområdet, lag use cases Start design av arkitektur, lag arkitektur prototype Ferdigstill prosjektplanen Konstruksjon (construction) Design-programmer-test, typisk i flere iterasjoner Installering/driftssetting (transition) Overfør systemet til sitt produksjonsmiljø og sett det i drift; gi nødvendig opplæring til sluttbrukerne og vedlikeholdere; valider systemet i forhold til kvalitetskrav spesifisert i innledningen etc. INF1050/ / Dag Sjøberg Slide 29 Anbefalte praksiser i RUP Utvikle systemet i iterasjoner I hver iterasjon, legg til et nytt inkrement. Først lag de inkrementene som kunden har prioritert høyest Sørg for god håndtering av krav Dokumenter kundekrav nøye og sørg for dokumentasjon av endringer i kravene Bruk komponent-basert arkitektur Organiser systemets arkitektur som en mengde gjenbrukbare komponenter Lag visuelle modeller av programvaren Bruk grafiske UML-modeller for å presentere statiske og dynamiske sider ved systemet Verifiser kvaliteten Sjekk at programvaren tilfredsstiller organisasjonens kvalitetsstandarder Kontroller endringer i programvaren Bruk endringshåndteringsverktøy og konfigurasjonsstyringsverktøy INF1050/ / Dag Sjøberg Slide 30 15
16 Plan Kap. 2: Begrepet prosessmodell Prosessmodeller og prinsipper for utvikling Fossefallsmodellen Inkrementell og iterativ utvikling Prototyping Spiralmodellen Rational Unified Process (RUP) Gjenbruksbasert utvikling Kap. 3 Begreper og prinsipper innen smidig utvikling Programmeringsfokuserte smidige metoder Ekstrem programmering (XP) Prosessfokuserte smidige metoder Tidsboksbasert (Scrum) Flytbasert (Kanban) Lean systemutvikling Oppsummering smidige metoder INF1050/ / Dag Sjøberg Slide 31 Gjenbruksbasert utvikling Eksisterende programvare gjenbrukes i større eller mindre grad utviklingen av nye systemer Komponentbasert utvikling Samling av komponenter i en pakke som del av komponentrammeverk som.net eller J2EE eller andre typer komponent-biblioteker Selvstendige programvare-systemer som er utviklet for bruk i et spesielt miljø Service-orientert (tjenesteorientert) utvikling Web-services som er utviklet i henhold til en standard og som kan kalles fra andre steder Service-orientert arkitektur (SOA): Forelesning 12. mars INF1050/ / Dag Sjøberg Slide 32 16
17 Hvilken prosess er best? Sommerville skriver: There are no right or wrong software processes Ikke eksakt fagfelt; man mangler fortsatt sikker kunnskap om hvordan ulike prosesser fungerer i ulike situasjoner MEN: opplagt at noen prosesser er bedre enn andre avhengig av hva slags system som skal utvikles og i hvilken kontekst det skal foregå INF1050/ / Dag Sjøberg Slide 33 Quiz For å redusere belastningen på nettet Alle med mobiltelefon: Skru av nett-tilgang og bruk mobilnettet isteden De som har laptop og nettbrett, stopp alt nettbruk annet enn Kahoot Gå til kahoot.it på mobil, nettbrett, PC etc. Pass på at mobilen ikke lukker seg Tast inn Game pin Lag Nick name ). Brukernavnet sensitivt for små og store bokstaver. Navnet blir synlig Det samme brukernavnet må benyttes resten av semesteret De som blir kastet ut og må logge seg inn igjen, får nullet ut sin poengsum i øyeblikket, men etterpå blir resultatet likevel summert på samme navn INF1050/ / Dag Sjøberg Slide 34 17
18 Plan Kap. 2: Begrepet prosessmodell Prosessmodeller og prinsipper for utvikling Fossefallsmodellen Inkrementell og iterativ utvikling Prototyping Spiralmodellen Rational Unified Process (RUP) Gjenbruksbasert utvikling Kap. 3 Begreper og prinsipper innen smidig utvikling Programmeringsfokuserte smidige metoder Ekstrem programmering (XP) Prosessfokuserte smidige metoder Tidsboksbasert (Scrum) Flytbasert (Kanban) Lean systemutvikling Oppsummering smidige metoder INF1050/ / Dag Sjøberg Slide 35 Behov for smidighet Den klassiske ingeniørtilnærmingen med fokus på planlegging og dokumenter (jfr. fossefall) har vist seg ofte å ikke være egnet Derfor er smidige metoder blitt vanlige Vektlegging av kode fremfor (omfattende) design og dokumentasjon Vektlegging av samarbeid med kunde fremfor kontraktsforhandlinger Raskere levering av kode og raske endringer tilpasset endrede brukerkrav INF1050/ / Dag Sjøberg Slide 36 18
19 Plandrevne (tunge) prosesser Smidige (lette) prosesser 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, dvs. vektlegger aktiviteter som gjøres tidlig i prosessen (planlegging, analyse & design) Planleggingen gjøres litt etter litt (inkrementelt) Enklere å endre prosessen for å tilpasse endrede krav fra kunden Fokuserer mer på fundamentale prinsipper (f.eks. kontinuerlig testing ). Har færre formelle dokumenter og er ofte mer iterative INF1050/ / Dag Sjøberg Slide 37 En samling software-guruer i 2001: Agile Manifesto 12 prinsipper* * og INF1050/ / Dag Sjøberg Slide 38 19
20 Agile Manifesto 2001 (forts.) * og INF1050/ / Dag Sjøberg Slide 39 Plan Kap. 2: Begrepet prosessmodell Prosessmodeller og prinsipper for utvikling Fossefallsmodellen Inkrementell og iterativ utvikling Prototyping Spiralmodellen Rational Unified Process (RUP) Gjenbruksbasert utvikling Kap. 3 Begreper og prinsipper innen smidig utvikling Programmeringsfokuserte smidige metoder Ekstrem programmering (XP) Prosessfokuserte smidige metoder Tidsboksbasert (Scrum) Flytbasert (Kanban) Lean systemutvikling Oppsummering smidige metoder INF1050/ / Dag Sjøberg Slide 40 20
21 Ekstrem programmering (XP) Ekstrem ved at: Hele systemet kan bygges (rekompileres) opp til flere ganger daglig Inkrementer av systemet leveres til kunden annenhver uke Alle tester må kjøres før hver bygging* Byggingen aksepteres bare hvis testene er vellykkede *Bygging: Alle komponentene til systemet kompileres og linkes til hverandre og til data og biblioteker som er nødvendige for å lage et kjørbart system INF1050/ / Dag Sjøberg Slide 41 Praksiser i XP Praksis Inkrementell planlegging Små releaser Enkelt design Test-først utvikling Refaktorering Parprogrammering Kollektivt eierskap Kontinuerlig integrasjon Holdbart tempo Kunde på stedet Beskrivelse Kravene skrives som brukerhistorier som typisk tilsvarer en utviklingsoppgave. Hvilke som skal inkluderes i en release blir bestemt ut fra prioritet og tilgjengelig tid. Lag først det minste settet av funksjonalitet som gir verdi for kunden. Lever hyppig nye inkrementer med funksjonalitet. Bare design så mye som strengt tatt nødvendig. Bruk et automatisk testrammeverk til å skrive tester for ny funksjonalitet FØR funksjonaliteten selv implementeres. Forbedre koden kontinuerlig når muligheter for forbedring oppdages. Programmer i par. Alle par skal jobbe på og ta ansvar for alle deler av koden ikke ha lokale eksperter på deler av koden. Umiddelbart etter at en oppgave er ferdig, må den tilhørende koden integreres i hele systemet. Alle enhetstester må kjøres. Ikke jobb mye overtid fordi konsekvensen er dårligere kode og lavere produktivitet i lengden. Representant for sluttbruker eller kunde bør være tilgjengelig for utviklingsteamet hele tiden. INF1050/ / Dag Sjøberg Slide 42 21
22 Brukerhistorie (user story) Én eller flere setninger som beskriver hva brukeren av et system ønsker å få ut av systemet på formen: Som en <rolle> ønsker jeg <funksjon> for å oppnå <verdi> Kort beskrivelse, passer på et kort eller gul lapp INF1050/ / Dag Sjøberg Slide 43 Refaktorering (omstrukturering) Se etter forbedringsmuligheter og implementer dem selv om ikke umiddelbart behov for dem Koden mer forståelig og enklere å endre, og mindre behov for dokumentasjon Noen endringer krever at arkitekturen omstruktureres (kostbart) Eksempler på refaktorering Reorganisering av klassehierarki for å fjerne duplisert kode Forbedre navn på attributter og metoder Erstatte kode med kall til metoder i et programbibliotek INF1050/ / Dag Sjøberg Slide 44 22
23 Parprogrammering - kan brukes uavhengig av smidig To programmerere utvikler kode sammen: Fører skriver på tastaturet Navigatør observerer arbeidet til føreren og ser etter feil og svakheter ser etter alternativer noterer ting som må gjøres slår opp referanser 45 INF1050/ / Dag Sjøberg Slide 45 Hva er kost-nytten ved parprogramming? Sommerville skriver i boka s. 70: 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. Dette eksperimentet vil bli gjennomgått på metode-forelesningen 9. april. *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/ / Dag Sjøberg Slide 46 23
24 Plan Kap. 2: Begrepet prosessmodell Prosessmodeller og prinsipper for utvikling Fossefallsmodellen Inkrementell og iterativ utvikling Prototyping Spiralmodellen Rational Unified Process (RUP) Gjenbruksbasert utvikling Kap. 3 Begreper og prinsipper innen smidig utvikling Programmeringsfokuserte smidige metoder Ekstrem programmering (XP) Prosessfokuserte smidige metoder Tidsboksbasert (Scrum) Flytbasert (Kanban) Lean systemutvikling Oppsummering smidige metoder INF1050/ / Dag Sjøberg Slide 47 Prosessfokuserte metoder Fokus på prosjektledelse av iterativ utvikling fremfor mer tekniske praksiser To hovedretninger 1. Velg noen prioriterte oppgaver og jobb med dem i faste tidsintervaller (tidsbokser*) med definerte oppstarts- og avslutningsaktiviteter (Scrum) 2. Fokuserer på at oppgaver skal flyte uten avbrudd gjennom de nødvendige aktivitetene til de er ferdige (Kanban) *Tidsboks: en fast tidsperiode som et gitt arbeid skal være ferdig innenfor INF1050/ / Dag Sjøberg Slide 48 24
25 Scrum tre faser Planleggingsfasen: overordnede mål for prosjektet etableres og programvarearkitekturen designes Gjennomføringsfasen: en serie med iterasjoner (kalt sprint ), der hver iterasjon leverer et inkrement av systemet Avslutningsfasen: nødvendig dokumentasjon som hjelpfunksjoner og brukermanualer fullføres, og man oppsummerer hva man har lært i prosjektet INF1050/ / Dag Sjøberg Slide 49 Scrum I sprint-planleggingsmøtet evalueres oppgavelisten (backlog) som er en samling av brukerhistorier. Mål for sprinten settes inkl. prioriteter og risiko. Kunden kan sette nye krav el. gi nye oppgaver Planlegging Outline planning and architectural design Input: Product backlog liste av arbeidsoppgaver (Work Items) som skal utføres i prosjektet Resultatene evalueres mot målene som ble satt i sprint-planleggingsmøtet, og presenteres for kunden ( retrospective ) Gjennomføring Assess Select Review Develop Sprint cycle Tidsboks: 2-4 uker Utviklingsteam og kunde velger egenskaper og funksjonalitet som skal utvikles i sprinten Avslutning Project closure Lag dokumentasjon (hjelpefunksjoner, brukermanualer) og oppsummer hva man lærte Design, koding, testing. Utviklingsteamet isoleres fra kunden og organisasjonen, dvs. all kommunikasjonen skjer via Product Owner eller Scrum Master for å unngå forstyrrelser INF1050/ / Dag Sjøberg Slide 50 25
26 Visualisering Noter en oppgave eller arbeidspakke på en gul lapp og sett den på en tavle User stories US5 US4 US3 US1 US2 INF1050/ / Dag Sjøberg Slide 51 (Antatte) fordeler ved Scrum Systemet blir delt opp i en mengde forståelige og håndterbare deler Ustabile krav hindrer ikke progresjon i prosjektgjennomføringen Hele teamet observerer hva som skjer i prosjektet, og kommunikasjon innen teamet blir god Kundene får inkrementer levert til avtalt tid og får fortløpende tilbakemelding på hvordan deler av systemet fungerer Tillit mellom kunder og utviklere etableres tidlig og en positiv kultur skapes Kryss-funksjonelle team (kompetansene på ulike områder finnes innen teamet) sikrer framdrift og reduserer risiko Mer om teamarbeid i Scrum på forelesningen 26. mars INF1050/ / Dag Sjøberg Slide 52 26
27 Plan Kap. 2: Begrepet prosessmodell Prosessmodeller og prinsipper for utvikling Fossefallsmodellen Inkrementell og iterativ utvikling Prototyping Spiralmodellen Rational Unified Process (RUP) Gjenbruksbasert utvikling Kap. 3 Begreper og prinsipper innen smidig utvikling Programmeringsfokuserte smidige metoder Ekstrem programmering (XP) Prosessfokuserte smidige metoder Tidsboksbasert (Scrum) Flytbasert (Kanban) Lean systemutvikling Oppsummering smidige metoder INF1050/ / Dag Sjøberg Slide 53 Prosessprinsipp: Timeboxing versus task-boxing / task-flyt Scrum Ikke alltid greit å dele inn oppgaver eller features av systemet tilpasset sprintene, f.eks. vedlikehold, videreutvikling og support Kanban Definerer et sett med oppgaver eller features og lever så snart man er ferdig. Oppgaver skal flyte uten avbrudd gjennom de nødvendige aktivitetene til de er ferdige (oppgaveboksing) INF1050/ / Dag Sjøberg Slide 54 27
28 Flytbasert utvikling INF1050/ / Dag Sjøberg Slide 55 Fokus på flyt Flyt av materialer, folk og penger: arbeidskraft var billig, hadde nok folk, OK om folk i periode ikke hadde noe å gjøre Tilpasset høyden til hva de kunne produsere ikke omvendt Tett samarbeid mellom arkitekter, bygningsarbeidere og underleverandører Erfarne arbeidere Fast pris kontrakt Fokus på materialflyt (500 lastebiler om dagen) ingen mellomlagring Dekobling (modularisering): ulike systemer skulle være uavhengige Tid var penger: Hver dag forsinket kostet $ ($ i dag) INF1050/ / Dag Sjøberg Slide 56 28
29 1/21/14 Kanban Fokus på gjennomstrømningshastighet på arbeidspakkene = antall brukerhistorier (features) implementert per tidsenhet Begrense antall arbeidspakker som det jobbes med i parallell (WIP = Work In Progress) for å hindre flaskehalser Antakelse: Jo høyere WIP, jo saktere flyter arbeidspakken gjennom arbeidsprosessene Når en pakke er ferdig, kan man etterspørre en ny som man begynner å jobbe med (pull) Slakk i tidsplanen er OK, dvs. en utvikler vil kunne vente hvis det optimaliserer overordnet flyt Mindre fokus på estimering INF1050/ / Dag Sjøberg Slide 57 Forskjell på Scrum-tavle og Kanban-tavle Max WIP From: Kanban and Scrum - making the most of both by Henrik Kniberg and Mattias Skarin on Dec 21, 2009 INF1050/ / Dag Sjøberg Slide 58 29
30 Fordeler ved Kanban Flaskehalser i prosessen blir synlige Fokus på å bli ferdig med oppgaver som hindrer gjennomstrømning fremfor å begynne på flere oppgaver som vil hope seg opp Kan drive smidig utvikling uten å bruke tidsbokser Spesielt for drifts- og supportoppgaver og vedlikeholdsoppgaver vil veldefinerte sprinter ofte ikke gi mye mening Gunstig der det er svært vanskelig å estimere oppgavene INF1050/ / Dag Sjøberg Slide 59 Plan Kap. 2: Begrepet prosessmodell Prosessmodeller og prinsipper for utvikling Fossefallsmodellen Inkrementell og iterativ utvikling Prototyping Spiralmodellen Rational Unified Process (RUP) Gjenbruksbasert utvikling Kap. 3 Begreper og prinsipper innen smidig utvikling Programmeringsfokuserte smidige metoder Ekstrem programmering (XP) Prosessfokuserte smidige metoder Tidsboksbasert (Scrum) Flytbasert (Kanban) Lean systemutvikling Oppsummering smidige metoder INF1050/ / Dag Sjøberg Slide 60 30
31 Kanban en teknikk fra Lean (slank) production INF1050/ / Dag Sjøberg Slide 61 Lean den japanske skolen, primært Toyota Kontinuerlig læring og forbedring (Kaizen) Forbedre helheten, dvs. ikke sub-optimalisere Ved feil, stopp samlebåndet og finn årsaken til feilen fremfor å samle og rette opp alle feil i bolker Just-in-time -prinsippet: Ikke lag noe før noen etterspør det Komponentbasert produksjon (samme understell etc. på ulike biltyper) Kundefokus Unngå waste Fjerning av mellomlagring INF1050/ / Dag Sjøberg Slide 62 31
32 Waste Alt som krever ressurser tid arbeidsinnsats rom lager (unngå mellomlagring) utstyr penger som ikke gir verdi for kunden Verdi = det kunden ønsker og er villig til å betale for INF1050/ / Dag Sjøberg Slide 63 Resultat Toyota færrest feil og raskest produksjon Skyldes også hard jobbing De mest produktive bedriftene brukte færrest ressurser på ledelse og administrasjon ( lean management ) INF1050/ / Dag Sjøberg Slide 64 32
33 Den norske/nordiske modellen Selvstyrte (autonome) team Læring, redundans/jobbrotasjon Medvirkning og arbeidsmiljø Livskvalitet Samarbeid ledelse, arbeidstakerorganisasjoner og myndigheter Hydro, Volvo og mange flere B. Gustavsen, T.U. Quale, B.A. Sørensen, M. Midtbø og P.H. Engelstad. Innovasjonssamarbeid mellom bedrifter og forskning den norske modellen. Gyldendal 2010 INF1050/ / Dag Sjøberg Slide 65 Bilproduksjon vs. programvareutvikling Bilindustri er produksjon av fysiske produkter, mens programvareutvikling fokuserer på kode (tekst) Likevel, lean prinsippene kan anvendes i programvareutvikling Lean management er et hett tema i mange sektorer som ikke driver produktutvikling Offentlig forvaltning (f.eks. helsevesen, universiteter) Privat sektor INF1050/ / Dag Sjøberg Slide 66 33
34 Plan Kap. 2: Begrepet prosessmodell Prosessmodeller og prinsipper for utvikling Fossefallsmodellen Inkrementell og iterativ utvikling Prototyping Spiralmodellen Rational Unified Process (RUP) Gjenbruksbasert utvikling Kap. 3 Begreper og prinsipper innen smidig utvikling Programmeringsfokuserte smidige metoder Ekstrem programmering (XP) Prosessfokuserte smidige metoder Tidsboksbasert (Scrum) Flytbasert (Kanban) Lean systemutvikling Oppsummering smidige metoder INF1050/ / Dag Sjøberg Slide 67 Utfordringer ved smidige metoder Vanskelig å opprettholde kundens interesse i prosjektet hele tiden Utviklerne vil kunne mangle det intense engasjement som kreves Vanskelig å prioritere endringer hvis mange interessenter (stakeholders) Krever ekstra tid å stadig gjøre endringer og opprettholde enkelhet Kontrakter kan være et vanskelig tema (se forelesning 23. april) INF1050/ / Dag Sjøberg Slide 68 34
35 Utfordringer ved utvikling av store systemer Hvordan skalerer smidige metoder i store, langvarige prosjekter med mange utviklingsteam som kanskje jobber distribuert, kanskje innen ulike kulturer og tidssoner med hvert sitt del-system som skal kommunisere med hverandre? Krav til kommunikasjon mellom del-systemer vanskeliggjør fleksibilitet og inkrementell utvikling. Lite fokus på integrering av del-systemer. Store systemer tar lang tid å utvikle. Vanskelig å ha fokuserte team hele tiden som kjenner prosessen og produktet godt. Folk begynner i andre prosjekter og jobber. Store systemer har mange interessenter som kan være vanskelig å involvere i utviklingsprosessen. Design og system-dokumentasjon viktig i store systemer, ikke bare kode. INF1050/ / Dag Sjøberg Slide 69 Merk: Sommerville diskuterer ikke flytbasert utvikling (Kanban) Temaet er likevel viktig INF1050/ / Dag Sjøberg Slide 70 35
36 Oppsummering Smidige metoder er kommet for å bli Finnes mange måter å være smidig på Mer om smidig i forelesningen om prosjektledelse 26. mars og studier av smidig utvikling 9. april. NF5181 Prosessforbedring og smidige metoder i systemutvikling INF1050/ / Dag Sjøberg Slide 71 Quiz INF1050/ / Dag Sjøberg Slide 72 36
Prosessmodeller og smidig programvareutvikling
24/01/17 INF1050: Systemutvikling 24. januar 2017 Prosessmodeller og smidig programvareutvikling Professor Dag Sjøberg INF1050/ 24.1.2017 / Dag Sjøberg Slide 1 Smakebit på mastergradskurset Smarte prosesser
DetaljerGJENNOMGANG UKESOPPGAVER 2 PROSESSMODELLER OG SMIDIG PROGRAMVAREUTVIKLIG
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:
DetaljerProsessmodeller og smidig programvareutvikling. INF1050: Gjennomgang, uke 02
Prosessmodeller og smidig programvareutvikling INF1050: Gjennomgang, uke 02 Kompetansemål Prosessmodeller Kunne redegjøre for hva som kjennetegner ulike prosessmodeller Vurdere prosesser for utvikling
DetaljerUKE 9 Prosesser og prosessmodeller inkludert smidige metoder. Gruppetime INF1055
UKE 9 Prosesser og prosessmodeller inkludert smidige metoder Gruppetime INF1055 Hva skal vi i dag? Introduksjon til modul B - systemutvikling (kap. 1, 2 og 3) Prosesser og prosessmodeller + smidig utvikling
DetaljerGJENNOMGANG UKESOPPGAVER 7 REPETISJON
GJENNOMGANG UKESOPPGAVER 7 REPETISJON INF1050 V16 KRISTIN BRÆNDEN DAGENS TEMA Oppgaver hentet fra tidligere eksamensoppgaver om temaene vi har gått gjennom til nå DAGENS PLAN Gjennomgang av oppgaver Repetisjon
DetaljerVelkommen til andre del av IN1030
Velkommen til andre del av IN1030 Introduksjon til systemutvikling Prosesser og prosessmodeller Professor Dag Sjøberg IN1030/ 14.3.2019 / Dag Sjøberg Slide 1 Dag Sjøberg (dagsj@ifi.uio.no) Professor i
DetaljerVelkommen til andre del av INF1055 Introduksjon til systemutvikling Prosesser og prosessmodeller
21/03/17 Velkommen til andre del av INF1055 Introduksjon til systemutvikling Prosesser og prosessmodeller Professor Dag Sjøberg INF1050/ 22.3.2017 / Dag Sjøberg Slide 1 Dag Sjøberg (dagsj@ifi.uio.no) Professor
Detaljer1. Hvilke type krav angår sikkerhet og pålitelighet?
1. Hvilke type krav angår sikkerhet og pålitelighet? a) Funksjonelle b) Ikke-funksjonelle Svar: b), IS side 88, lærebok s.96 2. Verdien av etnografi er at den hjelper til å oppdage som reflekterer hvordan
Detaljer1. Hvilke type krav angår sikkerhet og pålitelighet?
1. Hvilke type krav angår sikkerhet og pålitelighet? a) Funksjonelle b) Ikke-funksjonelle Svar: b) 2. Verdien av etnografi er at den hjelper til å oppdage som reflekterer hvordan folk faktisk jobber a)
DetaljerSystemutviklingsmetoder
Systemutviklingsmetoder Kapittel 2, 4, 5 07.01.2004 Kirsten Ribu 1 I dag Et eksempel på et system med kravspesifikasjon Utviklingsmodeller: Strukturert systemutvikling (Fossefall-modellen) Evolusjonær
DetaljerUndervisning i Smidige metoder ved Universitetet i Oslo
Undervisning i Smidige metoder ved Universitetet i Oslo Dag Sjøberg Professor ved Ins4tu7 for informa4kk Universitetet i Oslo Dag Sjøberg, Universitetet i Oslo 1 Planer for undervisning Kurs INF1050 Systemutvikling/software
DetaljerLedelse av systemutviklingsprosjekter
INF 5700, 28. september 2012 Ledelse av systemutviklingsprosjekter Professor Dag Sjøberg INF5700/ 28.9.2012, Dag Sjøberg Slide 1 INF5700/ 28.9.2012, Dag Sjøberg Slide 2 Plan for forelesningen Ledelsesaktiviteter
DetaljerLøsningsforslag: Oblig 1. INF1050: Gjennomgang, uke 12
Løsningsforslag: Oblig 1 INF1050: Gjennomgang, uke 12 Obligatorisk oppgave 1: Pensum Bakgrunn for systemet Aktører og interessenter Utviklingsprosesser Kravhåndtering og kravspesifikasjon Use case-modellering
DetaljerKravhåndtering. INF1050: Gjennomgang, uke 03
Kravhåndtering INF1050: Gjennomgang, uke 03 Kompetansemål Kravhåndtering Anvende metoder og teknikker for å Innhente / Analysere / Spesifisere krav Ulike typer krav Funksjonelle krav Ikke-funksjonelle
DetaljerHensikten med denne delen av kurset. Objektets egenskaper. Objektorientering hva er det? Best practises ved programvareutvikling. Kravspesifikasjonen
Hensikten med denne delen av kurset Objektorientert systemutvikling Rational Unified Process (RUP) Gurholt og Hasle kap. 6 UML Distilled kap. 2 Å lære modellerings- og designprinsipper og øve opp teknikker
DetaljerTeamarbeid og smidig metodikk. Lean og Scrum. Prosjektarbeid
IN 2001 29 januar 2018 Teamarbeid og smidig metodikk. Lean og Scrum. Prosjektarbeid Yngve Lindsjørn ynglin@ifi.uio.no IN 2001 > Prosjekt og teamarbeid 1 Utvikling av programvare - Suksesskriterier Levere
DetaljerPresentasjon 1, Requirement engineering process
Presentasjon 1, Requirement ing process Prosessodeller Hvorfor bruke prosessmodeller? En prosessmodell er en forenklet beskrivelse av en prosess En prosessmodell er vanligvis lagd ut fra et bestemt perspektiv
DetaljerPrøveeksamen INF1050: Gjennomgang, uke 15
Prøveeksamen 2016 INF1050: Gjennomgang, uke 15 Overblikk Multiple choice Modellering Aktivitetsdiagram Sekvensdiagram Klassediagram Tilstandsdiagram Krav Ikke-funksjonelle krav og målbarhet Smidig metodikk
DetaljerProsjektledelse - fra innsiden
Prosjektledelse - fra innsiden Presentasjon hos UiO 31.08.2012 Ida Lau Borch, fagansvarlig i Metier AS Det ligger et fantastisk potensial i det å være best i prosjektledelse og -styring Prosjekteierstyring
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1050 Eksamensdag: 2. juni 2014 Tid for eksamen: 09:00-13:00 Oppgavesettet er på 4 sider Vedlegg: Ingen Tillatte hjelpemidler:
DetaljerKonfigurasjonsstyring
INF1050: Systemutvikling 28. mars 2017 Konfigurasjonsstyring Yngve Lindsjørn ynglin@ifi.uio.no INF1050 Systemutvikling ->Konfigurasjonsstyring 1 Temaer i dagens forelesning Versjonshåndtering Systembygging
DetaljerKap. 2 Prosessen. Utviklingsmodeller -2. Utviklingsmodeller. Utviklingsmodeller -4. Utviklingsmodeller - 3. Software Engineering - definisjoner
Software Engineering - definisjoner Kap. 2 Prosessen Utviklingsprosessen Modeller for utvikling Bauer: Etablering og bruk av gode ingeniørmessige prinsipper for å fremskaffe økonomisk programvare som er
DetaljerGJENNOMGANG UKESOPPGAVER 3 KRAVHÅNDTERING
GJENNOMGANG UKESOPPGAVER 3 KRAVHÅNDTERING INF1050 V16 HVA ER KRAVHÅNDTERING? Kravhåndtering er prosessen å identifisere, analysere og spesifisere kravene til et nytt system eller et system som skal forbedres
DetaljerKontrakter. INF1050: Gjennomgang, uke 12
Kontrakter INF1050: Gjennomgang, uke 12 Kompetansemål Kontrakter I plandrevet utvikling I smidig utvikling Behov for smidige kontrakter Kontraktsmodeller PS2000 Del I: Kontrakter Grunnleggende: Hva? Plandrevet
DetaljerLøsningsforslag Sluttprøve 2015
Høgskolen i Telemark Løsningsforslag Sluttprøve 2015 Emne: IA4412 Systemutvikling og dokumentasjon Fagansvarlig: Hans- Petter Halvorsen, Olav Dæhli Klasse: IA2, A- vei Dato: 2015.05.27 Time: 09:00-12:00
DetaljerUKEOPPGAVER 2: SYSTEMUTVIKLINGSPROSESSER OG PROSJEKTARBEID INNSPILL TIL SVAR
INF 1050 UKEOPPGAVER 2: SYSTEMUTVIKLINGSPROSESSER OG PROSJEKTARBEID INNSPILL TIL SVAR Oppgave 1 a) Foranalyse: Foranalysen kan med fordel gjøres i to trinn. Den første er å undersøke finansiering og øvrige
DetaljerUKE 10 Kravhåndtering. Gruppetime INF1055
UKE 10 Kravhåndtering Gruppetime INF1055 Hva skal vi i dag? Kravhåndtering - kapittel 4 Ukesoppgaver: Smidig programvareutvikling og kravhåndtering Krav KRAV KOMPETANSEMÅL: Kravhåndtering: anvende metoder
DetaljerProsjektledelse, prosjektplanlegging, teamarbeid
SKK modul B 03. Mai 2017 Prosjektledelse, prosjektplanlegging, teamarbeid Yngve Lindsjørn ynglin@ifi.uio.no INF1055 > SKK -> Prosjektledelse og teamarbeid 1 Temaer i dagens forelesning Prosjektstyring/Prosjektledelse
DetaljerSmidig innhold Hvordan smidige metoder hjelper oss å lage kvalitetsinnhold. Ove Dalen
Smidig innhold Hvordan smidige metoder hjelper oss å lage kvalitetsinnhold Ove Dalen There is a lack of discipline in many web publishing processes because managers in charge of websites often don't respect
DetaljerCONNECTING BUSINESS & TECHNOLOGY KURS OG SERTIFISERINGER - SCRUM
CONNECTING BUSINESS & TECHNOLOGY KURS OG SERTIFISERINGER - SCRUM Scrum Master og Product Owner i Høst 2015 1 Om Scrum Scrum er et populært rammeverk laget med henblikk på å utvikle komplekse informasjonssystemer.
DetaljerOppgave 1: Multiple choice (20 %)
Oppgave 1: Multiple choice (20 %) For alle oppgavene gjelder at det bare er ett riktig svar. No Spørsmål Svar A Svar B Svar C Svar D 1 Kanban er et eksempel på: Prosess Software prosess Prosess modell
DetaljerScrum. -nøkkelbegreper og noen personlige erfaringer
Scrum -nøkkelbegreper og noen personlige erfaringer Agile Manifesto Manifest for smidig systemutvikling Vi oppdager stadig nye og bedre måter å utvikle systemer på, både ved å gjøre det selv og ved å hjelpe
DetaljerIntroduksjon,l SCRUM. EB og TMG 2010 1
Introduksjon,l SCRUM EB og TMG 2010 1 Hva er Scrum? Kilde: http:/image.google.com EB og TMG 2010 2 Kompleksitet Kilde: http://www.coderfriendly.com/ EB og TMG 2010 3 SCRUM - kortversjonen Scrum er en smidig
DetaljerUNIVERSITETET I OSLO
Bokmål Kandidat nummer: UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveeksamen i: INF1050 Eksamensdag: 0. mai, 2011 Tid for eksamen: 00:00 00:00 Oppgavesettet er på 6 sider Vedlegg:
Detaljerprosjektarbeid Forelesning 3 - INF1050 Systemutvikling
Systemutviklingssprosesser, prosjektarbeid Forelesning 3 - INF1050 Systemutvikling 28.1.2009 Rune Steinberg International Development Manager ERP INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg
DetaljerUlike typer prosessmodeller. Systemutvikling. Utviklingsmodeller. Prosessmodell - faser
1 Ulike typer prosessmodeller Systemutvikling Oppsummering av hovedområdene i kurset LO 135A Kirsten Ribu 19.05.2004 De røde er viktige i kurset: Evolusjonær (prototyping) Inkrementell (RUP) XP fossefall
Detaljerprosjektarbeid Forelesning 3 - INF1050 Systemutvikling Eksempel Evolusjonære modeller Utviklingsprosesser Evolusjonære modeller Foranalyse
Evolusjonære modeller Foranalyse Systemutviklingssprosesser, prosjektarbeid Forelesning 3 - INF1050 Systemutvikling 28.1.2009 Rune Steinberg International Development Manager ERP Iterasjonsplan Iterasjon
DetaljerOppsummering : IMT2243 Systemutvikling. Hensikt med kurset. Innfallsvinkel : Tom Røise 29.04.2009. IMT2243 : Systemutvikling 1
Oppsummering : IMT2243 Systemutvikling Målformuleringen i emnebeskrivelsens : Studentene skal ha forståelse for grunnleggende administrative og teknologiske aspekter ved spesifisering, utvikling, innføring
DetaljerGJENNOMGANG OBLIGATORISK OPPGAVE 1
GJENNOMGANG OBLIGATORISK OPPGAVE 1 INF1050 V16 KRISTIN BRÆNDEN 1 Systemet for utleie av markasykler ønsker a benytte seg av en eksisterende betalingsløsning, og valget har falt pa det samme betalingssystemet
DetaljerOppsummering : IMT2243 Systemutvikling. Hensikt med kurset. Innfallsvinkel : Tom Røise 30.04.2007. IMT2243 : Systemutvikling 1
Oppsummering : IMT2243 Systemutvikling Målformuleringen i emnebeskrivelsens : Studentene skal ha forståelse for grunnleggende administrative og teknologiske aspekter ved spesifisering, utvikling, innføring
DetaljerKonfigurasjonsstyring. INF1050: Gjennomgang, uke 11
Konfigurasjonsstyring INF1050: Gjennomgang, uke 11 Kompetansemål Konfigurasjonsstyring Hva og hvorfor? I en smidig sammenheng Endringshåndtering Versjonhåndtering Systembygging Release -håndtering Del
DetaljerSystemutvikling (Software Engineering) Professor Alf Inge Wang
1 Systemutvikling (Software Engineering) Professor Alf Inge Wang 2 Undervisningsmål og henvisning Målet med timen er: Få kunnskap om hva systemutvikling er Forstå hva en utviklingsprosess består av Få
DetaljerOppsummering av hovedområdene i kurset LO 135A Kirsten Ribu
Systemutvikling Oppsummering av hovedområdene i kurset LO 135A Kirsten Ribu 19.05.2004 1 Ulike typer prosessmodeller De røde er viktige i kurset: Evolusjonær (prototyping) Inkrementell (RUP) XP fossefall
DetaljerUNIVERSITETET I OSLO
Bokmål Kandidat nummer: UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1050 Eksamensdag: 31. Mai, 2011 Tid for eksamen: 09:00-13:00 Oppgavesettet er på 6 sider Vedlegg:
Detaljer1. Mer om iterative utviklingsprosesser
Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Mer om iterative utviklingsprosesser Tore Berg Hansen 8.11.2005 Lærestoffet er utviklet for faget LV339D Objektorientert ssytemutvikling
DetaljerScrum. en beskrivelse V 2012.12.13
Scrum en beskrivelse Scrum prinsipper Verdier fra Agile Manifesto Scrum er det mest kjente av de smidige (Agile) rammeverkene. Scrum er også kilden til mye av tankegodset bak verdiene og prinsippene i
DetaljerKap 11 Planlegging og dokumentasjon s 310
Kap 11 Planlegging og dokumentasjon s 310 11.1 Ulike arbeidsmetoder Systemutvikling Som systemutvikler er du i stand til å omsette din innsikt i brukerbehov til praktiske programbaserte løsninger. Samarbeid:
DetaljerProsjektledelse, prosjektplanlegging, teamarbeid
INF1050: Systemutvikling 21. mars 2017 Prosjektledelse, prosjektplanlegging, teamarbeid Yngve Lindsjørn ynglin@ifi.uio.no INF1050 Systemutvikling ->Prosjektledelse og teamarbeid 1 Temaer i dagens forelesning
DetaljerSystemutvikling - oppsummering. Alexander Nossum blog.eksplisitt.net 22. mai 2006
Systemutvikling - oppsummering Alexander Nossum alexander@nossum.net blog.eksplisitt.net 22. mai 2006 INNHOLD 2 Innhold 1 Utviklingsprosessmodeller 3 1.1 Fossefall/waterfall................................
DetaljerSystemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling
Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling 21.1.2009 Rune Steinberg International Development Manager ERP INF1050 Systemutvikling Vår 2009 - Copyright Rune Steinberg 2009 1 Innledning
DetaljerSystemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling
Innledning Læringsmål Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling 21.1.2009 Forstå hvorfor systemutviklingsprosessen er viktig Forstå de viktigste prinsippene for ulike prosesser
DetaljerProsjektledelse - fra innsiden av et utviklingsprosjekt. Presentasjon hos UiO Ida Lau Borch, prosjektleder i Bouvet ASA
Prosjektledelse - fra innsiden av et utviklingsprosjekt Presentasjon hos UiO 09.09.2011 Ida Lau Borch, prosjektleder i Bouvet ASA Agenda De umulige IT-prosjektene Hvordan vi gjør det Utfordringer og lykkestunder
DetaljerEksamen 2013 Løsningsforslag
Eksamen 2013 Løsningsforslag Oppgave 1. Multiple choice 1b# 2a# 3b# 4c# 5b# 6a# 7a# 8b# 9d# 10b# Oppgave 2 - Bibliotek - Utlån av bøker a) Måle størrelse eller mengde funksjonalitet Denne oppgaven ser
DetaljerGJENNOMGANG UKESOPPGAVER 9 TESTING
GJENNOMGANG UKESOPPGAVER 9 TESTING INF1050 V16 KRISTIN BRÆNDEN 1 A) Testing viser feil som du oppdager under kjøring av testen. Forklar hvorfor testing ikke kan vise at det ikke er flere gjenstående feil.
DetaljerForskningsmetoder. INF1050: Gjennomgang, uke 13
Forskningsmetoder INF1050: Gjennomgang, uke 13 Kompetansemål Forskningsmetoder Hva? Hvorfor? Empiriske forskningsmetoder Eksperiment Case-studier Etnografi Aksjonsforskning Spørreskjema Systematisk litteraturstudie
DetaljerSCRUM EB og TMG 2010
SCRUM Hovedmål Mer om roller i SCRUM Es/mering av innhold i sprinter Visualisering av fremdri; ved burndown Scrum Daily SCRUM 24h Product backlog Sprint backlog 1 uke Sprint Delprodukt / delleveranse Roller
DetaljerIN2002: Software Engineering og prosjektarbeid 12. februar Forskningsmetoder / Evaluering av IT-systemer. IN2000/ 12.2.
IN2002: Software Engineering og prosjektarbeid 12. februar 2019 Forskningsmetoder / Evaluering av IT-systemer Dag Sjøberg og Gunnar Bergersen IN2000/ 12.2.2019 Slide 1 Plan Behov for metodekunnskap Metodekunnskap
DetaljerBruk av HP Quality Center med smidige utviklingsmetoder. HP Sofware Norge
Bruk av HP Quality Center med smidige utviklingsmetoder Kjell Lillemoen HP Sofware Norge QC og smidige metoder Agenda Smidig terminologi Smidig metoder og verktøy Hvilke krav bør vi stille QC med Scrum
DetaljerProsjektledelse, prosjektplanlegging, teamarbeid
INF1050: Systemutvikling 25. mars 2015 Prosjektledelse, prosjektplanlegging, teamarbeid Universitetslektor Yngve Lindsjørn INF1050 Systemutvikling ->Prosjektledelse og teamarbeid 1 Temaer i dagens forelesning
DetaljerOppgaver uke 42. Systemutvikling
Oppgaver uke 42 søndag 16. oktober 2016 13.55 Systemutvikling 1. Hva er systemutvikling? Systemutvikling er prosessen hvor man lager og opprettholder informasjonssystemer. Systemutvikling involverer alle
DetaljerSystemutviklingssprosesser, prosjektarbeid Forelesning 3 - INF1050 Systemutvikling 1. feb.2010
Systemutviklingssprosesser, prosjektarbeid Forelesning 3 - INF1050 Systemutvikling 1. feb.2010 Arne Maus, Ifi med takk til Gerhard Skagstein(Ifi), Rune Steinberg, (Visma), Jo Hannay (Ifi), Ian Sommerville
DetaljerØko-system for innovasjon og distribuerte team
Øko-system for innovasjon og distribuerte team Asbjørn Bjaanes Development Manager 4 år hos Wellbarrier 8 år med Agile og Lean arbeidsmetoder 16 år innen programvare 11 års erfaring med outsourcing 6 års
DetaljerModellering IT konferanse
Modellering IT konferanse 1. Interessenter Utviklere som besøker konferansen: besøke IT konferanse Frivillige hjelpere: få gratis inngang på konferansen Ledelse: Tjene penger Matkjeder: Selge mat og drikke,
Detaljer11 Planlegging og dokumentasjon
11 Planlegging og dokumentasjon Ulike arbeidsmetoder Systemutvikling Som systemutvikler er du i stand til å omsette din innsikt i brukerbehov til praktiske programbaserte løsninger. Samarbeid: Programmerer
DetaljerEksamen INF1050: Gjennomgang, uke 15
Eksamen 2012 INF1050: Gjennomgang, uke 15 Overblikk Varierte spørsmål fra pensum Modellering Use case Tekstlig beskrivelse Sekvensdiagram Klassediagram Krav Empiriske metoder Smidig metodikk Varierte spørsmål
DetaljerSmidig utvikling NTNU 10.01.2014 Tor-Erik Mathisen tor-erik.mathisen@accenture.com
Smidig utvikling NTNU 10.01.2014 Tor-Erik Mathisen tor-erik.mathisen@accenture.com Accenture, its logo, and High Performance Delivered are trademarks of Accenture. Agenda Hvorfor Hva Scrum Prosjekteksempel
DetaljerUKE 16 Kontrakter. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski
UKE 16 Kontrakter Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski Hva skal vi i dag? OBS!! Siste ordinære gruppetime Kontrakter Ukesoppgaver Gjennomgang av oblig 4 Kontrakter Kompetansemål - Kontrakter
DetaljerNeste generasjon ERP-prosjekter
Neste generasjon ERP-prosjekter Jan-Olav Arnegård 27. okt 2016 Nøkkeltall 2015 22 Land der vi er direkte representert 36 BearingPoint-kontorer 67 Kontorer der vi er representert via vår globale alliansepartnere
DetaljerArne Maus, Ifi. med takk til Gerhard Skagstein(Ifi), Rune Steinberg, (Visma), Jo Hannay (Ifi), Ian Sommerville m. fl. for lån av gamle foiler
Evolusjonære modeller Systemutviklingssprosesser, prosjektarbeid Forelesning 3 - INF1050 Systemutvikling 1. feb.2010 Foranalyse Iterasjonsplan Iterasjon 1 Analyse og Design Arne Maus, Ifi med takk til
DetaljerUKE 15 Prosjektledelse, planlegging og teamarbeid. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski
UKE 15 Prosjektledelse, planlegging og teamarbeid Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski Hva skal vi i dag? Se på oblig 5 Prosjektledelse og teamarbeid (kap. 22) Prosjektplanlegging og
DetaljerSCRUM Smidig prosjektledelse og utvikling. 10 september 2009 JOSÉ MANUEL REDONDO LOPERA AVDELINGSLEDER PROSJEKT OG RESSURSANSVARLIG
SCRUM Smidig prosjektledelse og utvikling 10 september 2009 JOSÉ MANUEL REDONDO LOPERA AVDELINGSLEDER PROSJEKT OG RESSURSANSVARLIG HVORDAN SPISER DU EN ELEFANT? EN BIT AV GANGEN 'HOW WILL YOU LIVE, RAMBO?'
DetaljerAlgDat 12. Forelesning 2. Gunnar Misund
AlgDat 12 Forelesning 2 Forrige forelesning Følg med på hiof.no/algdat, ikke minst beskjedsida! Algdat: Fundamentalt, klassisk, morsomt,...krevende :) Pensum: Forelesningene, oppgavene (pluss deler av
DetaljerInception Elaboration Construction Transition Bemanning 1 1,5 2 2 Varighet i uker Antall iterasjoner (lengde i uker i parentes) Tabell 1
Innhold Innledning... 2 Faseplan... 2 Iterasjonsplanlegging... 3 Oppstartsfasen... 3 Artefaktene i oppstartsfasen... 4 Utdypingsfasen... 5 Konstruksjonsfasen... 5 Overføringsfasen... 6 Litteratur... 7
DetaljerForfattere: Daníelsdóttir, Drífa Meland, Maiken Mijalkovic, Biljana Svendsen, Simen H. Gruppelærer: Zarei, Amir Hossein. 5.
2 Forfattere: Daníelsdóttir, Drífa Meland, Maiken Mijalkovic, Biljana Svendsen, Simen H. Gruppelærer: Zarei, Amir Hossein 5. april 2017 Innhold 1 Klassediagram 2 Sekvensdiagram 2.1 Oppgave 2a 2.2 Oppgave
DetaljerForskningsmetoder / Evaluering av systemutvikling Pensum: kap. 12 i lærebok (artikkel) + kap
INF1050: Systemutvikling, 18. april 2017 Forskningsmetoder / Evaluering av systemutvikling Pensum: kap. 12 i lærebok + 3.5 (artikkel) + kap. 4.3.1 Professor Dag Sjøberg INF1050/ 18.4.2017 / Dag Sjøberg
DetaljerNyttestyring og viktigheten av den gode kunde
1/3/18 Nyttestyring og viktigheten av den gode kunde Magne Jørgensen Hva er et vellykket IT-prosjekt? Suksess er kontekstavhengig, men bør minimum inkludere: Oppnådd nytte (gevinster, verdi, måloppnåelse,
DetaljerSmidig metodikk, erfaringer fra NAV Fagportal
Smidig metodikk, erfaringer fra NAV Fagportal Gry Hilde Nilsen, NAV Morten Tveit, Fornebu Consulting NAV, 08.03.2011 Side 1 Smidig gjennomføring i NAV Fagportal Individer og samspill framfor prosesser
DetaljerNyttestyring og viktigheten av den gode kunde. Magne Jørgensen
Nyttestyring og viktigheten av den gode kunde Magne Jørgensen Hva er et vellykket IT-prosjekt? Suksess er kontekstavhengig, men bør minimum inkludere: Oppnådd nytte (gevinster, verdi, måloppnåelse, ROI)
DetaljerForside. Eksamen i IN1030 for Våren Ingen hjelpemidler tillatt.
Forside Eksamen i IN1030 for Våren 2018. Ingen hjelpemidler tillatt. I dette oppgavesettet har du mulighet til å svare med digital håndtegning (oppgave 1, 4 og 5). Du bruker skisseark du får utdelt. Det
DetaljerPROSJEKTPLAN FOR INF [4 3]120-PROSJEKT: PROJECT HOSPITAL 2004
PROSJEKTPLAN FOR INF [4 3]120-PROSJEKT: PROJECT HOSPITAL 2004 VERSJON: PROSJEKTPLAN (1.0) 24. SEPTEMBER, 2004 prosjektplan.doc GRUPPE 12 PROSJEKTPLAN: PROSJEKTLEDELSE: USE CASE: KVALITETSSIKRING: ANDRÉ
DetaljerGJENNOMGANG UKESOPPGAVER 13 KONTRAKTER
GJENNOMGANG UKESOPPGAVER 13 KONTRAKTER INF1050 V16 KRISTIN BRÆNDEN Kontrakter En kontrakt er en avtale som mellom partene etablerer en bindende forpliktelse til å gjøre eller å unnlate å gjøre noe Smidig
DetaljerTogether. Free your energies Moden og modig! Ansvarsfull og fleksibel!
Moden og modig! Ansvarsfull og fleksibel! Anine Ragnif og Bodil Rabben 13. Mai 2009 Agile Hvorfor? Gjennomsnittlig overskridelse i arbeidsmengde var 24% for prosjektene som benyttet en fleksibel metodikk,
DetaljerModellering av krav. INF1050: Systemutvikling 11. februar 2015. Universitetslektor Yngve Lindsjørn
INF1050: Systemutvikling 11. februar 2015 Modellering av krav Universitetslektor Yngve Lindsjørn INF1050 ->Systemutvikling-> Modellering av krav / Yngve Lindsjørn 1 Temaer i dagens forelesning Modellering
DetaljerStein Grimstad. Konsulent i Scienta AS. Prosjekt hos Skatteetaten. Forsker hos Simula (deltid) 3/7/18
Bedre gevinstoppnåelse med nyttedrevet utvikling Stein Grimstad (stein@scienta.no), 7 th mars, Oslo Stein Grimstad Konsulent i Scienta AS Prosjekt hos Skatteetaten Forsker hos Simula (deltid) stein@scienta.no
DetaljerProsjektledelse, planlegging og teamarbeid. INF1050: Gjennomgang, uke 10
Prosjektledelse, planlegging og teamarbeid INF1050: Gjennomgang, uke 10 Kompetansemål Prosjektstyring og prosjektledelse Hva og hvorfor? Risikohåndtering Ledelse av mennesker og motivasjon Teamarbeid og
DetaljerI dag. Prosjektstyring og prosjektgjennomføring. Hva er et prosjekt? Oppdeling i. Planlegging. arbeidsoppgaver. Hva er en prosess? En prosessmodell?
Prosjektstyring og prosjektgjennomføring Prosesser, tidsplanlegging, risikostyring G&H: kap 16, 17,19 I dag Prosessmodeller og prosjekter Prosjektplanlegging, inkl. tidsplanlegging Risikostyring Kirsten
DetaljerKanban. Anine Ragnif
Kanban Anine Ragnif Hvorfor spille KANBAN-spillet? Prinsipper for KANBAN Forstå KANBAN rask og effektivt Mekanismer for god arbeidsflyt Morsom læring Kanban 2014 2 Historikk Kanban har sin opprinnelse
DetaljerErfaringer fra bruk av Scrum i PS2000-prosjekter NSP temadag Agile metoder i prosjekt 13.05.2009. Motivasjon av kunder og Nyttige verktøy
Erfaringer fra bruk av Scrum i PS2000-prosjekter NSP temadag Agile metoder i prosjekt 13.05.2009 Motivasjon av kunder og Nyttige verktøy 2009-05-20 Computas AS 2008 Computas-metodikk fra da til nå Computas
DetaljerA Study of Industrial, Component-Based Development, Ericsson
A Study of Industrial, Component-Based Development, Ericsson SIF8094 Fordypningsprosjekt Ole Morten Killi Henrik Schwarz Stein-Roar Skånhaug NTNU, 12. des. 2002 Oppgaven Studie av state-of-the-art : utviklingsprosesser
DetaljerHensikten med denne delen av kurset. Objektorientering hva er det? Objektets egenskaper. Best practises ved programvareutvikling
Objektorientert systemutvikling, litt UML og Rational Unified Process (RUP) UML Distilled kap. 2 Hensikten med denne delen av kurset Å lære og øve på modelleringsteknikker Å lære om gode designprinsipper
DetaljerLykke til! Eksamen i fag TDT4140 Systemutvikling 28.11.2012 9.00. NTNU Norges teknisk-naturvitenskapelige universitet
Side 1 av 10 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Sensurfrist:
DetaljerForelesning IMT mars 2011
Forelesning IMT2243 17.mars 2011 Dagens : Kvalitetssikring i systemutviklingsprosjekter Konfigurasjonsstyring Teorigjennomgang Demonstrasjon av Subversion SVN v/jon Langseth Pensum : Sommerville kap. 24.1
DetaljerUser Story Mapping gir en nyttigere backlog
User Story Mapping gir en nyttigere backlog Workshop, Smidig 2011 Nils Christian Haugen nch@scienta.no Christian Stensholt christian.stensholt@bouvet.no 1 Agenda Intro til User Story Mapping (15 min) Demo
DetaljerKandidat nr. 1, 2 og 3
Kandidat nr. 1, 2 og 3 Rapport 1 IT202E Bacheloroppgave i Informatikk Vår 2011 Mobilapplikasjonsutvikling med Scrum 1 Innhold Innledning... 3 Overordnet Prosjektplan... 3 Produktbacklog... 5 Sprint planning
DetaljerDistributed object architecture
Forelesning IMT2243 6. April 2010 Tema: forts. arkitektur og design av programvare Prosjektstatus Programvarearkitektur Oppsummering fra før påske Distribuerte objektarkitektur MDA - Model Driven Architecture
DetaljerGjennomgang av prøveeksamen. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski
Gjennomgang av prøveeksamen Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski OPPGAVE 1: MUlTIPLE CHOICE SPØRSMÅL 1.1 Hva er et funksjonelt krav? a) Teksten på skjermen skal være svart med hvit bakgrunn.
DetaljerSystemutvikling. Universitetet i Oslo, Institutt for informatikk Vår 2017
Systemutvikling Universitetet i Oslo, Institutt for informatikk Vår 2017 Dagens plan Introduksjon Emnets oppbygging Praktisk om ukesoppgaver og obligatoriske oppgaver Gjennomgang av ukesoppgaver Registrering
DetaljerTest og kvalitet To gode naboer. Børge Brynlund
Test og kvalitet To gode naboer Børge Brynlund To gode naboer som egentlig er tre Kvalitetssikring, kvalitetskontroll og testing Kvalitet I Betydningen Kvalitet er den viktigste faktoren for å avlede langsiktig
Detaljer