The impact of requirements in distributed software development: an empirical study
Master Thesis, December 1st, 2014 - June 1st, 2015
Author: Marc Egg
Supervisor: Martin Nordio and Christian Estler
Project plan here
See report here
Distributed software development is the development of software products by multiple development teams. It gave rise to various new problems compared to traditional software development where one development team produced a software product. The challenges of distributed software development include among others more complicated communication among multiple developers and their teams, different time zones and thus different and not necessarily overlapping office hours, language barriers and various cultural backgrounds.
These challenges require the traditional software processes used to develop software products to be adapted or replaced to reflect the differences introduced by the distributed project setting. Distributed software development raises interesting questions for software engineering researchers. One particularly interesting question is how requirements influence the quality of the software product being developed in a distributed project setting.
This project, a masters thesis submitted for the degree of Master of Science ETH in Computer Science plans to show how requirements affect the quality of software products developed in a distributed project setting. The data set used originates from the E?TH Zurich course Distributed Software Engineering Laboratory (DSL). Until 2012 the course's name was Distributed and Outsourced Software Engineering (DOSE). The Chair of Software Engineering [CSE] at ETH Zurich hosts DSL, an university level course for computer science students, every fall semester. The course aims at educating the participating students in distributed and outsourced software engineering. To do so DSL is accompanied by a mandatory distributed software development project which includes both writing a requirements document in the spirit of I?EEE Std 8301998 [IEEE] and implementing the software product as defined by the requirements. Participating universities include universities from Europe, South America, Africa, Asia and Australia. The master?s thesis, an empirical study, uses the deliverables from the DSL course as a data set to research the impact of requirements in distributed software development.