Programvareutviklingsmetoder
Laget av Camilla Larsen
Eksempler på roller i et teknisk team
- Product manager
- Product owner
- Technical lead
- Team lead
- Programvare utvikler
- UX/UI designers
- Testers

Product manager (produkt sjef)
- "hvem, hva, hvor, når og hvorfor"
- Kjenne til interessentene til prosjektet og være i stand til å kommunisere effektivt med hver av dem.
- Lage og administrere prosjekt budsjettet og tidsplan, samt prosesser inkludert omfangsstyring, problemhåndtering og risikostyring
- Ansvaret for roadmap

Product owner (produkt eier)
- En person som representerer virksomheten og/eller sluttbrukere
- Ansvaret for å definere, planlegge og prioritere funksjonaliteten i et produkt eller en tjeneste
- Dokumentere krav til prosjektet
- Ansvaret for å overvåke produktets fremgang og å sørge for at det til enhver tid er i tråd med markedet og kundene
- Ta de endelige avgjørelsene; vedlikeholde og oppdatere produkt backlog på en kontinuerlig basis

Team lead vs technical lead?

Team lead / Scrum master
- I samarbeid med produkt eier, hjelpe til med å prioritere oppgaver
- Holder i kommunikasjonen med de andre avdelingene
- Fordeler oppgaver på tvers av teamet
- Bygger opp motivasjonen til teamet
- Gir tilbakemeldinger på arbeid som blir gjort
- Holder kontroll på ulike rutiner i selskapet

Technical Lead
- Oversetter forretnings kravene til en teknisk løsning.
- Fordelaktig å ha den tekniske lederen involvert i planleggingsfasen
- Leder for utviklingsteamet
- Samarbeider med utviklerne for å gi tekniske detaljer og estimater for den foreslåtte løsningen.
- Ansvarlig for å etablere og håndheve standarder og praksis med utviklingsteamet.

Programvare utvikler
- Programvare/system utvikler (front-end, back-end, full-stack, ...)
- Ansvarlige for å bruke de tekniske kravene fra den tech lead for å lage kostnads- og tidslinje estimater
- Ansvarlige for å bygge leveransene og kommunisere statusen til prosjektet til den tekniske lederen eller produkt eier.
- Avgjørende at de andre team medlemmene effektivt kommuniserer de tekniske kravene til utviklerne for å redusere prosjekt risikoen og gi prosjektet størst sjanse for suksess

UX / UI designers
UX = User experience
Designer brukervennlige opplevelser for produkter og tjenester. De fokuserer på å forstå brukernes behov og ønsker, og å utforme interaktive elementer og arbeidsflyter som er intuitive og effektive. Målet er å skape produkter som er enkle og behagelige å bruke.
UI = User interface
Ansvarlig for utformingen av et produkts visuelle aspekter, inkludert layout, farger, typografi, ikoner og interaktive elementer. Deres mål er å gjøre produktet attraktivt og enkelt å bruke ved å designe en intuitiv og logisk brukerflate.

Tester
Ansvaret for å teste produkter eller tjenester for å sikre at de oppfyller kravene til kvalitet, funksjonalitet og ytelse.
- Identifisere eventuelle feil eller mangler, og å rapportere tilbake til utviklingsteamet.
- Tester utfører en rekke forskjellige typer tester, inkludert manuelle tester, automatisert testing og ytelsestesting.
- Sørger for at produkter eller tjenester overholder bransjestandarder og lover.
- Tester spiller en viktig rolle i å sikre at produkter eller tjenester levert til kundene er av høy kvalitet og oppfyller deres forventninger.

Lean arbeidsmetodikk
Lean arbeidsmetodikk
Lean er en filosofi og tankemåte som handler om at ledere og medarbeidere i en virksomhet jobber sammen over tid for å øke verdi for kunde – mot en sømløs prosess uten sløsing av ressurser, tid eller innsats.
Med andre ord, levere mer verdi med mindre innsats.

Lean er en arbeidsprosess som kan bestå av en rekke steg som er designet for å forbedre prosessene, eliminere spild og øke effektiviteten

Lean's 5 prinsipper
- Fokus på kundeverdi: Identifisere og fokusere på de tingene som kunden virkelig trenger og eliminere alt som ikke gir verdi.
- Kartlegge verdistrømmen: hvilke aktiviteter gir oss verdi, og hva blir beregnet som "waste".
- Flyt: Sørge for at arbeidet beveger seg jevnt og effektivt gjennom prosessen. (Draw a pig)
- Pull-systemer: Arbeidet skal bare produseres når det er etterspurt av kunden.
- Kontinuerlig forbedring: Stadig forbedring av prosessene for å øke effektiviteten og verdien for kunden.



Eksempel på et selskap som benytter Lean arbeidsmetodikk: Toyota
Toyota
- Kjent for å ha utviklet og implementert Lean-metodikken, også kjent som Toyotaproduksjonen, for å forbedre effektiviteten og kvaliteten i produksjonen av biler.
- Lean-metodikken brukes til å identifisere og redusere avfall i hele bilproduksjonsprosessen, inkludert design, innkjøp, produksjon, distribusjon og kundeservice. Ved å minimere avfall og øke produktiviteten, har Toyota vært i stand til å redusere kostnadene, øke kvaliteten og øke kundetilfredshet.
Eksempler på andre selskaper
-
General Electric (GE) rapporterte at de sparte over 100 millioner dollar ved å implementere Lean-metodikken i en av deres fabrikker.
-
Boeing rapporterte å ha spart mer enn 1 milliard dollar ved å benytte Lean-metodikken i deres produksjonsprosesser.
-
Johnson Controls rapporterte å ha spart over 100 millioner dollar ved å benytte Lean-metodikken i deres produksjonsanlegg.
-
Ford rapporterer at de har spart mer enn 10 milliarder dollar siden de begynte å benytte Lean-metodikken i 1980-årene.
Google benytter Lean-metodikken for å forbedre effektiviteten i utviklingen av programvareprodukter.
De ønsker å komme ut med et nytt produkt som heter: Google Meet Pro.
Produktet er ment til å bli brukt som en kommunikasjons kanal for it-selskaper, hvor det skal være mulig å integrere løsningen som en tredjeparts leverandør hvis ønskelig.
Spørsmål dere skal tenke over:
- Hvilke roller har de behov for i teamet sitt?
- Hvilke steg må google igjennom når de benytter Lean prosessen?
- Hvilke fordeler vil det gi google at de benytter Lean arbeidsmetodikk?
- Hva tenker du er ulempen med Lean for google?

Oppgave:
Roller og Lean arbeidsmetodikk
By Camilla Larsen
Roller og Lean arbeidsmetodikk
- 491