Kursen presenterar grundläggande programvarutekniska koncept och diskuterar hur de tillämpas inom modern programvaruutveckling. Den diskuterar aktuella problem inom den traditionella programvarutekniken och presenterar hur de har hanterats med moderna metoder. Parallellt med att utvecklingscykeln gås igenom, kommer kursen att presentera olika moderna metoder såsom iterativ utveckling, parprogrammering, refactoring, testa-först-programmering, release-planering, retrospektiv, och visa hur de kombineras. Slutligen presenterar kursen framtida metodologiska trender.
Kursen är integrerad med två andra projektkurser, som tillsammans täcker både teori och praktik av moderna utvecklingsmetoder. Under denna kurs kommer studenterna att bekanta sig med teorin, medan under projektkurserna ska studenten praktisera de moderna metoderna.