Can Collaborative Software Development Benefit from Synchronous Groupware Functions?

Gerardo Canfora*, Filippo Lanubile°, Teresa Mallardo*

([email protected], [email protected], [email protected])

*Research Centre On Software Technology, Department of Engineering, University of Sannio Via Traiano, Pal. Ex-Poste - 82100 Benevento, Italy

°Department of Computer Science, University of Bari Via Orabona 4 - 70126 Bari, Italy

Abstract conversation [12], where people informally communicate valuable pieces of information. Collaboration is the Large enterprise organizations have software creation and management of shared information to development teams distributed over multiple geographical implement a common task. Distance affects collaboration sites. Because of distance, enterprises face challenges because teams may fail to disseminate information and which are similar to those that open source software then miss reuse opportunities or work on the same (OSS) projects have experienced in the past. OSS projects problems that have been already solved at other locations. overcame the problem of distance through both Coordination is the act of integrating tasks and development practices and Collaborative Software organizational units to reach a common goal. The cost of Development (CSD) platforms, wholly made up of coordination increases with distance, especially if there is asynchronous tools. However, generic groupware a lack of standards and shared practices. platforms offer both same-time and different-time options The main effect of cooperation issues caused by for communication and collaboration. distance is speed [13]: cross-sites changes take much We intend to understand whether distant developers longer than changes that are all at single site. Distance can can benefit from synchronous functions other than be offset by Internet-based technologies, which play the asynchronous functions for cross-sites cooperation. As a role of infrastructure for global software teams. One of the first step, this paper provides a comparison of CSD most effective technologies to enable distributed platforms and generic groupware with respect to teamwork is Collaborative Software Development (CSD) supported functions. As a result we propose the extension platforms. Earliest CSD platforms were developed within of CSD platforms with synchronous functions, as those open source software (OSS) projects because OSS available in widespread groupware platforms. projects, from the beginning, have been composed of dispersed individuals. However, OSS projects primarily 1. Introduction rely on asynchronous tools for almost all communication and coordination services [16], partly because time-to- Over the last few years, large enterprise organizations market is not a given priority. have embraced global software development, where Although many development tasks may be adequately software projects are distributed over multiple supported with asynchronous collaborative technology, geographical sites [14]. Developing software as a team is we argue that many other tasks need to be supported with a challenge but adding physical separation among team synchronous tools. Same-time (synchronous) members, often separated by a national boundary, makes communication tools, such as those offered in generic it even more challenging. groupware platforms, may help to resolve Geographic distance has an impact on all the forms of miscommunications, misunderstandings, and minor cooperation within a team: communication, collaboration problems before the consequences become major. A small and coordination [8]. Communication is the core function issue can take days of back-and-forth discussions over of cooperation that allows information to be exchanged email to resolve, but a brief conversation can quickly between team members. Distance has a negative effect for clarify the problem [7]. communication-intensive tasks such as requirements We intend to understand whether distant developers elicitation and negotiation, and on spontaneous can benefit from synchronous functions other than asynchronous functions for cross-sites cooperation. As a best practices. It may also include more sophisticated first step, this paper provides a comparison of CSD knowledge management activities to acquire tacit platforms and generic groupware with respect to knowledge in explicit forms, such as expert supported functions. identification and skills management [20]. The next section describes the primary functions of • Notification services. It is a workflow function that CSD and presents some popular CSD platforms. Section 3 allows team members to be notified of events (e.g., a characterizes the main groupware functions and change to an artifact or the completion of a task) that introduces some existing groupware systems. Finally have an impact on their activities. Section 4 ends up with a discussion, and draws conclusions. CSD platforms also include some generic collaborative functions, such as email (mostly for notification services), 2. Collaborative Software Development and mailing lists or web-based discussion forums to support communication among team members. A CSD platform is an integrated toolset of task-specific In the following, some well-known CSD platforms are solutions to support collaborative software engineering. described. We only include three of them just to highlight The software-engineering functions of a CSD platform common features of a CSD multi-function platform. can be classified according to the following taxonomy, SourceForge is one of the most widespread platforms adapted from [6]: for web-based collaborative software development [23]. • Configuration management (CM). A CM tool The original mission of SourceForge was to enrich the includes the ability to manage change in a controlled open source community by providing a centralized place manner, by checking components in and out of a for developers to control and manage OSS projects repository, and the evolution of software products, by development. To accomplish its mission, SourceForge storing multiple versions of components, and offers a variety of free services: web interface for project producing specified versions on command. administration, space for web content and CGI scripts, • Bug and change tracking. This function is centered trackers (for reporting bugs, submitting support requests around a database, accessible by all team members, or patches to review, and posting feature requests), which includes information on defects found (who, mailing lists and discussion forums, download notification when, where, severity) and related changes together of new releases, shell functions and compile farm, and with their status (approved, deferred, escalated, CVS-based configuration management. Today, the free tested, released, and so on). version of SourceForge supports over 50,000 hosted • Product and process modeling. This function projects and over 500,000 registered users. There is also a encompasses the core features of what was called commercial version for corporate use, called SourceForge Computer Aided Software Engineering (CASE), from Enterprise Edition [25], which adds features for tracking, requirements management to visual modeling of both measuring and reporting on software project activities. software artifacts and customized software processes. SourceCast is another popular commercial platform for • Programming tools. It includes code generators, web-based collaborative software development [22]. It compilers, debuggers, testing and code analysis tools combines development tools, reporting, communication that are usually used by single programmers. tools, administration, delivery, and document and file • Project status. It allows team member to get an management. SourceCast is organized into three logical effective representation of project-related measures control areas. The first area, called My Pages, includes such as number of tasks (completed/in progress/not data about an individual user and the projects on which yet started), number of bugs (open/assigned/closed), the user is either working or interested in tracking. The and other indicators of how the project as a whole is second area, called Projects, allows a user to define a new doing. project and resources to support that project, including members, mailing lists, source code, issue tracking, file • Scheduling and tasking. It defines and enacts the sharing, news, and discussion forums. The third area, steps that must occur in terms of process and people called Administration, supports administrative functions, during the course of software development. It and includes e-mails posted about SCM and issue includes task assignment, meeting scheduling, management activities that are logged in project mailing milestone planning, and role assignment. lists. • Knowledge center. This function is mostly document- Rational Suite Enterprise [19] is a commercial CSD driven and web-enabled, and allows team members to that supports teamwork by integrating the following tools: share explicit knowledge across a work unit. A RequisitePro (a requirements management tool that knowledge center includes technical references, includes a discussion feature), RUP (a web-enabled set of standards, frequently asked questions (FAQs) and software engineering processes), Rose (a tool for visual modeling according to UML), PurifyPlus (a set of − Web discussion forums realize the discussion automated runtime analysis tools for improving forum entirely as a web application, thus using application reliability and performance), Robot (a tool to no more than a web server and browsers. automate GUI functional testing), TestManager (a tool for Analogously to newsgroups, discussions are managing testing artifacts), ProjectConsole (a tool for threaded to make it easier to follow the flow of reporting project status and assessing development trends debate. based on metrics), ClearCase (a version control tool), and • Conferencing. It is a synchronous form of computer- ClearQuest (a defect and change-tracking tool). mediated communication that is becoming increasingly popular for decision-making purposes 3. Groupware other than for leisure time. There are different forms of real-time conferencing depending on the richness Groupware is software to enable group working for any of communication media: text-conferencing, audio- business process [8]. The growth in use of corporate conferencing, and video-conferencing. The most intranets has initially contributed to adopt this form of popular software applications supporting the computer-mediated collaboration. Today, increasing conferencing function are instant messengers (such as delocalization is pushing enterprises towards extending AOL Messenger, Yahoo Messenger, or the usage of groupware for inter-site cooperation. Messenger), which include a presence awareness Groupware covers a diversified range of functions, function to know who is online in the contact list. which are presented in the following on the basis of a Instant messengers include today both text-based and classification, partly based on [8]. audio-conferencing facilities. Desktop video- • Email. It is the most widespread groupware function. conferencing is also widely available with products Email is so pervasive and low-cost that it does not such as Microsoft NetMeeting, but quality is still low need any formal plan for being introduced as the main without high bandwidth and full support for facility for intra-site and inter-site communication. multicasting. Conferencing applications may have However, the low interactivity of email provides poor additional features such as: support for making initial contacts, developing trust, − file transfer: similar to email attachments; persuading and negotiating while working under strict − white-boarding: a shared graphical bit-mapped deadlines or other forms of pressure [26]. area where to draw and type; • Discussion. It allows team members to set up a topic, − application sharing: an application is open by post a new message or reply to an existing message, one of the participants and the others can view a and thus share comments about that topic. This is bit-map image of it and even take control and done in an asynchronous manner, so discussants have interact with it. the opportunity to reflect before posting. Discussions • Meeting support. This function provides additional can be based on mailing lists, newsgroups, or web support other than conferencing when a group meets discussion forums. to take decisions and generate tasks to implement − Mailing lists realize the discussion function using ideas. Applications, which implements meeting a list server to provide an email-based support, are commonly known as Group Support discussion. Participants subscribe to the Systems (GSS). They provide features to share discussion list and all posted messages are calendars, schedule meetings, invite and remind pushed on the mailboxes of subscribers. The participants, moderate a discussion, follow an agenda, advantage for users is that they can use their take minutes, outline ideas, prioritize and vote usual email program to send and read posted between alternative solutions, and transform meeting messages. Messages can be archived and outcomes into assigned tasks. accessed from a web browser. • Collaborative authoring. This function allows − Newsgroups realize the discussion function using authors to work together on documents. A a NNTP server and a newsreader application. support is provided by common word processor, Discussion groups can be public as well as which include features for inserting annotations, private. A discussion topic is represented as a highlighting changes, accepting or rejecting changes, thread where postings from participants are and merging different versions. Some groupware indented to represent replies to the first applications enable authors to limit access and route messages. Newsgroups are today integrated into documents to coauthors according a planned the web to allow messages to be read and sent workflow. Other applications introduce synchronous from a browser rather than a newsreader. features such as co-editing where coauthors can make edits to a document in real time. being integrated with , Groove can be Groupware also include functionality, which appeared integrated with SharePoint Team Services to provide among the CSD functions: replication and synchronization of shared spaces. • configuration management; GroupSystems is a GSS initially developed at the • scheduling and tasking; University of Arizona [18] and then commercialized by • knowledge center; GroupSystems.com [10]. It includes an integrated set of • notification services. tools to support meetings: conferencing, brainstorming, categorizer, topic commenter, group outliner, alternative In the following, some multi-function groupware analysis, voting and survey. Participants can interact either platforms are presented. verbally, if they are in a same room, or through network- IBM Lotus products [17] are a well established family connected computers, if they are located in different of groupware products (Notes, Domino, QuickPlace, places. SameTime) that offer a broad range of functionality for cooperation, both in asynchronous and synchronous mode. 4. Discussion and Conclusions For many years, Lotus Notes has been the client/server leader as a messaging and collaboration platform. Then Figure 1 summarizes the functions that characterize Lotus has reacted to the popularity of intranets by producing representative CSD and groupware platforms. the Lotus Domino, which combines Notes and web server Synchronous functions are written in bold. As Figure 1 functionality. shows, some overlap does exist. However, typical CSD The BSCW (Basic Support for Cooperative Work) functions are all asynchronous and synchronous functions system [2, 4] is a free web-based groupware platform. It lie exclusively in the groupware area. supports cooperation through “shared workspaces”, i.e., One of the reasons behind overlooking synchronous repositories in which members of a group can support in (state-of-the-practice) CSD platforms is that upload/download objects (documents, hyperlinks, same-time interaction can be inconvenient when time pictures, contact information), hold threaded discussions, zones differ. Time zone disparity between development and obtain information about activities of other workspace sites can provide no common overlapping work hours. members to coordinate their own work. Although the Even a time difference of few hours can be a challenge BSCW system is mostly asynchronous, it also provides because of different time slots for lunch and different some synchronous features such presence awareness as national holidays. Another problem that hinders well as interfaces to conferencing tools. synchronous communication is language differences. SharePoint Team Services and SharePoint Portal English is the common cross-border language for software Server [21] are groupware platforms that use a web-based business. However, non-native English-speaking people central repository for all project information, including can find it difficult to understand, write or speak at the documents, announcements, calendars, contacts, tasks, pace imposed by real-time communication with English- and discussions. While the former is aimed to support native partners. small or ad-hoc workgroups, the latter is a customizable Nevertheless, the growing popularity of agile software corporate web portal intended for large workgroups, development approaches, such as Extreme Programming which need greater management over their information. [3], remind us that development teams succeed because SharePoint Team Services is strictly integrated with “the most efficient and effective method of conveying Office XP applications, including conferencing tools such information to and within a development team is face-to- as MSN Messenger, while SharePoint Portal Server face conversation” [1]. Maintaining this high degree of requires the installation of additional components to interaction despite the geographical dispersion of a team enable same-time communication. is essential to success. In the scale of communication Groove [9] is a collaborative peer-to-peer (P2P) richness, synchronous groupware functions (such as application for small or ad-hoc group interaction. It offers conferencing, meeting support and collaborative a set of predefined tools for desktop collaboration: authoring) are the closest to face-to-face interaction [6]. communication tools such as threaded discussions, Of course, not every development activity requires messaging, persistent chat, and audio-conferencing; intensive communication. For example, requirements content sharing tools such as shared files, shared pictures gathering and negotiation involve stakeholders in a strong and shared contacts; joint activity tools such as group interaction but unit testing can be performed by meetings, project management, co-browsing, co- programmers working in parallel. presentation, co-review, and co-editing of Microsoft Word James Highsmith suggests that there are two primary documents. All application logic and data are stored types of interaction: information transfer and shared locally, and changes are automatically synchronized with creation [15]. Information needed for transfer is presented members’ desktops, even if users work offline. Other than to let somebody know rather than to be modified by joint meetings and distributed meetings using a video- action. On the contrary, shared creation (such as in conferencing tool, while negotiating requirements. problem solving, decision making, and feedback An empirical study on implementing a GSS for meetings) implies an active participation with the intent to inspections in an industrial environment resulted in more add value. Collaboration tools need to be matched to the effective and efficient inspections than paper-based interaction needs: while interaction for information inspections, based on face-to-face meetings [24]. transfer can be effectively supported by asynchronous Herbsleb et al. have introduced a synchronous tools, shared creation is better enabled by synchronous communication tool, called Rear View Mirror (RVM), tools (if face-to-face interaction is not viable or too into an industrial multi-site environment, as a surrogate of expensive). “corridor talks” [11]. Empirical data report an increasing In the past few years there have been some researchers degree of acceptance among the several teams where who have experienced the introduction of synchronous RVM was made available. The most popular feature was tools to support collaborative software development. the group chat, which was used to overcome the lack of In [5], the authors discuss how they implemented the contextual information and informal communication. WinWin requirements negotiation approach above The variety and maturity of collaboration tools has GroupSystems (for meeting support), and report a grown greatly during recent years. Providing effective considerable improvement in negotiation time and technological support for global software development stakeholders’ satisfaction with respect to manual requires the extension of CSD platforms with synchronous negotiation. functions, as those available in widespread groupware Another empirical study, this time in the context of a platforms. laboratory experiment in distributed requirements engineering, found no differences between face-to-face

CSD Groupware Email Bug and change Conferencing tracking Discussion Configuration management Product and process Meeting support modeling Scheduling and tasking Knowledge center Programming tools Collaborative Notification services authoring Project status

Figure 1. CSD and Groupware functions

International Journal of Human-Computer Studies, Vol. References 46, No. 6, June 1997, pp.827-846. [5] B. Boehm, P. Grünbacher and R. O. Briggs, [1] Agile Alliance, Manifesto for Agile Software “Developing Groupware for Requirements Negotiation: Development, 2001, http://www.agilemanifesto.org Lessons Learned”, IEEE Software, Vol. 18, No. 3, [2] W. Appelt, “WWW Based Collaboration with the May/June 2001, pp. 46-55. BSCW System”, in Proc. of SOFSEM'99, Springer [6] E. Carmel, Global Software Teams: Collaborating Lecture Notes in Computer Science 1725, 1999, p.66-78. Across Borders and Time Zones, Prentice Hall PTR, San [3] K. Beck, Extreme Programming Explained: Francisco, CA, 1999. Embrace Change, Addison-Wesley Pub Co, 1999. [7] E. Carmel and R. Agarwal, “Tactical Approaches for [4] R. Bentley, W. Appelt, U. Busbach, E. Hinrichs, D. Alleviating Distance in Global Software Development”, Kerr, S. Sikkel, J. Trevor, and G. Woetzel, “Basic Support IEEE Software, Vol. 18, No. 2, March/April 2001, pp. 22- for Cooperative Work on the World Wide Web”, 29. [8] D. Chaffey, Groupware, workflow and intranets, Conference on Advances in Infrastructure for Electronic Digital Press, Boston, Massachusetts, Woburn, 1998. Business, Science, and Education on the Internet [9] Groove Networks, http://www.groove.net (SSGRR), L’Aquila, Italy, August 2001. [10] GroupSystems.com, http://www.groupsystems.com [17] IBM Lotus Software, http://www.lotus.com [11] J. D. Herbsleb, D. L. Atkins, D. G. Boyer and M. [18] J. F. Nunamaker, A. R. Dennis, J. S. Valacich, D. Handel, “Introducing Instant Messaging and Chat in the Vogel, J. F. George, “Electronic meeting systems”, Workplace”, Proc. of Conference on Human factors in Communications of the ACM, Vol. 34, No. 7, July 1991. computing systems (CHI), Minneapolis, Minnesota, USA, [19] Rational Software, http://www.rational.com April 2002, pp. 171-178. [20] I. Rus and M. Lindvall, “Knowledge Management in [12] J. D. Herbsleb and R. E. Grinter, “Architecture, Software Engineering”, IEEE Software, Vol. 19, No. 3, Coordination, and Distance: Conway’s Law and Beyond”, May/June 2002, pp. 26-38. IEEE Software, Vol. 16, No. 5, September/October 2001, [21] Microsoft SharePoint Technologies Family, pp. 16-20, pp.63-70. http://www.microsoft.com/sharepoint/ [13] J. D. Herbsleb, A. Mockus, T. A. Finholt, and R. E. [22] CollabNet, http://www.collab.net Grinter, “An empirical study of global software [23] SourceForge.net, http://sourceforge.net development: Distance and speed”, Proc. of International [24] M. van Genuchten, C. van Dijk, H. Scholten and D. Conference on Software Engineering (ICSE), Toronto, Vogel, “Using Group Support Systems for Software Canada, May 2001, pp. 81-90. Inspections”, IEEE Software, Vol. 18, No. 3, May/June [14] J. D. Herbsleb, and D. Moitra, “Global Software 2001, pp. 60-65. Development”, IEEE Software, Vol. 18, No. 2, [25] VA Software, http://www.vasoftware.com March/April 2001, pp. 16-20. [26] E. V. Wilson, “Email Winners and Losers”, [15] J. A. Highsmith, Adaptive Software Development: A Communications of the ACM, Vol. 45, No. 10, October Collaborative Approach to Managing Complex Systems, 2002, pp. 121-126. Dorset House, New York, NY, 2000. [16] F. Lanubile, “Towards an Infrastructure for Distributed e-Business Projects”, Proc. of International