Editorial
Für den Inhalt der Angaben zeichnet die Projektleitung verantwortlich.
Cooperation
Dieses von der Gebert Rüf Stiftung geförderte Projekt wird von folgenden weiteren Projektpartnern mitgetragen: ETH Zurich, Switzerland; Cairo University, Egypt; Hanoi University of Science and Technology, Vietnam; IT University of Copenhagen, Denmark; Korea Advanced Institute of Science and Technology, Korea; National Research University ITMO, Russia; Odessa National Polytechnic University, Ukraine; Politecnico di Milano, Italy; Pontificia Universidade Catolica do Rio Grande do Sul, Brazil; State University of Nizhny Novgorod, Russia; Universidad Politécnica de Madrid, Spain; University of Crete, Greece; University of Debrecen, Hungary; University of Delhi, India; University of Rio Cuarto, Argentina; University of Zurich, Switzerland; Wuhan University of Technology, China; Eiffel Software, US
Project data
-
Project no: GRS-057/09
-
Amount of funding: CHF 337'000
-
Approved: 28.04.2010
-
Duration: 05.2010 - 01.2014
-
Area of activity:
Pilotprojekte, 1998 - 2018
Project management
Project description
Today’s software production is increasingly distributed. Gone are the days of one-company, one-site projects; most industry developments involve teams split over locations, countries, and cultures. Software tools have not kept up; they provide too little support for this new reality of software development.
The idea of the CloudStudio project was born out of our experience with distributed software development, both in industry and at ETH. Such development involves many teams working on a common software project, but in different locations (often separated by several time zones) and with radically different backgrounds.
We found that today’s understanding of distributed software development is insufficient and traditional tools are insufficient for effective collaboration:
- A need for better scientific understanding. Today’s scientific understanding of the challenges of distributed software development is limited. In order to develop applicable solutions for today’s development problems we need a better understanding of the critical factors involved in distributed software development.
- Communication is a key challenge. Existing tools such as Skype, WebEx, Google Docs are useful but are not meant for software development.
- Configuration management, the key day-to-day practical issue, is a major hurdle. While configuration management is essential in any team effort, the tools, based on 20-year-old concepts, are heavy to use (requiring constant «update» and «commit» operations) and poorly adapted to modern distributed projects.
We have developed an experimental distributed software development environment, CloudStudio, which addresses the special needs of modern development. In particular:
- CloudStudio gives each developer the appearance of having her own copy of the project, but individual changes are constantly synchronized between all team members. The system automatically reconciles changes, requiring user confirmation only in rare cases. There is no need for traditional configuration management (check-out, check-in): it is all done in the background as a result of editing actions.
- Debugging, a development activity used to find programming mistakes, sometimes need to be done collaboratively by multiple developers. CloudStudio features a novel real-time collaborative debugger whose efficiency and effectiveness has been demonstrated in user studies.
- As part of the CloudStudio project, we have performed empirical studies on how communication is affected by geographical distribution of teams, how development processes influence the success of distributed software development project and how software evolves over long periods of time. Findings were published in peer-reviewed conferences and journals.
What is special about the project?
CloudStudio integrates practical yet revolutionary ideas of software development. The result is a working «proof of concept» that sparked vast interest in academia and industry to investigate more advanced tools for collaborative distributed software development.
Status/Results
Publications
How do Distribution and Time Zones affect Software Development? A Case Study on Communication. Martin Nordio, H.-Christian Estler, Bertrand Meyer, Julian Tschannen, Carlo Ghezzi, and Elisabetta Di Nitto. In proceedings of the 6th International Conference on Global Software Engineering (ICGSE), IEEE, pages 176--184, 2011;
Teaching Software Engineering using Globally Distributed Projects: the DOSE course. Martin Nordio, Carlo Ghezzi, Bertrand Meyer, Elisabetta Di Nitto, Giordano Tamburrelli, Julian Tschannen, Nazareno Aguirre, and Vidya Kulkarni. In proceedings of Collaborative Teaching of Globally Distributed Software Development - Community Building Workshop (CTGDSD), ACM, 2011;
Unifying Configuration Management with Awareness Systems and Merge Conflict Detection. H.-Christian Estler, Martin Nordio, Carlo A. Furia, and Bertrand Meyer. In Proceedings of the 22nd Australasian Software Engineering Conference (ASWEC), pages 201--210, 2013;
Agile vs. Structured Distributed Software Development: A Case Study. H.-Christian Estler, Martin Nordio, Carlo A. Furia, Bertrand Meyer, and Johannes Schneider. In Proceedings of the 7th International Conference on Global Software Engineering (ICGSE), IEEE, pages 11--20, 2012 (This paper won the ICGSE'12 Best Paper Award.);
Agile vs. Structured Distributed Software Development: A Case Study. H.-Christian Estler, Martin Nordio, Carlo A. Furia, Bertrand Meyer, and Johannes Schneider. Empirical Software Engineering, Springer, pages 1--28, 2013 (This is an extended version of the ICGSE'12 conference paper.);
Collaborative Debugging. H.-Christian Estler, Martin Nordio, Carlo A. Furia, and Bertrand Meyer. In Proceedings of the 8th International Conference on Global Software Engineering (ICGSE), pages 110--119, 2013 (This paper won the ICGSE'13 Best Paper Award.);
The Evolution of Contracts. H.-Christian Estler, Carlo A. Furia, Martin Nordio, Marco Piccioni, and Bertrand Meyer. arXiv.org > 1211.4775, May 2013;
Advanced Hands-on Training for Distributed and Outsourced Software Engineering. Martin Nordio, Roman Mitin, and Bertrand Meyer. In ICSE 2010.
Media
Links
Persons involved in the project
Last update to this project presentation 11.03.2019