kunna redogöra för och motivera olika delteknikerna inom agil mjukvaruutveckling.
kunna definiera grundläggande begrepp inom utveckling av programvarusystem.
kunna beskriva de vanligaste processerna för utveckling av stora programvarusystem.
Färdighet och förmåga
kunna utveckla och leverera en hållbar programvaruprodukt i samarbete med andra.
kunna tillämpa tekniker och verktyg för agil mjukvaruutveckling.
kunna tillämpa iterativ planering och uppföljning.
kunna reflektera över sina egna och teamets aktiviteter i ett utvecklingsprojekt och förstå hur dessa tillsammans bidrar till en bra utvecklingsprocess.
visa förmåga till lagarbete och samverkan i en grupp - både i aktiviteter med hela gruppen och i mindre konstellationer.
Värderingsförmåga och förhållningssätt
visa färdighet att kunna bedöma programvara och möjligheter till förbättring.
visa färdighet att identifiera sitt och gruppens behov av ytterligare kunskap och fortlöpande bidra till att utveckla och utvidga gruppens kunskaper och färdigheter inom de områden som projektet kräver.
Kursinnehåll
En konkret iterativ, så kallad agil, programutvecklingsmetodik används där studenterna tränas i att arbeta i grupp, med deltekniker som iterativ planering, automatiserad testning, test-driven utveckling, parprogrammering, refaktorisering, kodgranskning och täta leveranser. Kundens/användarens krav formuleras och prioriteras i samarbete med studenterna. Därigenom får studenterna inblick i de olika rollerna i processen exempelvis som kund/användare, projektledare och utvecklare samt förståelse för användarens behov och hur de kan hanteras. Kursen ger praktisk erfarenhet av hur ett småskaligt projekt kan drivas och ger därmed en referensram för påbyggnadskurser, som behandlar metodik för programutveckling för större projekt och organisationer. Kursen går över två läsperioder. Under den första perioden varvas föreläsningar med laborationer på enskilda moment som planering, testning, versionshantering och refaktorisering. Under andra perioden delas studenterna in i grupper om cirka 10 personer. Varje grupp driver ett programutvecklingsprojekt som en serie av planeringsmöten varvade med långlaborationer och med en avslutande projektredovisning.
Förutsättningar
Samtliga obligatoriska moment i kursen EDA061/EDAF60 eller EDAF10. Dessutom godkänd tentamen i någon av kurserna EDAA01, EDA027, EDA061/EDAF60, EDAF10.