Software engineering for outsourced and offshore development

Peter Kolb, Bertrand Meyer (Fall semester 2007)


General info: Course description | Course books
Lectures: Schedule

General info


17.12.2007 We have created a questionnaire about the project. Please, it is important you fill in it. See here.
05.12.2007 On Thursday 06.12 we will discuss about implementation. All members of the teams must attend the exercise session.
21.11.2007 We have received consortium documents from consortium 2 and 3. Consortium 1, please contact Martin and Roman.
7.11.2007 Feedback about the first requirement document will be given on Thursday, November 8th. At least one member of each consortium must attend the exercise session to discuss the consortium progress.
1.11.2007 Consortia have been formed. See details here.
31.10.2007 Consortia will be form on Thursday, November 1st during exercise sessions.
23.10.2007 Submitions must be sent by e-mail to Martin Nordio and Roman Mitin. Please, send only a pdf file group.pdf where group is the name of your group. Furthermore, the file has to be commited to the SVN repository (at your Origo project page). Please check that Martin Nordio and Roman Mitin are project members of your Origo project.
17.10.2007 Final version of slides of lecture 2 has been added. Link to IEEE Recommended Practice for Software Requirements Specifiations has been added.
11.10.2007 Examples of good requirements documents have been added (at project section).
10.10.2007 Updated version of the slides of lecture 2: Requirements engineering is now available
04.10.2007 A forum to discuss requirements has been created (see here). If you cannot access to it, send an e-mail to Martin Nordio with your Origo user name.
04.10.2007 Projects have been created. If you are not part of any group (see here), send an e-mail to Martin Nordio.
04.10.2007 Project grading added.
26.09.2007 The final version of the slides of lecture 1 ("Introduction to the topic of Offshoring and Outsourcing in software development") is now available
26.09.2007 First exercise session will be on October 4. Groups will be forms and project components will be selected on October 4. More details at CSEL2 project

26.09.2007 Project details has been published. The project will be managed using the Origo project management framework at the CSEL2 project.
24.09.2007 Provisional material has been published. It will be revised as the semester unrolls.
29.08.2007 The web page was created.

Course description

Software engineering for outsourced and offshore development

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

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.



  • 100% Project - The grade will be entirely based on the project


  • Quality of the initial requirements and API - 25%
  • Quality of final requirement and API - 10%
  • Quality of implementation - 25%
  • Quality of system (Consortium) - 25%
  • Extend of testing - 15%


Recommended books

  • Michael Jackson: Requirements & Specifications,1995, Addison Wesley, ISBN: 0-201-87712-0

Further reading

About Software engineering:
  • Bertrand Meyer: Object-Oriented Software Construction, 2nd edition, Prentice Hall, 1997.
  • Barry W. Boehm: Software Engineering Economics, Prentice Hall, 1981.
  • Fred Brooks: No Silver Bullet - Essence and Accident in Software Engineering, in Computer (IEEE), vol. 20, no. 4, pages 10-19, April 1987.
  • John B. Goodenough and Susan Gerhart: Towards a Theory of Test: Data Selection Criteria, in Current Trends in Programming Methodology, ed. Raymond T. Yeh, pages 44-79, Prentice Hall, 1977.
  • Peter Naur: Programming with Action Clusters, in BIT, vol. 3, no. 9, pages 250-258, 1969.
  • Shari Lawrence Pfleeger and Joanne M Atlee: Software Engineering, 3rd edition, Prentice Hall, 2005.
  • SEI (Software Engineering Institute): CMMISM for Software Engineering, Version 1.1, Staged Representation (CMMI-SW, V1.1, Staged), 2005.
About Requirements engineering: About patterns:
  • Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides: Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995, ISBN 0201634988
  • Karine Arnout's Ph.D. thesis: From Patterns to Components. Click here







Wednesday 08:00-10:00 RZ F21


The project will be managed using the Origo project management framework at the CSEL2 project. The CSEL2 project contains details of the project, deadlines, wiki pages and forums. If you do not have an user at Origo, create an account. Send an e-mail to Martin Nordio with your Origo user name.


Requirements Specification

  • Project Template: Software Requirements Spec .pdf, .doc, .rtf
  • A Checklist for a Requirements Specification Review .pdf
  • Slides of Writing Effective Requirements Specifications .pdf

Quality assurance plan

Examples of Requirements Specification Documents

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


  • Oct. 4 Form group, select project component (two possibilities)
  • Oct. 24 Write requirements document for project component, with precise API
  • On the basis of other groups' results form consortium; each consortium must include at least one representative for each component.
  • Nov. 19 Revise requirements and API within consortium
  • Dec. 5 Implement requirements
  • Dec. 19 Test and revise

More details at CSEL2 project








Thurday 10:00-11:00 RZ F21






Martin Nordio RZ F9 044 632 02 97 English
Roman Mitin RZ H 22 044 632 72 90 English



Last update: 2007-11-07