Hva er systemutvikling?
Systemutvikling er prosessen med å opprette og vedlikeholde informasjonssystemer. Å utvikle et informasjonssystem inkluderer alle de fem komponentene: Hardware, Software, Data, Prosedyrer, og mennesker.
Hvorfor er systemutvikling både utfordrende og risikabelt?
Det er fordi det krever at man inkluderer alle de fem komponentene, og krever derfor mer enn kun programmering eller teknisk ekspertise. Man må ta hensyn til systemets formål, oppsett av prosjektet, og bestemme de nødvendige kravene for kunnskap og ledelseskompetanse.
Vanskelig å fastslå krav
Endringer i krav
Vanskeligheter med tidsramme og budsjett
Endringer i teknologien
Hvilke faser/aktiviteteter inngår i SDLC?
SDLC (System development life cycle)
Beskriv hver av de fem fasene.
Definering av systemet Bruke administrasjonens utsagn om systemets behov for å kunne begynne å definere det nye systemet.
Analyse av krav
Her identifiserer utviklerne de særlige funksjonene i det nye systemet.
Komponentdesign
Resultatet av fase 3 er et sett med godkjente brukerkrav, som igjen blir den primære inngangen for å designe systemkomponentene.
Implementering
I denne fasen implementerer, tester og installerer utviklerne det nye systemet.
Vedlikehold
Over tid vil brukerne finne feil og problemer, og de vil utvikle nye krav. I denne fasen startes prosessen på nytt, og feil vil bli utrettet.
Drøft hver av følgende utfordringer ifm. systemutvikling:
Kravspesifikasjon. Hvordan, hva gjøres… Dette er den viktigste fasen i systemutviklingen.
Systemanalytikere intervjuer brukerne, og tar vare på resultatene av intervjuene.
Evaluering av eksisterende systemer gjøres.
Bestemmelse av nye websider/skjema/rapporter.
Identifisere den nye applikasjonens funksjoner
Vurdere sikkerhet
Lage en datamodell
Vurdere alle de fem komponentene i et IS
Endringer i behov og ønsker
Dette er den siste fasen, er viktig for funksjonaliteten på systemet.
Fiksing av systemet slik at det fungerer som planlagt
Tilpasse systemet til endringer i behov og ønsker/krav.
Registrere ønsker om forandring:
Feil i systemet
Eventuelle forbedringer
Prioritere ønskene basert på viktighet
Reparere disse feilene:
Patching av systemet (Kritiske problemer som trenger fiks så fort som mulig)
Service packs (Samling av mange lavt prioriterte problemer som skal fikses)
Ny utgivelse
Endring i teknologi, rammebetingelser
Teknologi er stadig i utvikling, og blant annet blir hardware stadig bedre og kraftigere. I tillegg kan hardware, i likhet med software, komme med tekniske problemer. Dermed må man ta hensyn til at utbedringer eller endringer også må gjøres på flere områder enn bare krav fra brukerne. Software kan også være et problem, for eksempel må systemet være fungerende med ulike nettlesere, operativsystemer m.m. Mange opplever kompabilitetsproblemer med systemer/programmer ved f.eks. overgang til en ny versjon av Windows (fra f.eks. XP til Windows 8). Teknologi kan være så mangt, blant annet: Hardware, software, systemer (operativsystemer osv.)
Planlegging og gjennomføring; økonomi;
Ledelsen for prosjektet forsøker å sette opp en tidsgrense og plan for budsjett, men disse er bare omtrentlige vurderinger av hva det kan koste og hvor lang tid det kan ta. I større prosjekter som går over flere år og koster flere millioner/milliarder, vil det være så godt som umulig å lage et godt budsjett og tidsplan for utførsel. At disse antagelsene sjeldent er riktige, vil ofte medføre større kostnader enn forventet, og at prosjektet varer lengre enn det som er planlagt.
Hvordan håndtere “diseconomics of scale” i prosjekter?
Dette kan håndteres ved å eliminere overtid, slik at man ikke betaler økt timelønn for de ansatte. Vi kan også tilpasse arbeidsmengden på flere personer slik at hver person får mindre oppgaver, og dette kan resultere i at prosjektet blir ferdig tidligere. Det er bedre å beregne hvor mange ansatte man trenger fra starten av, enn å ansette flere senere. Å ansatte nye mennesker langt inn i prosessen vil føre til Brooks’ Law, som sier at “Adding more people to a late project makes the project later.”
Hvilke faktorer vil avgjøre om et tenkt informasjonssystem skal utvikles eller skrotes. Se “Feasibility”.
For å finne avgjørende faktorer for dette, må man vurdere “Feasibility” (Gjennomførbarhet). Under feasibility har man ulike kategorier:
Cost feasibility, som sier noe om omtrentlige kostnader og sammenligner det med systemets verdi.
Schedule feasibility, som sier noe om en tidsplan for prosjektet.
Technical feasibility, som refererer til om eksisterende informasjonteknologi kan møte kravene til det nye systemet.
Organizational feasibility, som dreier seg om hvorvidt det nye systemet passer innenfor organisasjonens skikker, kultur og juridiske krav.
Hvordan si noe om kost, nytte, tidsbruk, organisasjonsmessige konsekvenser av et TENKT system?
Ved å bruke de ulike vurderingene av gjennomførbarhet i listen over.
Forklar fordeler og utfordringer med å utvikle en prototype?
Fordeler ved å utvikle en prototype er blant annet:
Gir direkte erfaring
Brukere av prototypen vil vurdere brukbarhet og kommer på egenskaper og funksjoner de har glemt å nevne.
Prototyper gir data som man kan bruke til å estimere både utviklings- og driftskostnader.
Utfordringer ved å utvikle en prototype er blant annet:
Dyrt å lage prototyper
Vanskelig å lage en fungerende prototype
Må ofte lages i begynnelsen av prosjektarbeidet, ofte før man har fått finansieringen. Å lage en prototyper er kostbart, og det sies derfor at: “We need the prototype to get the funds, and we need the funds to get the prototype”.
Hvordan gå fra kravspec til et system som kan testes?
Plattform/HW
Funksjonalitet?
Data?
Forklar hva som skjer ved implementering av et IS.
Ved implementering av et IS skjer følgende:
Bygge systemets komponenter
Gjennomføre enhetstesting
Integrere komponenter
Gjennomføre integrert test
Konvertere til det nye systemet
Hvordan testes et IS?
Når utviklerne har satt opp og testet alle komponentene, integrerer de de individuelle komponentene og tester systemet. Utviklerne må deretter designe og utvikle testplaner og lagre resultatene av testene. En testplan består av sekvenser med handlinger som brukere vil gjøre når de bruker det nye systemet. Disse planene inkluderer både vanlige handlinger som brukerne gjør, i tillegg til feil-handlinger.
Hvilke ulike typer tester har vi?
Product Quality Assurance (PQA)
Beta testing
Quality Assurance QA (Kvalitetssikring) er aktiviteter for å sikre kvalitet. Hvilke QA aktiviteter kjenner du til, eller hva kan du tenke deg til bidrar til kvalitet ifm Systemutvikling?
Product Quality Assurance, gjøres som regel av PQA personale, som er spesialister på testing. Det som gjøres er at disse personene tester systemet, og overvåker brukernes test-aktivitet. PQA vurderer:
Safe environment
Supportive environment
Interaction
Engagement
Youth-centered policies and practices
High expectations for youth and staff
Access
Innføring kan gjøres på flere måter, drøft fordeler og ulemper ved hver av dem. Alt på en gang, pilot, parallell, stegvis….
Alt på en gang:
Ulemper: Hvis det nye systemet feiler, fører det til store problemer. Systemet er da ubrukelig til det enten har blitt fikset eller det gamle blir reinstallert.
Fordeler: Rask og effektiv måte å bytte ut systemet på.
Pilot:
Ulemper: Ulikt system innad i samme bedrift kan føre til inkonsistent data, vanskelig for en bruker å gå fra den ene avdelingen til en annen.
Fordeler: Hvis det nye systemet feiler, er skadeomfanget begrenset til kun en del av systemet.
Parallell:
Ulemper: Veldig kostbart, fordi begge systemer kjører samtidig. Brukerne må gjøre alle handlinger to ganger; en gang på hvert av systemene. Den dyreste måten for installasjon, samtidig som den er den tregeste måten.
Fordeler: Kan sees på som en forsikring. Gjør det lett å gå tilbake til det gamle systemet hvis det nye skulle feile.
Stegvis:
Ulemper: Vanskelig/umulig i mange tilfeller, ettersom så mange systemer er så tett integrerte.
Fordeler: Trygg måte å teste på, og gjør det lettere å finne eventuelle problemer.
Drøft fordeler og utfordringer med Fossefallmodellen.
Estimering; ulike tilnærminger;
Jobbe til timene er oppbrukt, da er vi ferdige.
Jobbe fram til deadline, levere (kjenner dere til denne)
Finne ressursbehov for hver komponent som skal utvikles.
Hvordan balansere Funksjonalitet (scope), kostnad, tid, kvalitet?
Hva menes med “divide and conquer” ifm prosjektgjennomføring?
Hva er, og hva er hensikten med Work Breakdown Structure *(WBS)?
Hva er blitt tatt opp som svakheter med Waterfall, som løses vha en mer agil tilnærming til SU.
Hva kjennetegner agil tilnærming til SU?
Scrum er en blant mange agile metoder, hva kjennetegner denne?
Hva er brukerhistorier i Scrum?
Hva er planning-poker?
Hva er backlogg?
Uke 42 // Strategier og Konkurransekraft
Hvordan vil en organisasjons strategi påvirke krav til bedriftens informasjonssystemer?
Først må bedriften undersøke strukturen på deres industri, og dermed utvikle en konkurransedyktig strategi. Denne strategien bestemmer verdikjedene, som igjen bestemmer forretningsprosessene. Disse forretningsprosessene bestemmer kravene og funksjonene for informasjonssystemet.
Drøft forholdet mellom verdikjede / forretningsprosess / IS
Verdikjeden blir bestemt av den strategien som bedriften har bestemt seg for, som igjen bestemmer hvilken forretningsprosess de skal forholde seg til. Denne forretningsprosessen bestemmer kravene for informasjonssystemet.
Drøft gangen fra Visjon; Mål; Strategi; Tiltak;
Bedriften må først utarbeide hvilken visjonen de har for bedriften. Denne prosessen går videre til hvilke mål de har, som skal nås ved bruk av en strategi som de må bestemme. Til slutt gjøres et tiltak basert på strategien for å nå bedriftens mål.
Forklar med ett eksempel en IT-investering som er strategisk.
Hva kan bidra til Ustrategiske IT investeringer?
Ved bruk av for store ressurser i utviklingen av IT, kan dette ansees som en ustrategisk investering. Dette fordi man ofte overinvesterer i IT i form av at man investerer i mer funksjonalitet og kraft i disse systemene enn det man egentlig har og vil få bruk for. I tillegg er slike investeringer lette å kopiere for konkurrentene, og vil derfor ikke være en varig fordel for bedriften.