Oppgaver uke 42. Systemutvikling

Like dokumenter
IS Introduksjon til informasjonssystemer

CONNECTING BUSINESS & TECHNOLOGY KURS OG SERTIFISERINGER - SCRUM

UKE 9 Prosesser og prosessmodeller inkludert smidige metoder. Gruppetime INF1055

GJENNOMGANG UKESOPPGAVER 2 PROSESSMODELLER OG SMIDIG PROGRAMVAREUTVIKLIG

I multiple choice, sann, usann, i alle oppgaver der du kun skal krysse av, får du poeng for riktig svar, null poeng for feil svar og ikke svar.

Oppgaver Oppgavetype Vurdering Status. Automatisk poengsum Levert. 2 * Forretningsprosess (Maks 10 poeng) Skriveoppgave Manuell poengsum Levert

Prosjektledelse - fra innsiden

Neste generasjon ERP-prosjekter

IS Introduksjon til informasjonssystemer

IS Introduksjon til informasjonssystemer

Scrum. -nøkkelbegreper og noen personlige erfaringer

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

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

Oppgaver Oppgavetype Vurdering Status. Automatisk poengsum Levert. 2 * Forretningsprosess (Maks 10 poeng) Skriveoppgave Manuell poengsum Levert

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

UKEOPPGAVER 2: SYSTEMUTVIKLINGSPROSESSER OG PROSJEKTARBEID INNSPILL TIL SVAR

Software Development Plan. Software Development Plan. Forum / Nettverkssamfunn Team 2

Modellering IT konferanse

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

Eksamen 2013 Løsningsforslag

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

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

Software Development Plan

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

A tool for collaborating to success in a development project Experience with Visual Studio 2010 and Test Manager at Lånekasse

Kravhåndtering. INF1050: Gjennomgang, uke 03

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

Forelesning IMT mars 2011

SCRUM EB og TMG 2010

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

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

Prosessmodeller og smidig programvareutvikling. INF1050: Gjennomgang, uke 02

GJENNOMGANG UKESOPPGAVER 3 KRAVHÅNDTERING

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

Oppsummering : IMT2243 Systemutvikling. Hensikt med kurset. Innfallsvinkel : Tom Røise IMT2243 : Systemutvikling 1

GJENNOMGANG UKESOPPGAVER 7 REPETISJON

Introduksjon,l SCRUM. EB og TMG

GJENNOMGANG UKESOPPGAVER 9 TESTING

Software Development Plan (1. utkast)

GJENNOMGANG OBLIGATORISK OPPGAVE 1

Estimering. INF1050: Gjennomgang, uke 09

K-Nett. Krisehåndteringssystem for Norges vassdrags- og energidirektorat i en beredskaps- og krisesituasjon. av Erik Mathiessen

Nyttestyring og viktigheten av den gode kunde

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

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

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

Forprosjektrapport. Sammendrag. Hovedoppgave våren 2019 Gruppe 3

Kontrakter. INF1050: Gjennomgang, uke 12

Teknisk gjeld - hvor mye er forsvarlig? Per Otto Bergum Christensen, Objectdesign 27 August, Smidig fagdag i SPK

Konfigurasjonsstyring. INF1050: Gjennomgang, uke 11

Løsningsforslag Sluttprøve 2015

Prototyping. TDT4180, vår Yngve Dahl IDI, NTNU NTNU

UNIVERSITETET I OSLO

Test i Praksis. NTNU Februar Copyright 2014 Accenture All Rights Reserved.

DRI2001 Offentlige nettsteder. Litt om systemutvikling Torsdag 24 aug Arild Jansen, AFIN, UiO

Forskning på gruppe-estimeringestimering

Prosjektledelse, prosjektplanlegging, teamarbeid

LEAN STARTUP. Jørund Leknes Forretningsutvikler

Why Desperate Houswives make Excellent Test Managers Testprosjektet som suksessfaktor i et hvert prosjekt

Teamarbeid og smidig metodikk. Lean og Scrum. Prosjektarbeid

Why Desperate Houswives make Excellent Test Managers En gjennomgang av testfaser i prosjekt

ESTIMERING I SMIDIGE PROSJEKTER

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

Introduksjon til design, bruk, interaksjon. Litt om fagets historie. Gisle Hannemyr Ifi, høstsemesteret Design, bruk, interaksjon

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

Lynkurs 10. Januar 2012

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

Oppsummering : IMT2243 Systemutvikling. Hensikt med kurset. Innfallsvinkel : Tom Røise IMT2243 : Systemutvikling 1

Støtter din digitale reise

Mellom barken og veden Smidig testing i krevende terreng TTC 2015

Av Thomas Welte, SINTEF Energi, Bjarne Børresen, Energi Norge

Kap 11 Planlegging og dokumentasjon s 310

1. Introduksjon. Glis 13/02/2018

Lykke til! Eksamen i fag TDT4140 Systemutvikling NTNU Norges teknisk-naturvitenskapelige universitet

Spørsmål og svar til Konkurransegrunnlag

Undervisning i Smidige metoder ved Universitetet i Oslo

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

API: Application programming interface, eller programmeringsgrensesnitt

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning

Systemutviklingen er ferdig når et system er operativt. Med operativt menes når systemet blir brukt av brukerne på et faktisk arbeidssted.

prosjektarbeid Forelesning 3 - INF1050 Systemutvikling

Forskningsmetoder. INF1050: Gjennomgang, uke 13

CORBA Component Model (CCM)

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

Oppgave 1: Multiple choice (20 %)

FluentAutomation. Et automatiserings-rammeverk for regresjonstesting (og mye annet! )

Agile metoder i ulike prosjektfaser, betydning for anvendelse og fokus. Elisabeth Krogh Svendsen, Terramar

UKE 10 Kravhåndtering. Gruppetime INF1055

Suksessfaktorer for styring av prosjekt

Testplan (Software Test Plan)

Læringsmål og pensum. Utvikling av informasjonssystemer. Oversikt. Systemutvikling Systemutvikling i seks faser Femstegs prosedyre for programmering

Tom Røise 9. Februar 2010

NOVAPOINT BRUKERMØTE 2016 BERGEN, mai

Konfigurasjonsstyring

Bachelorprosjekt 2015

Akseptansetesten. Siste sjanse for godkjenning Etter Hans Schaefer

PROGRAMUTVIKLINGSPLAN. Big Data and Machine Learning

Arbeidsplan. Startfasen. Aktivitet Beskrivelse Ferdig Ansvarlig (Ressurser)

Avegility og ledelse av smidige prosjekter. Avenir AS > slide 1

Transkript:

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 fem IS komponenter som vist i modellen: 2. Hvorfor er systemutvilkling både utfordrende og risikabelt? Systemutvikling er utfordrende og risikabelt da mange prosjekter aldri bli ferdige, og havner ofte langt over (200-300%) budsjettrammen. Av de som fullfører prosjektet innenfor budsjett og tidsrammen oppnår sjeldent prosjektets mål. Høy risiko for fiasko selv med kompetente utviklere som følger en fornuftig metode. 3. Hvilke faser / aktiviteteter inngår i SDLC? SDLC (System Development Life Cycle) er den tradisjonelle prosessen brukt til å utvikle informasjonssystemer. I SDLC blir systemutvikling delt inn i faser, og noen organisasjoner bruker 8-faser, mens andre bruker 5-faser som nevnt i boken "Experiencing MIS" som er delt inn i fasene: System definiton er fasen der "ledelsens" uttalelser av hva systemet trenger definerer systemets behov. Requirements analysis er fasen der prosjektplanen brukes for at utviklerne skal kunne identifisere funksjoner og egenskaper til det nye systemet. Denne fasen resulterer i et sett med godkjente systembehov. Component design er fasen der systembehovene blir brukt til å lage system komponenter. Implementation er fasen der komponentene implementeres, testes og systemet installeres hos bruker. Maintenance er en fasen der feil og nye systembehov fra brukeren brukes til å starte prosessen igjen som vist i modellen under, og det er derfor denne fasen er en syklus. 4. Drøft hver av følgende utfordringer ifm systemutvikling: kravspesifikasjon. Hvordan, hva gjøres.. Å definere kravspesifikasjoner er den viktigste fasen i systemutvikling, og utfordringen med kravspesifikasjoner er å finne ut hva systemet faktisk skal gjøre, hvordan ting skal se ut og lignende. Det er vanskelig å finne ut av dette, men også å vite på forhånd hva som er nødvendige spesifikasjoner. Hvis kravspesifikasjonene er feil, vil også systemet bli feil. Hvis man får fullstendige definerte krav som er satt og riktige i utgangspunktet blir hele prosessen lettere for utviklerne. Ofte lager utviklerne en prosess der man kan stille spørsmål til systemet der spørsmål hjelper til å definere kravspesifikasjoner man bør ha. IS-100 Introduksjon til informasjonssystemer Page 1

endringer i behov og ønsker Hvis behov og ønsker endres må det avgjøres om man skal stoppe prosjektet og begynne på nytt for å implementere endringene, og dette kan være både kostbart og tidskrevende hvis det er et stort prosjekt. Hvis det ofte er endringer som fører til at utviklerne må starte på nytt blir prosjektet dyrt og kanskje aldri ferdig da det alltid kommer nye behov og ønsker. Så man må bestemme seg for kravspesifikasjoner og forholde seg til det hele veien, og gjøre fremtidige endringer i System Maintenance fasen. endring i teknologi, rammebetingelser Her gjelder litt det samme som endringer ved behov og ønsker og man må bestemme seg for om man vil utvikle på teknologien og de rammene man har og kanskje ende opp med å levere et system på et utdatert system, eller starte på nytt og bytte til den nye teknologien. planlegging og gjennomføring; økonomi; Met tanke på økonomi under planlegging og gjennomføring er dette nesten umulig å estimere, så en fast sum kan være veldig "synsing". Og er veldig avhengig av om et lignende system er utviklet av utviklerne før, så de kan bruke tidligere kode og erfaring til å estimere pris. hvordan handtere diseconomics of scale i prosjekter? Diseconomics of scale er begrepet i prosjekter da man legger til flere utviklere som fører til at det gjennomsnittlige bidraget til hver utvikler minsker. Så hvis man vil fullføre prosjektet raskere ved å legge til nye utviklere, trenger kanskje disse opplæring og ifølge Brooks'Law "Adding more people to a late prosjekt makes the project later" vil man få disconomies of scale ved å legge til flere utviklere gir mindre bidrag i forhold til kostnad. Dette kan håndteres ved å dele utviklere inn i mindre grupper som har ansvaret for utvikling av hver sin modul. 5. Hvilke faktorer vil avgjøre om et tenkt informasjonssystem skal utvikles eller skrotes. Se feasability. For å finne ut om et tenkt IS skal utvikles eller ei må utvikleren først finne ut om prosjektet er gjennomførbart. Det er fire dimensjoner involvert: kostnad, tidsskjema, teknisk, organisasjon Kostnad; sier noe om kostnader og sammenligner med det nye systemets verdi. Tidsskjema; sier noe om tidsplanen for prosjektarbeidet. Teknisk; sier noe om prosjektet i det hele tatt er teknisk mulig å utføre eller om eksisterende teknologi utfyller kravene til det nye systemet Organisasjon; sier noe om det nye systemet passer inn i organisasjonens skikker, kultur, juridiske krav. Hvordan si noe om kost, nytte, tidsbruk, organisasjonsmessige konsekvenser av et TENKT system? Når man har definert prosjektets mål og omfang vurderes gjennomførbarheten. Det å si noe om kost, tidsbruk og organisasjonsmessige konsekvenser er vanskelig og er avhengig av systemets mål og omfang. Dette kan ofte gjøres ved hjelp av analyse og system definisjons fasen i SDLC, og evt starte med en prototype. 6. Forklar fordeler og utfordring med å utvikle en prototype? Fordeler: Feedback, feil/mangler kan identifiseres tidlig i prosessen (det er billigere å fikse feil på en prototype enn et ferdig utviklet system), potensielle kunder/brukere føler seg mer involverte i utviklingsprosessen, og kan dessuten tillate en kunde å gjennomføre opplæring av eventuelle ansatte som skal bruke systemet. Ulemper: Dersom det fokuseres for mye på en prototype, kan utviklerne glemme hvorvidt sluttsystemet vil fungere optimalt. Kunden kan dermed bli skuffet dersom ikke alle funksjonene som prototypen inneholdt inkluderes i sluttproduktet. Det er dyrt å lage prototyper, som regel lages prototype i begynnelsen av prosjektarbeidet, ofte før man har fått finansieringen. 7. Hvordan gå fra kravspec til et system som kan testes? Som beskrevet i oppgave 3. 8. Hva menes med Analysis Paralysis Analysis paralysis: Når det brukes for lang tid til å dokumentere behov i et prosjekt. Plattform / HW Finne spesifikasjoner og plattform systemet skal kjøres på. Funksjonalitet? Finne hvilke funksjoner som skal implementeres i designet. IS-100 Introduksjon til informasjonssystemer Page 2

9. 10. 11. Data? Hvordan skal data lagres, database? Forklar hva som skjer ved implementering av et IS. Når design fasen i SDLC er ferdig starter implementeringsfasen der oppgavene er å lage, teste og konvertere brukerne til det nye systemet. Utviklerne Hvordan testes et IS? Når utviklerne er ferdig med testing av hver modul, integreres disse til systemet og testes med systemet. Dette gjøres ofte ved å ha en testplan som inneholder sekvensen for operasjoner som må kjøres i systemet. Utviklerne konstruerer hver av komponentene uavhengig av hverandre. Dermed installerer de alt som er nødvendig for systemet. Dermed dokumenterer de og gjennomgår test prosedyrer. hvilke ulike typer tester har vi? Det finnes mange nivåer av testing og i boken nevnes PQA (product quality assurance) som er profesjonelle IT-Testere som følger en testplan. Ellers så finnes alt ifra enhets testing og system testing til bruker testing som typisk vil være en Alpha / Beta-Tester. Quality Assurance QA (Kvalitetssikring) er aktiviteter for å sikre kvalitet. Hvilke QA aktiviteteter kjenner du til, eller hva kan du tenke deg til bidrar til kvalitet ifm Systemutvikling? Bruk av QA er viktig i systemutvikling, og QA aktiviteter som er mest kjent for brukere er typisk Beta-Tester som er en godt utviklet prototype brukerne kan benytte seg av for å finne feil og mangler på systemet. Dette avlaster utviklerne selv og brukere kan stå for store deler av testingen. 12. Innføring kan gjøres på flere måter, drøft fordeler og ulemper ved hver av dem. Alt på en gang, pilot, pilot, stegvis. Pilot: Organisasjonen implementerer hele systemet på en begrenset del av virksomheten. Fordeler: Hvis systemet svikter, svikter det bare på et begrenset område. Ulemper: Man kan ende opp med å ikke ha tilgang til det gamle systemet om nødvendig. Phased: Systemet fases inn i organisasjonen. Fordeler: Man implementerer og tester bit for bit til hele systemet er installert. Ulemper: Hvis systemet har for integrerte moduler kan ikke bit for bit installeres. Parallel: Det nye systemet kjøres parallelt med det gamle. Fordeler: Krasjer det nye systemet, kan man fortsatt bruke det gamle. Ulemper: Dyrt da bedriften må kjøre flere systemer. Plunge: Organisasjonen skrur av det gamle systemet og starter det nye direkte. Fordeler: Rask og enkel overgang fra gammelt til nytt system. Ulemper: Hvis det nye systemet feiler, har de ikke noe gammelt system å støtte seg på. 13. Drøft fordeler og utfordringer med Fossefallsmodellen. I SU-metoden fossefall skjer alt i ett løp som gjør det er lett å følge og forstå modellen. Hver fase har et definert start og sluttpunkt, der det er lett å se fremdriften etter hver fase er avsluttet. Dette reduserer risikoen for å gå over budsjett og tidsrammen som er gitt. Fossefallsmodellen fungerer bra for små prosjekter, men når det gjelder større prosjekter er utfordringen med fossefall å gå tilbake til en tidligere fase for å gjøre endringer man finner ut man må implementere senere i prosjektet. Testingen starter når koden er ferdig 14. Estimering; ulike tilnærminger; 1. jobbe til timene er oppbrukt, da er vi ferdige. 2. jobbe fram til deadline, levere (kjenner dere til denne) 3. Finne ressursbehov for hver komponent som skal utvikles. 15. Hvordan balansere Funksjonalitet (scope), kostand, tid, kvalitet? Vi kan balansere funksjonalitet, kostnad, tid og kvalitet ved bruk av "trade-off" som vist i bildet under: 16. 17. Hva menes med divide and conquer ifm prosjektgjennomføring? Divide and conquer er en strategi for store systemer der man bryter ned store oppgaver til flere små for å enkelt behandle de. Ved å gjøre dette kan man enklere estimere tid og kostnader for prosjektet. Hva er, og hva er hensikten med Work Breakdown Structure *(WBS)? WBS er et hierarki av oppgaver som må utføres for å fullføre et prosjekt. Hensikten er å dele store prosjekter opp i mindre deler for kunne definere omfanget av prosjektet. IS-100 Introduksjon til informasjonssystemer Page 3

18. 19. Hva er blitt tatt opp som svakheter med Waterfall, som løes vha en mer agil tilnæring til SU. Se oppgave 13. Hva kjennetegner agil tilnærming til SU? Agile tilnærming er en teknikk som løser problemer i SDLC og kjennetegnes ved disse prinsippene: 20. Scrum er en blant mange agile metoder, hva kjennetegner denne? Scrum er et rammeverk basert på empirisk prosesskontroll og kjennetegnes ved at det er definert Scrum-Team som er selvdrevet og definerer sine egne mål for programutviklingen. Disse målene nåes ved å utvikle konkrete produktinkrementer i iterasjoner på 1-4 uker. 21. Hva er brukerhistorier i Scrum? IS-100 Introduksjon til informasjonssystemer Page 4

22. Brukerhistorier er historier som beskriver hvordan en bruker ønsker å anvende et system. Disse brukerhistoriene brukes gjerne som en enkel måte å definere viktige funksjoner til et system på. Hva er planning-poker? "Planning poker, also called Scrum poker, is a consensus-based, gamified technique for estimating, mostly used to estimate effort or relative size of development goals in software development. In planning poker, members of the group make estimates by playing numbered cards face-down to the table, instead of speaking them aloud. The cards are revealed, and the estimates are then discussed. By hiding the figures in this way, the group can avoid the cognitive bias of anchoring, where the first number spoken aloud sets a precedent for subsequent estimates." From <https://en.wikipedia.org/wiki/planning_poker> 23. Hva er backlogg? Backlogg er det som ligger i kø (se bilde oppgave 20.) Har har vi "Product backlog" som er funksjonene som må utvikles for å nå målene. For hver av disse funksjonene lager man oppgavelister de legges så i "Sprint backlog". IS-100 Introduksjon til informasjonssystemer Page 5