Kursplan för Agile development processes

Kursplanen innehåller ändringar
Se ändringar

Kursplan fastställd 2019-02-21 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 - Fem, Fyra, Tre, Underkänd

Kurstillfälle 1

  • Undervisningsspråk Engelska
  • Anmälningskod 24111
  • 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
  • 02 Jun 2020 em L
  • 12 Okt 2019 fm L
  • 27 Aug 2020 fm L

I program

Examinator

Gå till kurshemsidan (Öppnas i ny flik)

Ersätter

  • EDA395 Individuell programvaruutveckling och processförbättring
  • EDA396 Agile development processes

Behörighet

Information saknas

Särskild behörighet

För kurser på avancerad nivå gäller samma grundläggande och särskilda behörighetskrav som till det kursägande programmet. (När kursen är på avancerad nivå men ägs av ett grundnivåprogram gäller dock tillträdeskrav för avancerad nivå.)
Undantag från tillträdeskraven: 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 (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)

  1. Kunskap och förståelse
    • Jämföra agil mjukvaruutveckling med mer traditionell
    • Sätta lean i relation till agil utveckling
    • Kontrastera olika agila metoder
    • Använda det agila manifestet och dess principer
    • Diskutera skillnader mellan att leda ett agilt team och ett mer traditionellt
  2. Förmågor och färdigheter
    • Organiskt bilda ett team
    • Samarbeta i små mjukvaruutvecklingsteam
    • Interagera med och kontinuerligt demonstrera framsteg för en kund eller användare
    • Utveckla program i korta och frekventa iterationer
    • Använda testdriven utveckling och testautomation
    • Refaktorera ett program och en design
    • Vara medlem i ett agilt team
    • Utföra inkrementell planering medelst user stories
  3. Värderingsförmåga och förhållningssätt
    • Förklara hur mjukvaruutveckling kan ses som primärt människo- och kommunikations-centrerad
    • Tillämpa faktumet att det som primärt driver framgång i projekt är människor
    • Beskriva varför ingen enskild metod kan passa alla projekt eller kontexter
    • Diskutera hur utvecklingsmetoder behöver anpassas till olika mänskliga kulturer och val

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:
  • Ledning och metoder för att utveckla mjukvara inkrementellt
  • Principer för agila processer
  • Vanligt använda agila tillämpningar
  • Kommunikation- och människo-centrerad mjukvaruutveckling
  • Agila metoder i förhållande till mer traditionella, plandrivna metoder
  • Kritik av agila metoder

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

För godkänt krävs godkänd skriftlig tentamen och ett godkänt projekt.

Kursplanen innehåller ändringar

  • Ändring gjord på kurstillfälle:
    • 2020-02-27: Examinator Examinator ändrat från Eric Knauss (knauss) till Darko Durisic (durisic) av Viceprefekt
      [Kurstillfälle 1]