Distributed and Outsourced Software Engineering

Peter Kolb, Bertrand Meyer, Fall 2010



21.12.2010 — Video of final presentation is available.

14.12.2010 — Video of thirteenth lecture is available

10.12.2010 — Assignment 5 is online.

30.11.2010 — Videos of twelfth lecture are available.

30.11.2010 — Videos and slides of eleventh lecture are available.

16.11.2010 — Videos and slides of ninth lecture are available. Assignment 4 is online.

09.11.2010 — Videos of eighth lecture are available.

02.11.2010 — Videos of seventh lecture are available.

26.10.2010 — Videos of sixth lecture are available.

26.10.2010 — Slides of lecture 6 have been updated

19.10.2010 — Videos of contest discussion and fifth lecture are available.

18.10.2010 — Assignment 2 is online.

12.10.2010 — Slides of lecture 4 have been updated

12.10.2010 — Videos of fourth lecture are available.

05.10.2010 — Videos of third lecture are available.

28.09.2010 — Videos of second lecture are available.

21.09.2010 — Slides of lecture 1 have been updated

21.09.2010 — Videos of first lecture are available.

20.09.2010 — The first assignment is here.

20.09.2010 — The course starts on Tuesday 21.09.2010 at 10hs (there is no exercise session at 9hs)

29.08.2010 — The list of universities involved in the project has been published

30.07.2010 — The web page was created. See also last year's page

Course description

252-0239-00L Distributed and Outsourced Software Engineering

Web page at the computer science department: 251-0273-00

Article about the course

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 11 universities. The universities involved in the project are:


Course books

Further reading

About Software engineering: About Requirements engineering: About patterns:


Day Time Room
Tuesday 10:00-12:00 IFW C 42


The project will be managed using the Origo project management framework

The course project is located at http://dose2010.origo.ethz.ch/


Requirements Specification

Quality assurance plan

Examples of Requirements Specification Documents

These documents are examples of good requirements specification documents. They were developed by last year students. However, they do not include API specifications.


On the Origo page



Date Lecture Title Video Slides Readings
21.09.2010 1 Introduction to the topic of Offshoring and Outsourcing in software development available Final version Intro Overview article: The Unspoken Revolution in Software Engineering Bertrand Meyer, 2006 Design and code reviews in the age of the internet Bertrand Meyer, 2008
28.09.2010 2 Offshoring and Outsourcing in software development II available  
05.10.2010 3 Requirements Engineering I available Final version requirements On Formalism in Specifications, Bertrand Meyer, IEEE Software, January 1985.
12.10.2010 4 Challenges and practical advice for distributed projects available Final version Challenges  
19.10.2010 5 Requirements Engineering II available
26.10.2010 6 Introduction to CMMI and CMMI Exercise available Final version CMMi CMMi Excercise Questions, Pages 100-500 of CMMi Version 1.2.
02.11.2010 7 CMMI Generic Goals and Practices available  
09.11.2010 8 Cost Model for Outsourcing available Final version Cost Model  
16.11.2010 9 Risk Management available Final version Risk Management  
23.11.2010 10 FOSE conference      
30.11.2010 11 Quality Assurance available Final version Project Management Model for Outsourced Projects  
07.12.2010 12 Supplier Agreement Management available    
14.12.2010 13 Quality Assurance & Conclusion available    
21.12.2010 14 Project Presentations available    



Day Time Room
Tuesday 9:00-10:00 IFW C 42


Assistant Office Phone Language
Martin Nordio RZ J3 044 632 02 97 English
Julian Tschannen RZ J3 044 632 44 49 German


Title Deadline
Assignment 0 06.10.2010
Assignment 1 19.10.2010
Assignment 2 04.11.2010
Assignment 3 15.11.2010
Assignment 4 14.12.2010
Assignment 5 21.12.2010

Valid XHTML 1.0 Strict