Kursplan för Agile development processes

Kursplan fastställd 2020-02-20 av programansvarig (eller motsvarande).

Kursöversikt

  • Engelskt namnAgile development processes
  • KurskodEDA397
  • Omfattning7,5 Högskolepoäng
  • ÄgareMPSOF
  • UtbildningsnivåAvancerad nivå
  • HuvudområdeDatateknik, Industriell ekonomi, Informationsteknik
  • InstitutionDATA- OCH INFORMATIONSTEKNIK
  • BetygsskalaTH - Mycket väl godkänd (5), Väl godkänd (4), Godkänd (3), Underkänd

Kurstillfälle 1

  • Undervisningsspråk Engelska
  • Anmälningskod 24117
  • Max antal deltagare65
  • Sökbar för utbytesstudenterJa

Poängfördelning

0107 Projekt 4,5 hp
Betygsskala: UG
4,5 hp
    0207 Tentamen 3 hp
    Betygsskala: TH
    3 hp
    • 01 Jun 2021 em L
    • 10 Okt 2020 fm L
    • 26 Aug 2021 em L

    I program

    Examinator

    Gå till kurshemsidan (Öppnas i ny flik)

    Behörighet

    Grundläggande behörighet för avancerad nivå
    Sökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.

    Särskild behörighet

    Engelska 6
    Sökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.

    Kursspecifika förkunskaper

    För att vara behörig till kursen krävs minst:

    • en kandidatexamen i Software Engineering, datavetenskap, informationsteknik, informationssystem eller motsvarande.
    • en avslutad kurs i programmering (t.ex. TDA548 Grundläggande programvaruutveckling, DAT043/DAT050 Objektorienterad programmering, TDA452 Funktionell programmering eller motsvarande);
    • en avslutad projektkurs (eller kandidatuppsats) i tillämpad programvaruutveckling, datavetenskap eller mjukvaruutveckling (t.ex. TDA367 Objektorienterat programmeringsprojekt eller DAT256 Software Engineering Project).

    Syfte

    Modern mjukvaruutveckling inom industrin har antagit agila principer och metoder, för att t.ex. öka kundfokus, öka hastigheten på utveckling och releaser, och omfamna förändringar. Kursen syftar till att lära sig om mjukvara design och utveckling med hjälp av dessa metoder och principer, i både teori och praktik

    Lärandemål (efter fullgjord kurs ska studenten kunna)

    • Kunskap och förståelse
      • Jämföra agil mjukvaruutveckling med traditionell mjukvaruutveckling
      • Använda det agila manifestet och dess tillhörande principer
      • Diskutera skillnader mellan att leda ett agilt team och ett mer traditionellt team
      • Förklara hur mjukvaruutveckling primärt kan ses som människo- och kommunikations-centrerad
      • Förklara hur agila principer och utvecklingsmetoder kan anpassas för stora organisationer
      • Förklara viktiga roller i den agila utvecklingsprocessen och diskutera olika nivåer av teamledarskap
      • Beskriva ramverket/verktyget the Scaled Agile Framework (SAFe)
      • Beskriva en agil transformation i traditionella mjukvaruföretag
    • Förmågor och färdigheter
      • Organisera ett agilt team för att maximera produktiviteten och underlätta kommunikationen mellan människor
      • Samarbeta och tillämpa ett agilt sätt att arbeta i små mjukvaruutvecklingsteam
      • Interagera med och kontinuerligt demonstrera framsteg för en kund eller användare
      • Utveckla program i korta och frekventa iterationer på ett sätt som underlättar att bygga kvalitet från början
      • Använda testdriven utveckling och testautomation, omstrukturera ett program och en design, samt genomföra stegvis planering med hjälp av användarhistorier
      • Identifiera och eliminera onödiga aktiviteter i mjukvaruutvecklingsprocessen
      • Utforma mätsystem för att följa kontinuerlig förbättring av ett teams prestationer
    • Värderingsförmåga och förhållningssätt
      • Förklara hur mjukvaruutveckling primärt kan ses som primärt människo- och kommunikations-centrerad
      • Beskriva varför ingen enskild metod kan passa alla projekt eller kontexter
      • Kritiskt utvärdera agila utvecklingsmetoder förutsatt en given kontext och identifiera vanliga missuppfattningar
      • Identifiera stora problem/hinder i ett team och de faser genomgår under agil transformation
      • Uppmärksamma/urskilja vad som motiverar människor för få/nå bästa prestation

    Innehåll

    Agil mjukvaruutveckling strävar efter att etablera en mjukvaruutveckling grundad på följande principer från det agila manifestet:
    • Individer och interaktioner värderas mer än processer och verktyg
    • Fungerande programvara värderas mer än omfattande dokumentation
    • Kundsamarbete värderas mer än kontraktsförhandling
    • Anpassning till förändring värderas mer än att följa en plan
    Kärnan i dessa principer är insikten att förändringar är oundvikliga och slutsatsen att förändringshantering behöver integreras i utvecklingsprocessen. Agila förhållningssätt främjar iterativ och inkrementell utveckling genom en mycket kort design-kod-test-cykel.

    I denna interaktiva kurs utforskar vi tillsammans tillämpning av dessa agila principer för mjukvaruutveckling och projektstyrning.

    Kursen omfattar:
    • Principer och praxis för agila metoder så som XP, Scrum och Lean
    • Testning och testautomation på både enhets- och systemnivå
    • Kommunikation- och människocentrerad mjukvaruutveckling
    • Agila metoder i relation med mer traditionella och planbaserade metoder
    • Kritik av agila metoder
    • Leda agila utvecklingsprojekt och identifiera viktiga roller
    • Anpassa agila principer och praxis till större organisationer
    • Mäta viktiga resultatindikatorerinom i agila team

    Organisation

    Kursen består av föreläsningar, samt en projektdel där mjukvara utvecklas med agila förhållningssätt.

    Litteratur

    Se separat litteraturlista.

    Examination inklusive obligatoriska moment

    Kursens betygsskala är U, 3, 4 och 5. Projektets (4,5hp) betygskala är U och G. Tentamens (3hp) betygskala är U, 3, 4 och 5.

    Ett godkänt betyg för hela kursen kräver åtminstone ett godkänt betyg på alla moment. För att få ett högre betyg än godkänt för hela kursen krävs ett högre betyg i tentamen.