Distributed Software Engineering Laboratory

Peter Kolb, Bertrand Meyer, Martin Nordio, Fall 2015


Course description

252-0273-01L Distributed Software Engineering Laboratory

Web page at the computer science department: 252-0273-01L

Student article about the laboratory in VIS Visionen.

A remarkable phenomenon is affecting the software development scene: the massive transfer of developments to countries such as India and Russia offering highly qualified manpower at rock-bottom salaries. The outsourcing business is already in the hundreds of billions of dollars, causes employment fears among Western programmers, and has consequences on just about every aspect of software development (including education). Offshoring also serves as a magnifier of most of the issues of software engineering, including for example requirements analysis and quality control.

This course explores the offshoring phenomenon from a technical software engineering perspective, providing a set of guidelines for making outsourced projects succeed, through both management approaches (in particular the CMMI) and technical solutions in areas of requirements, specification, design, documentation and quality control. The presentation is based on experience of outsourcing at ABB and other companies.

The participants will take part in a case study exploring techniques for making an offshored project succeed (or recover from problems).

This course provides students with a clear view of the offshore software development phenomenon, enabling them to participate successfully in projects outsourced partially or totally, and also helping them define their own career strategies in the context of outsourcing's continued growth.

A Distributed Project

The course project will be in collaboration with other universities. Preliminary partners are:


Course books

Further reading

About Software engineering: About Requirements engineering: About patterns:


Day Time Room
Tuesday (exercise) (starts 22.09.2015) 09:00-10:00 (self-study) and 12:00-13:00 (exercise with TA) RZ F 21
Tuesday (lecture) 10:00-12:00 RZ F 21


The project will be managed using Github.

All content is located at https://github.com/DOSE-ETH/dose2015. It is a private repository that you can only access once we have added you as a member.

Project Deadlines

The project deadlines are available in the Github wiki.


In the 2010 iteration of the course we made recordings of all lectures.

Date Lecture Title Slides Readings
15.09.2015 1 Introduction The Unspoken Revolution in Software Engineering / Design and code reviews in the age of the internet
22.09.2015 2 Introduction to Distributed and Outsourced Software Engineering no slides
29.09.2015 3 Preparation for Outsourcing PDF
06.10.2015 4 Requirements Engineering PDF
13.10.2015 5 Requirements exercise no slides
20.10.2015 6 Preparation for Outsourcing same as week 3
27.10.2015 7 Requirements Engineering II PDF
03.11.2015 8 Preparation for Outsourcing II same as week 3
10.11.2015 9 Introduction to CMMI PDF

Exercise Material

Date Title Slides
29.09.2015 Introduction to Eiffel - Part 1 PDF
06.10.2015 Introduction to Eiffel - Part 2 PDF
13.10.2015 Introduction to Eiffel - Part 2 (continue) PDF
20.10.2015 Introduction to Eiffel - Part 3 PDF
27.10.2015 Discussion
03.11.2015 Discussion
10.11.2015 Introduction to Eiffel Vision PDF


Assistant Office Phone Language
Christian Estler RZ J5 044 632 76 84 German / English


Title Deadline
Assignment 1: Setup 29.09.2015
Assignment 2: Implementation and AI Library 10.11.2015
Assignment 3: Implementing a game 29.11.2015
Assignment 4: Bug finding competition 15.12.2015