Multi-site distributed software development: issues, solutions and challenges

Tackling the disadvantages associated with remote communication is a challenge in multi-site software development. The challenge includes all these factors: awareness of the work that is being done according to the project plan, the work that is being done to co-operate between teams, the issues tha...

Full description

Bibliographic Details
Main Authors: Wongthongtham, Pornpit, Chang, Elizabeth, Dillon, Tharam S.
Other Authors: Osvaldo Gervasi
Format: Book Chapter
Published: Springer 2007
Subjects:
Online Access:http://hdl.handle.net/20.500.11937/44975
Description
Summary:Tackling the disadvantages associated with remote communication is a challenge in multi-site software development. The challenge includes all these factors: awareness of the work that is being done according to the project plan, the work that is being done to co-operate between teams, the issues that have been currently raised, the issues that have been clarified, and a means of discussing issues and arriving at a solution within a multi-site distributed environment. If everyone working on a certain project is located in the same area, then situational awareness is relatively straightforward, but the overheads in communication can be great when team members need to meet in order to discuss the problems, to raise issues, to make decisions and to find answers in a multi-site distributed environment. In this paper, we present issues, solutions, and challenges in Multi-site Software Development. The solution main idea is to have knowledge and agreement explicitly interpreted by software tools rather than just being implicitly interpreted by human developers. The representation of software engineering concepts, software development tasks, software development models, software development processes, software development issues and development solutions, as well as software development documentation in the digital form, provides intuitive, clear, precise concepts and ideas, knowledge. Sharing knowledge facilitates a common understanding of the knowledge. This enables effective ways of reaching a consensus of understanding which is of benefit to remote team members in a distributed environment. The common knowledge is semantically shared not only among remote team members but also among software systems.