Kursplan för läsåret 2007/2008
COACHNING AV PROGRAMVARUTEAMEDA270
Coaching of Programming Teams

Antal högskolepoäng: 9. Betygskala: UG. Nivå: A (Avancerad nivå). Undervisningsspråk: Kursen ges på svenska. Valfri för: C4, C4da, D3, D3ps. Kursansvarig: Univ.lektor Görel Hedin, Gorel.Hedin@cs.lth.se, Inst f datavetenskap. Förkunskapskrav: EDA027 Algoritmer och datastrukturer, EDA061 Objektorienterad modellering och design, EDA260 Programvaruutveckling i grupp - projekt. Begränsat antal platser: Ja. Urvalskriterier: Exakt antal platser beror på antalet studenter i EDA260. Urvalskriterier: Deltagarna kommer att ha ett ansvar för att leda yngre studenter och det är värdefullt att de har god förmåga vad gäller såväl tekniskt kunnande inom programvaruutveckling som allmän mogenhet och ansvarskänsla. Urvalet görs genom sammanvägning av betyg i centrala programvarutekniska kurser (Programmering, Algodat, OMD, Realtidsprogrammering/Nätverksprogrammering), totalt antal uppnådda poäng på programmet samt, vid behov, intervju. Prestationsbedömning: Alla kursmoment är obligatoriska. För godkänt krävs fullgjord teoridel, fullgjord praktikdel och fullgjord djupstudiedel. Detaljerade föreskrifter angående fullgörande av obligatoriska moment kommer att finnas i kursprogrammet. Hemsida: http://www.cs.lth.se/EDA270.

Syfte
Många civilingenjörer hamnar under sin karriär i ledande positioner av olika slag. Syftet med kursen är att ge kunskaper om och praktisk erfarenhet av hur man leder och coachar programvaruteam. Kursen ger också en fördjupning inom principer för agil programvaruutveckling.

Mål

Kunskap och förståelse
För godkänd kurs skall studenten

Färdighet och förmåga
För godkänd kurs skall studenten

Innehåll
Kursen består av tre delat över två läsperioder: en teoridel (första läsperioden), en praktikdel (andra läsperioden), samt en djupstudiedel (huvudsakligen andra läsperioden).

Teoridelen består av obligatoriska föreläsningar/diskussioner samt obligatoriska hemuppgifter. Innehållet tar dels upp allmän metodik för ledarskap och coaching, dels fördjupning i metodik för agil programvaruutveckling, med fokus på extremprogrammering. Inom ledarskap och coaching tas bl.a. följande upp: coaching av lärande team, ledarroller, peopleware, FIRO, Lencioni's femstegsmodell, gruppdynamiska roller, coaching practices. Inom programutvecklingsmetodik tas bl.a. följande upp: mönster för dokumentation av erfarenhet, användning av metaforer för arkitektur, metodik för testdriven design och parprogrammering, agil planering, prioritering och uppföljning, agil konfigurationshantering. Vidareutveckling av kursen sker kontinuerligt och detaljinnehållet kan därför variera till viss del från år till år.

I praktikdelen får deltagarna coacha ett programvaruteam från kursen EDA260 (Programvaruutveckling i grupp - projekt). I denna del ingår att ta fram en initial prototyp och arkitektur för en produkt, coachingmöten där coacherna får handledning, planeringsmöten med teamet, coaching av teamet under heldagslaborationer, samt deltagande i avslutande teamredovisning. Vid coachingmötena diskuteras kopplingar till teorin, och deltagarna får också stor möjlighet att ta del av varandras erfarenheter.

I djupstudiedelen får deltagarna välja ett specifikt ämne som studeras djupare och där praktikdelen kan utnyttjas för att samla material till studien. Redovisningen sker genom ett antal skriftliga och muntliga moment. Deltagarna får också granska varandras rapporter och presentationer. Bland ämnen som valts av tidigare deltagare ingår såväl sådana som är inriktade mot coaching och projektledning, som mer programvarutekniska ämnen, t.ex. verktyg och agila programutvecklingstekniker.

Litteratur
En av följande böcker används:
Jeffries, R. et al: Extreme Programming Installed. Addison Wesley 2001. ISBN: 0-201-70842-6.
chromatic: Extreme Programming Pocket Guide. O'Reilly 2003. ISBN: 0-596-00485-0.
Dessutom tillkommer kursmaterial i form av artiklar.