Global software development is communication intensive. It requires the collaboration of many stakeholders representing different positions. The stages of the development life cycle are characterized by many informal interactions, often face-to-face, whose aim is to clarify, brainstorm, negotiate, or recover knowledge. Project-related communication is also becoming more and more diverse, especially if distributed globally. It includes various electronic and non-electronic means of communication, both for on-site and off-site development. Moreover, project knowledge refers to artifacts of the development life cycle, such as source code or documents. This results in complex cross references between artifacts and knowledge items. Misunderstandings and communication mistakes are costly, especially those introduced early in the life cycle. Hence, it is essential to support communication and cooperation during the overall life cycle. Based on the results of studies in distributed and large projects, including one performed by the author, we have designed iBistro, an experimental environment for capturing knowledge during the various stages of both distributed and single site software projects, structuring the knowledge during a rationale-based approach, and retrieving the knowledge during subsequent stages of the development process or later projects in the same organization. In developing iBistro, our goal is to interfere as little as possible with the development methodology and tools of an organization, while improving the coverage and the quality of the knowledge captured. Thus, iBistro collects information using a variety of knowledge sources and provides customizable knowledge views to build up what we call group memory. This research further proposes a common architecture for knowledge capture, acquisition, and retrieval. This architecture, called the distributed concurrent blackboard architecture (DCBA), extends the concept of a blackboard architecture in artificial intelligence. The DCBA enables the concurrent capture of information and knowledge through many communication vehicles, such as meetings or brainstorming sessions (using i.e., SMART Boards), email, or artifact-based tools (e.g., version control). The DCBA in its distributed nature is designed specifically to support distributed balanced teams in synchronous and especially asynchronous settings. An implementation of the DCBA has been developed and tested in a distributed setting between the National University of Singapore and Technische Universität München. The distributed scenario revealed the difficulties in distributed work introduced by unstructured and non-integrated communication tools in contrast to the DCBA as a knowledge repository for the small workgroup. The dissertation suggests a team-formation to deal with global software engineering, the balanced team, and how they can be supported by the DCBA.
«
Global software development is communication intensive. It requires the collaboration of many stakeholders representing different positions. The stages of the development life cycle are characterized by many informal interactions, often face-to-face, whose aim is to clarify, brainstorm, negotiate, or recover knowledge. Project-related communication is also becoming more and more diverse, especially if distributed globally. It includes various electronic and non-electronic means of communication,...
»