252-0273-01L  Distributed and Outsourced Software Engineering

SemesterAutumn Semester 2010
LecturersB. Meyer, P. Kolb
Periodicityyearly recurring course
Language of instructionEnglish


AbstractThe DOSE course introduces the software engineering principles and techniques appropriate for the increasingly prevalent style of modern software development, involving teams spread across teams, companies and countries.

The course involves a distributed project conducted in cooperation with student teams from other universities.
ObjectiveModern software development is increasingly *distributed*: projects are developed by different groups collaborating across teams, companies, countries, timezones. This setup radically alters the assumptions underlying many of the traditional views of software engineering.

The DOSE course introduces the principles and techniques for this new paradigm. In line with the "distributed" nature of the topic, the project is performed in collaboration with student teams from other universities in various countries.This course provides students with a clear view of distributed software development, enabling them to participate successfully in distributed projects, and also helping them to devise their own career strategies in the context of the continued trend towards outsourcing.
ContentBasics of distributed development

The outsourcing phenomenon; country review.

Requirements engineering for distributed projects

Quality assurance for distributed projects.

Process models (especially CMMI) and agile methods

Supplier assessment and qualification.

Negotiating a contract for a distributed project.

Software project management for distributed projects.

Role of interfaces and other technical issues of distributed development.


A key part of the course is the course project, performed in groups involving teams from other universities. Students get to practice distributed developmemt directly, experiencing issues and applying techniques presented in the course.
Lecture notesThe course page includes the full set of slides and links to supplementary documentation.
Prerequisites / NoticePrerequisites: Basic understanding of programming.