Kursplanen innehåller ändringar
Se ändringarKursplan fastställd 2021-02-26 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
- Blockschema
- Sökbar för utbytesstudenterJa
Poängfördelning
Modul | LP1 | LP2 | LP3 | LP4 | Sommar | Ej LP | Tentamensdatum |
---|---|---|---|---|---|---|---|
0107 Projekt 4,5 hp Betygsskala: UG | 4,5 hp | ||||||
0207 Tentamen 3 hp Betygsskala: TH | 3 hp |
|
I program
- MPIDE - INTERAKTIONSDESIGN, MASTERPROGRAM, Årskurs 2 (valbar)
- MPSOF - SOFTWARE ENGINEERING AND TECHNOLOGY - UTVECKLING OCH IMPLEMENTERING AV MJUKVARA, MASTERPROGRAM, Årskurs 1 (obligatoriskt valbar)
Examinator
- Eric Knauss
- Avdelningschef, Interaktionsdesign och Software Engineering, Data- och informationsteknik
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 6Sö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 praktikLä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
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.
Kursens examinator får examinera enstaka studenter på annat sätt än vad som anges ovan om särskilda skäl föreligger, till exempel om en student har ett beslut från Chalmers om pedagogiskt stöd på grund av funktionsnedsättning.
Kursplanen innehåller ändringar
- Ändring gjord på tentamen:
- 2021-09-21: Plussning Ändrat till plussning av GRULG
Beslut GRULG, plussning tillåten
- 2021-09-21: Plussning Ändrat till plussning av GRULG