Kursplan

Programvareutvikling 5 dager

Dag 1: Prosjektledelse

  • Prosjekter versus linjeledelse, vedlikehold og støtte
  • Prosjektdefinisjon og prosjektskjemaer
  • Ledelse – generelle regler og prosjektledelse
  • Ledelsesstiler
  • Hva er spesielt med IT-prosjekter?
  • Basisk prosjektprosess
  • Iterativ, inkrementell, vannfallsmetode, agil og lean prosjektprosess
  • Prosjektfaser
  • Prosjektroller
  • Prosjektdokumentasjon og andre artefakter
  • Myke faktorer og menneskelig ferdigheter
  • PRINCE 2, PMBOK, PMI, IPMA og andre prosjektstandarder

Dag 2: Forretningsanalyse og grunnleggende kravstilling

  • Definering av forretningsmål
  • Forretningsanalyse, forretningsprosessledelse, forretningsprosessforbedring
  • Grenseflaten mellom forretningsanalyse og systemanalyse
  • Systeminteressenter, systembrukere, systemkontekst og systemgrenser
  • Hvorfor er krav nødvendige?
  • Hva er kravstilling
  • Grenseflaten mellom kravstilling og arkitekturdesign
  • Hvor skjuler kravstilling seg ofte?
  • Kravstilling i iterativ, lean og agil utvikling og i kontinuerlig integrering – FDD, DDD, BDD, TDD
  • Basisk kravstillingprosess, roller og artefakter
  • Standarder og sertifiseringer: BABOK, ISO/IEEE 29148, IREB, BCS, IIBA

Dag 3: Arkitektur og grunnleggende utvikling

  • Programmeringsspråk – strukturelt og objektorienterte paradigmer
  • Objektorientert utvikling – hvor mye er historie, hvor mye er fremtid
  • Modularitet, portabilitet, vedlikeholdbarhet og skalbarhet i arkitekturer
  • Definisjon og type programvarearkitekturer
  • Bedriftsarkitektur og systemarkitektur
  • Programmeringsstiler
  • Programmeringsmiljøer
  • Programmeringsfeil og hvordan unngå og forebygge dem
  • Modellering av arkitektur og komponenter
  • SOA, Web Services og mikrotjenester
  • Automatisk byggeprosess og kontinuerlig integrering
  • Hvor mye arkitekturdesign er det på et prosjekt?
  • Extreme programming, TDD og refaktorering

Dag 4: Grunnleggende kvalitetssikring og testing

  • Produktkvalitet: hva er det? ISO 25010, FURPS osv.
  • Produktkvalitet, brukeropplevelse, Kano-modellen, kundepåvirkning og helhetlig kvalitet
  • Brukerorientert design, personligheter og andre måter å gjøre kvalitet individuell
  • Riktig kvalitet
  • Kvalitetssikring og kvalitetskontroll
  • Risikostrategier i kvalitetskontroll
  • Komponentene i kvalitetssikring: krav, prosesskontroll, konfigurasjons- og endringsstyring, verifisering, validering, testing, statisk testing og statisk analyse
  • Risikobasert kvalitetssikring
  • Risikobasert testing
  • Risikodrevet utvikling
  • Boehms kurve i kvalitetssikring og i testing
  • De fire testskolene – hvilken passer din behov?

Dag 5: Prosesstyper, modenhet og prosessforbedring

  • Utviklingen av IT-prosesser: fra Alan Turing til lean startup
  • Prosess og prosessorientert organisasjon
  • Historien om prosesser i håndverk og industri
  • Prosessmodellering: UML, BPMN og mer
  • Prosessledelse, prosessoptimalisering, prosessomforming og prosessledelsessystemer
  • Innovative prosessmetoder: Deming, Juran, TPS, Kaizen
  • Er (prosess)kvalitet gratis? (Philip Crosby)
  • Behovet og historien om modenhetsforbedring: CMMI, SPICE og andre modenhetsskalaer
  • Spesielle typer modenhet: TMM, TPI (for testing), kravstilling modenhet (Gorschek)
  • Prosessmodenhet versus produktmodenhet: noen korrelasjon? Noen årsakssammenheng?
  • Prosessmodenhet versus forretningssuksess: noen korrelasjon? Noen årsakssammenheng?
  • En glemt leksjon: Automatisk feilforebygging og neste hopp i produktivitet
  • Forsøk: TQM, SixSigma, agile retrospectives, prosessrammeverk

Kravstilling - 2 dager

Dag 1: Eksponering, forhandling, konsolidering og håndtering av krav

  • Å finne krav: hva, når og av hvem
  • Klassifisering av interessenter
  • Glemte interessenter
  • Definering av systemkontekst – definering av kravkilder
  • Eksponeringsmetoder og -teknikker
  • Prototyper, personligheter og kraveksponering gjennom testing (utforskende og annet)
  • Markedsføring og kraveksponering – MDRA (“Markedsdrevet kravstilling”)
  • Prioritering av krav: MoSCoW, Karl Wiegers og andre teknikker (inkludert agil MMF)
  • Refinering av krav – agils “eksempelbasert spesifikasjon”
  • Kravforhandling: typer konflikter, konfliktløsningsmetoder
  • Løsning av interne uoverensstemmelser mellom typer krav (for eksempel sikkerhet versus brukervennlighet)
  • Kravsporing – hvorfor og hvordan
  • Endringer i kravstatus
  • Krav CCM, versjonskontroll og baselinjer
  • Produktsyn og prosjektsyn på krav
  • Produktledelse og kravledelse i prosjekter

Dag 2: Analyse, modellering, spesifikasjon, verifisering og validering av krav

  • Analyse er tenkingen og omtenkingen du gjør mellom eksponering og spesifikasjon
  • Kravprosessen er alltid iterativ, selv i sekvensielle prosjekter
  • Beskrive krav på naturlig språk: risikoer og fordeler
  • Kravmodellering: fordeler og kostnader
  • Reglene for bruk av naturlig språk for kravspesifikasjon
  • Definering og håndtering av kravglossarium
  • UML, BPMN og andre formelle og semi-formelle modelleringnotasjoner for krav
  • Bruk av dokument- og setningsskjemaer for kravbeskrivelse
  • Verifisering av krav – mål, nivåer og metoder
  • Validering – med prototyping, gjennomganger og inspeksjoner, og testing
  • Kravvalidering og systemvalidering

Testing - 2 dager

Dag 1: Testdesign, testkjøring og utforskende testing

  • Testdesign: etter risikobasert testing, valg av den optimale måten å bruke tilgjengelig tid og ressurser
  • Testdesign “fra uendelighet til her” – utmattende testing er ikke mulig
  • Testtilfeller og testscenarier
  • Testdesign på ulike testnivåer (fra enhet til systemtestnivå)
  • Testdesign for statisk og dynamisk testing
  • Forretningsorientert og teknikkorientert testdesign (“black-box” og “white-box”)
  • Prøve å bryte systemet (“negativ testing”) og støtte utviklerne (aksepteringstesting)
  • Testdesign for å oppnå testdekning – ulike testdekningsmål
  • Erfaringbasert testdesign
  • Designing av testtilfeller fra krav og systemmodeller
  • Testdesignheuristikker og utforskende testing
  • Når skal man designe testtilfeller? – tradisjonell og utforskende tilnærming
  • Beskrivelse av testtilfeller – hvor mye detaljer?
  • Testkjøring – psykologiske aspekter
  • Testkjøring – loggføring og rapportering
  • Design av tester for “ikke-funksjonelle” tester
  • Automatisk testdesign og MBT (Model-Based Testing)

Dag 2: Testorganisering, ledelse og automatisering

  • Testnivåer (eller faser)
  • Hvem gjør testingen, og når? – ulike løsninger
  • Testmiljøer: kostnad, administrasjon, tilgang, ansvar
  • Simulatorer, emulatorer og virtuelle testmiljøer
  • Testing i agil scrum
  • Testteamorganisering og roller
  • Testprosess
  • Testautomatisering – hva kan automatiseres?
  • Automatisering av testkjøring – tilnærminger og verktøy
 63 timer

Antall deltakere


Pris per deltaker

Referanser (5)

Kommende kurs

Relaterte kategorier