03.12.2012 — The slides for the lecuters "Requirements", "Outsourcing" and "Agile" have been updated.
21.11.2012 — Assignment 5 has been added.
21.11.2012 — Risk Management slides are available.
14.11.2012 — Assignment 4 has been added.
07.11.2012 — Design by Contract material from this week's exercise has been added.
24.10.2012 — Assignment 3 has been added.
22.10.2012 — Assignment 2 has been added.
11.10.2012 — Assignment 1 has been added.
11.10.2012 — Slides from the exercise Introduction to Eiffel - Part 2 and the lectutre on requirements are available.
03.10.2012 — Slides from the exercise Introduction to Eiffel - Part 1 are available.
01.10.2012 — The slides for the third lecture are available.
25.09.2012 — The exercises will now always start at 9am unless we announce otherwise.
24.09.2012 — The slides for the second lecture are available.
24.09.2012 — The exercise session on Tue. Sept. 25th will start at 9.15 am.
18.09.2012 — The video of today's introduction lecture is available on Youtube.
18.09.2012 — Assignment 0 has been added.
17.09.2012 — Lecture slides of the first lecture are now available.
13.09.2012 — There will be no exercise in the first week of the semester. Exercises will start on Tuesday, Sept. 25th.
25.06.2012 — The web page was created. See also last year's page.
252-0273-01L Distributed and Outsourced Software Engineering
Web page at the computer science department: 252-0273-01L
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 other universities. Preliminary partners are:
- ETH Zurich, Switzerland
- Hanoi University of Science and Technology, Vietnam
- ITMO, Russia
- Odessa Polytechnic National University, Ukraine
- Politecnico di Milano, Italy
- Pontificia Universidade Catolica do Rio Grande do Sul (PUCRS), Brazil
- State University of Nizhny Novgorod, Russia
- University of Crete, Greece
- University of Debrecen, Hungary
- University of Rio Cuarto, Argentina
- University of Zurich, Switzerland
- Universidad Politécnica de Madrid, Spain
- Cairo University, Egypt
- The course grade is based entirely on the project.
- Michael Jackson: Requirements & Specifications,1995, Addison Wesley, ISBN: 0-201-87712-0
- 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.
- Bertrand Meyer: On Formalism in Specifications, in Software (IEEE), pages 6-26, January 1985.
- Jeannette M. Wing: A Study of 12 Specifications of the Library Problem, in Software (IEEE), vol. 5, no. 4, pages 66-76, July 1988.
- Ralph Young: Recommended Requirements Gathering Practices, in CrossTalk, the Journal of Defense Software Engineering, April 2002.
- Southwell et al., cited in Michael G. Christel and Kyo C. Kang, Issues in Requirements Elicitation, Software Engineering Institute, CMU/SEI-92-TR-012 and ESC-TR-92-012, September 1992.
- Becky Winant: Requirement #1: Ask Honest Questions.
- Gerald Kotonya and Ian Sommerville: Requirements Engineering: Processes and Techniques, Wiley, 1998.
- IEEE: IEEE Recommended Practice for Software Requirements Specifiations, IEEE Std 830-1998 (revision of IEEE Std 830-1988).
- Michael Jackson: Software Requirements and Specifications, Addison-Wesley, 1996.
- Mike Mannion and Barry Keepence: SMART Requirements, in ACM SIGSOFT Software Engineering Notes, vol. 20, no. 2, pages 42-47, April 1995.
- Esther Derby: Building a Requirements Foundation through Customer Interviews.
- Eric Dubois, J. Hagelstein and A. Rifaut: Formal Requirements Engineering with ERAE, in Philips Journal of Research, vol. 43, pages 393-414,1988.
- Ellen Gottesdiener: Requirements Workshops: Collaborating to Explore User Requirements, in Software Management 2002.
- 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
|Tuesday (exercise)||09:00-10:00 (starting Sept. 25th)||IFW A 32.1|
|Tuesday (lecture)||10:00-12:00 (starting Sept. 18th)||IFW A 32.1|
The project will be managed using Github.
All content is located at https://github.com/DOSE-ETH/dose2012. It is a private repository that you can only access once we have added you as a member.
Project DeadlinesThe project deadlines are available in the Github wiki.
|17.09.2012||1||Introduction to Distributed and Outsourced Software Engineering||Overview article:
The Unspoken Revolution in Software Engineering Bertrand Meyer, 2006
Design and code reviews in the age of the internet Bertrand Meyer, 2008
|25.09.2012||2||Preparation for Software Outsourcing and Offshoring|
|02.10.2012||3||CMMI - The CMMI Model||CMMI for Development, Version 1.2, August 2006.|
|09.10.2012||4||Requirements Engineering||On Formalism in Specifications|
|16.10.2012||5||Requirements Engineering II||PDF (same as 09.10)|
|23.10.2012||6||CMMI -- Process Areas and Generic Practices||PDF (same as 02.10)||CMMI for Development, Version 1.2, August 2006.|
|30.10.2012||7||Discussion of CMMI and CMMI Exercise|
|06.11.2012||8||CMMI -- Process Areas and Generic Practices II||PDF (same as 02.10)|
|27.11.2012||10||Agile Software Development|
|25.09.2012||Communication, Communication, Communication|
|02.10.2012||Introduction to Eiffel - Part 1|
|09.10.2012||Introduction to Eiffel - Part 2|
|16.10.2012||Discussion of Assignment 1|
|23.10.2012||Introduction to Eiffel - Tuples and Agents|
|30.10.2012||EiffelStudio - the Eiffel IDE|
|06.11.2012||Design by Contract|
|20.11.2012||Open discussion on project progress|
|Christian Estler||RZ J8||044 632 76 84||German / English|
|Assignment 0: Setup||02.10.2012|
|Assignment 1: Scope Document||17.10.2012|
|Assignment 2: Requirements||31.10.2012|
|Assignment 3: API Design||14.11.2012|
|Assignment 4: Testing and API Consolidation||21.11.2012|
|Assignment 5: Implementation||18.12.2012|