Distributed Software Engineering Laboratory

Peter Kolb, Bertrand Meyer, Martin Nordio, Fall 2014



16.09.2014Exercise sessions only start on 23.09.14. The lectures start on 16.09.14.
03.09.2014 — The web page was created. See also last year's page.

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) 09:00-10:00 and 12:00-13:00 RZ F 21
Tuesday (lecture) 10:00-12:00 RZ F 21


To be announced.


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

Date Lecture Title Slides Readings
16.09.2014 1 Introduction to Distributed and Outsourced Software Engineering PDF The Unspoken Revolution in Software Engineering / Design and code reviews in the age of the internet
23.09.2014 2 Introduction to Distributed and Outsourced Software Engineering same as week 1  
30.09.2014 3 Preparation for Outsourcing PDF
07.10.2014 4 Requirements Engineering PDF
14.10.2014 5 Requirements exercise no slides
21.10.2014 6 Preparation for Outsourcing same as week 3
28.10.2014 7 Introduction to CMMI PDF
04.11.2014 8 CMMI -- Process Areas and Generic Practices
11.11.2014 9 Agile Software Development
18.11.2014 10 CMMI exercise: Processes and Practices
25.11.2014 10 CMMI -- Process Areas and Generic Practices II
2.12.2014 11 Agile Software Development II
9.12.2014 12 Risk Management
16.12.2014 13 Final presentation

Exercise Material

Date Title Slides
07.10.2014 Introduction to Eiffel - Part 1 PDF
14.10.2014 Exercise on requirements
21.10.2014 Introduction to Eiffel - Part 2 PDF
28.10.2014 Introduction to Eiffel - Part 3 PDF


Assistant Office Phone Language
Christian Estler RZ J8 044 632 76 84 German / English
Julian Tschannen RZ J3 044 632 44 49 German / English


Title Deadline
Assignment 1: Setup 19.10.2014
Assignment 2: Requirements Consolidation 31.10.2014
Assignment 3: Architecture and API Design 11.11.2014