You are on page 1of 7

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/4369370

Approaches to Collaborative Software Development

Conference Paper  in  Business and Information Systems Engineering the international journal of Wirtschaftsinformatik · April 2008
DOI: 10.1109/CISIS.2008.106 · Source: IEEE Xplore

CITATIONS READS
42 1,836

5 authors, including:

Franz Rothlauf Thomas Kude


Johannes Gutenberg-Universität Mainz ESSEC - Ecole Supérieur des Sciences Economiques et Commerciales
246 PUBLICATIONS   3,501 CITATIONS    57 PUBLICATIONS   896 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Agent-oriented software View project

Governance Practices in Platform Ecosystems of the Enterprise Software Industry View project

All content following this page was uploaded by Franz Rothlauf on 29 September 2015.

The user has requested enhancement of the downloaded file.


International Conference on Complex, Intelligent and Software Intensive Systems

Approaches to Collaborative Software Development


Tobias Hildenbrand, Franz Rothlauf, Michael Geisser, Armin Heinzl, and Thomas Kude
Department of Information Systems I
University of Mannheim,
68131 Mannheim, Germany
{hildenbrand, rothlauf, geisser, heinzl, kude}@uni-mannheim.de

Abstract—Software development is becoming more and more on the other hand, existing approaches can be characterized
complex. Traditionally and to date, the software development pro- and compared. This classification and evaluation of the current
cess rather corresponds to job-shop manufacturing. Therefore, state-of-the-art in distributed CSD facilitates identifying ap-
the ever growing demands for different kinds of software as well
as the ongoing globalization require more efficient development propriate methods and tools for distributed and collaboration-
processes. Both scientific literature and practical experience intensive software development processes as well as finding
hence postulate a necessary industrialization of software devel- gaps and deficiencies in the existing set of solutions.
opment and design of novel forms of specialization, task distri- In the following section, an initial conceptual foundation
bution, and collaboration. Existing approaches to collaborative is created and distinct dimensions of the classification frame-
software development can be classified and analyzed according
to multiple categories. By evaluating these, current deficiencies work are introduced. Section III classifies and evaluates the
are identified and discussed for further investigation. different approaches arranging them according to different
collaboration-intensive SE process steps, while section IV
Index Terms—Collaborative Software Development, Software
Engineering, Software Development Processes, Industrialization presents specific collaboration tool support. Section V ana-
of Software Production, Inter-Organizational Software Develop- lyzes the fundamental results from this literature review for
ment. persistent deficiencies and particularly against the background
of relevant behavioral theories and future challenges. In doing
so, the article is mainly aimed at researchers from SE-related
I. I NTRODUCTION
fields and also offers motivations and recommendations for

T HE growing complexity of software and its increasing


diffusion into various application domains require higher
quality standards in software development processes. Both in
practitioners.

II. C OLLABORATIVE S OFTWARE D EVELOPMENT


theory and practice, a transition to standardization and reuse of
software components and processes as well as the automation The terms “collaboration” and “cooperation” used in the
of particular process steps, i.e. industrialization, is taking context of this paper are based on literature from Computer-
place (cf. also [1]). In this connection, the dominating job- Supported Collaborative Work (CSCW) and SE. They are
shop production is being replaced successively by distributed mostly used synonymously for describing the distributed pro-
software development (DSD) processes that are based on cessing of common software artifacts based on division of
industrial production principles. This development is being labor. In doing so, several authors distinguish multiple levels of
enforced by an ongoing globalization of software manufactur- collaboration: These consist of (a) informing, (b) coordinating,
ing and adequate tool support [2]. Instead of monolithic job- (c) actually collaborating, and (d) cooperating (definition based
shop production, preliminary products of selected suppliers on [3], [4]). As opposed to collaboration, cooperation in
are to be combined to larger software components by means this taxonomy is conducted by participants with equal rights
of appropriate software engineering (SE) approaches such as and individual goals subordinated to one collective target [4,
component models and and standards. p. 427]. Similar to collaboration, cooperation also implies
Within a “pre-industrial” software development process, constant and intensive interaction [3, p. 210]. Furthermore,
applications are no longer developed centrally by one software cooperation features one common process and common out-
manufacturer, but rather decentrally and concurrently by differ- puts such as jointly created documents as well as collective
ent companies. This enables an increase of efficiency through team evaluation and results (cp. [3], p. 210).
division all parallelization of work, although leading to more Collaboration, on the other hand, still implies pursuing
complicated coordination and communication between the some individual, possibly antagonistic, goals [3], [5] often
different participants involved in the process. The approaches, occurring when different departments and/or companies are
in particular methods and tools, developed in the growing field involved in one common software development process. This
of collaborative software development (CSD) research support might be the case, for instance, when a large company’s IT-
these changing conditions. department collaborates with external consultants and an in-
This article thus pursues two major goals: On the one house department to develop a new software component as
hand, a framework for classifying and evaluating different ap- part of the overall business application infrastructure. The
proaches to DSD and CSD is developed and defined, whereby, probability of perfectly congruent goals among the developers

0-7695-3109-1/08 $25.00 © 2008 IEEE 523


DOI 10.1109/CISIS.2008.106
and other stakeholder involved decreases with an increasing spatially distributed organizational units (either inter- or intra-
division of labor and according task distribution. The con- organizationally, see [5]). Even within short distances and
notation of “antagonistic goals” is expressed in the way that spatial barriers such as the the different floors of a building,
the term “collaboration”, besides describing distributed work the lack of personal contact, transfer of tacit knowledge, and
processes, is sometimes also understood as “working together informal coordination in daily collaboration can have a direct
and willingly assist an enemy of one’s country and especially impact on the means of communication and collaboration
an occupying force” (or competitor)1 . [3], [4]. Thus, numerous papers in the DSD field investigate
socio-technical implications of spatially distributed software
Organisational Distribution projects [10]. Furthermore, if several independent companies
collaborate in these projects (inter-organizational distribution,
Stakeholders see above) and/or activities are distributed over different time-
Spatial Temporal
Distribution Coordination Distribution zones and cultures, as it is the case in offshore software
development projects, this additionally affects communication
and coordination processes, e.g. through higher organizational
Collaboration and/or national distance as well as language barriers [7], [11].
Complementary, the known classifications of collaboration
Communication in the CSCW field and thus also in CSD research also
Process Process
Direction Intensity distinguish the temporal distribution of working processes [3],
Technology [4]. The question here is whether the development tasks are
Process Discipline
processed at the same time (synchronously) or at different time
(asynchronously). Information, particularly software artifacts
Figure 1. Collaborative Software Development Analysis Framework
like requirements descriptions and design models are either
processed synchronously (remote or collocated) or buffered
CSD therefore concerns both methods and tools supporting by some sort of information and artifact repository [4], [12].
the different stakeholders’ communication and coordination CSD processes that are not constantly and instantly syn-
requirements within a (distributed) software development pro- chronized are often referred to as concurrent SE (CSE, cp.
cess. This, however, is essential for planning, execution, and [5], [13], [14]). As regards coordination, CSE is conducted
coordination of all task-based as well as organizationally, asynchronously even if there are no time differences or similar
temporally and spatially distributed activities incorporating all temporal barriers. The authors claim CSE to be more efficient
process- and product-related activities of the stakeholders aim- due to highly parallel task distribution among independent
ing at the development of one (common) software product (cp. actors.
[5], p. 20). The interplay of CSD, stakeholder communication The process direction indicates, from an economical per-
and coordination as well as the various framework dimensions spective, whether collaboration occurs within or in-between
is depicted in figure 1. As already indicated in figure 1, certain value creation phases of the SE process. SE can
CSD can be both characterized by the different dimensions of basically be divided into single process steps or into distinct
distribution, the process-based direction as well as the intensity disciplines as regards content, respectively. These consist of
of the common development activities in terms of time spent analysis, design, and implementation (cp. Rational Unified
and frequency. The respective dimensions will be explained in Process, RUP). “Discipline” is deliberately preferred rather
further details in the following and substantiated by relevant than “phases”, because the latter already implies a particular
literature: process model, here, a sequential waterfall model. Hence,
two characteristics can be distinguished regarding the process
Organizational Distribution, meaning the distribution of
direction: horizontal collaboration within one discipline and
process steps across several organizational units, is often
vertical collaboration as inter-disciplinary forms of collabo-
referred to as “units of distribution” exhibiting either inter-
ration spanning several value creation stages (cp. [4]). In the
organizational or intra-organizational characteristics [6]. High
wake of ever growing industrialization and organizational dis-
organizational distribution, meaning collaboration of many
tribution, some authors also distinguish the process direction
organizationally divided units of distribution, implies many
by means of software value chains [6]. The process direction
additional organizational, economic, and legal issues for the
is determined by the relationship between the collaboration
software development process (for further details see [6] and
partners in these value chains during the inter-organizational
[7]). A more fine-grained discrimination of organizational dis-
collaboration [6]. Horizontal collaboration relationships can
tribution layers is presented by [8]: First, a project-related and
be found among companies on the same value creation stage
business-related level can be distinguished. The project level
[6], whereas vertical relationships correspond to a supplier-
includes inter-individual and inter-team collaboration whereas
customer relationship, e.g. when the requirement specification
the business-level covers collaboration on the company and
is created by one company and the corresponding design
business environment scale (see also [9]).
concept by another one [15].
Spatial distribution distinguishes spatially collocated and
Collaboration within the SE process features different in-
1 cp. Merriam-Webster Online: http://mw1.merriam-webster.com/dictionary/ tensities of interaction processes. The higher the information
collaboration (2007-07-30) flow between the various actors and the more frequent and/or

524
comprehensive this occurs, the higher the intensity [3], [11]. approaches that satisfy one or more of the CSD requirements
The intensity is determined by the fact whether work on an are introduced and analyzed in the following section.
object is actually done collectively or collaboration just occurs
through the systematic exchange of knowledge-based services III. C OLLABORATIVE D EVELOPMENT M ETHODS
and/or software components [6], [16]. CSD processes, both In SE, process-oriented approaches examine formally struc-
horizontal and vertical, exhibit uneven levels of participant tured procedures , e.g. in the form of process models. Ex-
involvement in collective endeavors [3], which results in the amples are the sequential and iterative models (waterfall and
various existing roles. From a legal perspective, the intensity spiral model) as well as more recent process frameworks like
of inter-organizational (organizationally distributed) software the RUP. The individual SE disciplines, from customer require-
development can also be classified depending on to what extent ments elicitation in RE to the deployment of the final software,
a loose, a contract, or a capital-based relationship is the case. account for a structured organization of the processes. Since
As opposed to strategic alliances, joint ventures, for instance, there are no process models for a vertically continuous and
require a common investment (capital-based relationship) and collaboration-intensive SE process up to now (cp. section
thus usually result in more intensive collaboration, since costs II), existing fragmental approaches are organized vertically
and revenue are distributed between the companies involved alongside the value chain. Thus, we differentiate and analyze
[15]. articles containing collaborative approaches from the fields of
Thus CSD particularly implies frequent interaction with (1) RE, (2) design and modeling as well as (3) implementation,
intensive knowledge exchange among the distributed stake- testing, and maintenance.
holders persuing potentially antagonistic goals (cp. [3], [6],
[17]). Based on these possible task distribution dimensions
and process characteristics, a software development scenario is A. Collaborative Requirements Engineering
called collaborative, if it features one or more of the following Up to now, various collaborative approaches to requirement
characteristics: elicitation and analysis have been developed and evaluated.
• organizational distribution (between several departments Since many stakeholders’ interests have to be coordinated and
and/or companies), consolidated in this early project phase [18, p. 118], so far,
• temporal distribution (i.e. asynchronous collaboration some interesting approaches to collaborative RE (CRE) have
processes) and been developed within the SE field. They differ in the type of
• spatial distribution (between several locations and/or distribution supported as well as regards the tool infrastructure
floors). provided.
The WinWin spiral model is based on the Theory W,
Taken together, these three task distribution dimensions
developed accordingly to the Harvard concept of negotiation
account for the the quintessential determinants of CSD sce-
techniques [19]. Its basic assumption is that the success of
narios. Increasing organizational, temporal, and/or spatial dis-
CSD projects depends on all involved parties to positively gain
tribution, affects a software development process negatively
benefits from the collaboration and the different requirements
regarding the congruence of the stakeholders’ goals and thus
to be equally represented. To accomplish this, asymmetric win-
distinguishes CSD from strictly collective SE cooperation
lose situations between individual stakeholders are avoided
(cp. [3], [4]). The transition from the strictly collective, non-
through systematic negotiation and moderation techniques to
collaborative cooperation and CSD is fluent and sometimes
minimize the overall project risk. WinWin represents an appli-
diffuse. However, a software development process becomes
ance of this theory and an enhancement to the original spiral
more collaborative by increasing organizational, spatial, and/or
model at the same time. Here, changing interests of various
temporal distribution. Besides these characteristics of distribu-
stakeholders as well as their coordination throughout several
tion, more of the following process-based characteristics leads
iterations are considered by consolidating them continuously
to an increase of the collaborative character of a software
resulting in high collaboration intensity.
development scenario:
Up to now, the EasyWinWin method represents the fourth
• a vertical, interdisciplinary teamwork (spanning several generation of the WinWin approach [20]. EasyWinWin
phases between different roles) with a simultaneously (EWW) is characterized by a flexible, iterative elicitation
• high intensity of the working process (as regards time process that also allows integrating new participants in the
spent and frequency of interaction). ongoing process. Furthermore, the establishment of trust is
Analogously to the organizational, temporal, and spatial encouraged through physical meetings and moderated discus-
distribution, the collaborative character of the software de- sions. The methodology is however complex and in despite of
velopment process becomes predominant with an increase in its specific groupware not primarily conceived for a distributed
these two criteria. CSD processes therefore usually require environment. Collaboration occurs with high intensity and
specific tool support (cf. [6], [10], [14], see also section partially asynchronously.
IV). As a preliminary conclusion, CSD distinguishes itself The groupware-based version ARENA enables the reduction
from other software development processes with respect to the of complexity, spatially distributed work, and asynchronous
degree of organizational, temporal, and/or spatial distribution. information exchange, e.g. by logging discussions [21]. How-
However, the working process nevertheless is supposed to ever, ARENA only allows asynchronous but distributed and
remain intense, phase-spanning, and interdisciplinary. Selected mobile collaborative requirement elicitation. Due to technical

525
reasons, ARENA however can no longer be combined with nor temporal distribution. A possible organizational distribu-
the earlier WinWin groupware [21]. tion of development tasks is not specified to this approach
either. Yet, there are some first approaches to apply XP in
B. Collaborative Design and Modeling Processes a spatially distributed environment through the use of appro-
priate tools for overcoming distance like Voice-over-IP, video
Collaborative design and modeling (CDM) processes con-
conferencing, and parallel, synchronous editing of source code
vert requirement specifications into both architectural and
(collaborative editing, see above).
more detailed component models as a basis for the subsequent
Collaboration-intensive, code-centric processes, that are also
implementation as source code. Collaborative approaches are
efficient and effective in large, distributed projects, have been
frequently transferred from other engineering disciplines (e.g.
established within various open source software development
from Computer-Aided and Concurrent-Design processes in the
projects [22], [26]. Moreover, both the Collaborative Soft-
automobile industry). Initial approaches which will not be
ware Inspection and Collaborative Asynchronous Inspection
further addressed here were Joint Application Design (JAD)
of Software methods are distributed approaches to collab-
[22] as well as Participatory Design (PD) [23].
orative quality assurance, based on hypertext as a part of
Concurrent design processes [13], such as the Collaborative
the post-implementation disciplines of testing, and mainte-
Software Engineering Methodology (CSEM), are more and
nance. It features a tool-based method for the distributed
more incorporated into UML-based methods for model-driven
asynchronous source code inspection that aims at minimizing
software development (MDD) and eventually automatic source
synchronous physical meetings [27]. Approaches to distributed
code generation from models. Even though there are so far not
and asynchronous maintenance of software (e.g. collaboration
many theoretically sound methodologies in this field, modern
in software maintenance, [28]) also fall into this category.
development tools such as, for instance, Gentleware Poseidon
The latter approach supports distributed collaboration among
and IBM Rational XDE allow concurrent DSD and MDD pro-
several software engineers by providing a hypertext-based
cesses (Concurrent MDD, CMDD). The current UML software
system to record maintenance decisions and to reference to
supports asynchronous, distributed collaboration by managing
source code which is also belongs to traceability and rationale
and versioning the models centrally, similar to source code
management activities.
in configuration managements systems like Subversion. The
methods mentioned provide at least server-side repositories
with the ability to register changes in the models and to IV. C OLLABORATION T OOL S UPPORT
determine discrepancies. Conflicts due to modification by
On the basis of existing Groupware and integrated de-
different developers on a model can therefore also be reduced
velopment environments (IDE) functionality, Collaborative
similarly to code versioning in a Subversion system.
Software Development Platforms (CSDPs) offer centralized
coordination and communication capabilities for asynchronous
C. Collaboration in Implementation, Testing and Maintenance and synchronous collaboration processes for highly distributed
Due to their direct relation to source code as primary teams of developers over the Internet while integrating tradi-
artifact, approaches to collaborative implementation, test- tional tool support. As a first proof-of-concept, they are already
ing and maintenance (CITM) already feature a higher tool used successfully within numerous open source projects [22],
orientation as the ones discussed in the previous disci- [26]. Hence, in addition to commercial solutions, there are var-
plines. Collaboration-intensive processes can be supported ious open source and experimental approaches from research
synchronously in form of both shared workspaces and appli- projects.
cation sharing (Collaborative Editing) and/or asynchronously As regards commercial solutions, platforms like Source-
through versioning systems [2], [14]. By now, various tools Forge represent specialized enhancements of server-based
like SubEthaEdit enable editing source code files collabora- CSCW solutions [22]. The basic functionalities of a collab-
tively. Here, developers see the respective changes made by oration platform can be distinguished into the three major
their spatially distributed colleagues directly in the document. categories (1) “coordination”, (2) “collaboration”, and (3)
The methodological support for the implementation-based “community building”, which is a new feature compared to
collaboration processes however is still neglected in academic the aforementioned solutions (cp. [3]). In addition to SCM
research. In practice, a return to socio-technical problems can systems, asynchronous and synchronous communication tools
be observed within the general field of CSD [24]. As a part of (forums, wikis, chats, etc.), CSDPs also feature detailed task
this trend, particularly people-centered approaches for small management with issue trackers [29], [30]. CSDPs thus allow
to medium-sized development groups, so-called agile devel- for better traceability of individual process steps as well as
opment methods, for instance Extreme Programming (XP) relationships between different software artifacts among each
are subject to investigations [25]. Distinctive collaboration- other and their authors and contributors (cp. [18], p. 163) and
intensive processes within XP are pair programming, where [24]). CSDPs can be accessed either through an IDE plugin or
two collocated developers simultaneously work on one part directly via browser [29]. For inter-organizational scenarios, a
of the source code and alternately one codes and the other CSDP can also be provided by an independent vendor as an
one evaluates the code as well as continuous CRE, i.e. the application service (software-as-a-service) over the Internet.
customer is highly integrated on-site. However, XP features As opposed to IDEs, CSDPs cover all functions necessary for a
only little methodical guidance and neither considers spatial vertically-continuous and collaboration-intensive development

526
process. In addition to asynchronous information exchange, framework consists of the organizational, spatial, and temporal
synchronous collaboration processes are more and more sup- distribution of SE tasks, process direction, and collaboration
ported through complementary tools like instant messaging intensity (see figure 1). Based on these criteria, methodological
or voice services [10], [11]. Server-based CSDP solutions (process-related) approaches as well as existing collaboration
therefore cover a maximum of tool-related requirements for tool support are taken into consideration.
conducting CSD projects (cp. section II and [30]). Established As a conclusion from analyzing and comparing these ex-
requirements management tools, on the other hand, do not isting approaches, strictly tool-based CSD approaches prevail
provide sufficient support for distributed collaboration (see significantly in terms of frequency and state of elaboration.
analyses in [31] and [32]). Existing process models and frameworks neither dedicatedly
As has been mentioned before, in addition to existing com- address different dimensions and characteristics of a vertically-
mercial collaboration platforms, there are many experimental integrated CSD process, nor do they attempt to consolidate
and prototypical ones. Their specific features as compared to existing horizontal approaches to particular SE disciplines
standard commercial CSDPs available on the market (cp. [29]) (cp. sections III-A to III-C). Predominantly, existing process-
will be addressed in the following. For preparing this article, related approaches focus on RE tasks. Many development
a total of 12 experimental platforms were analyzed [15]. methodologies and particularly the collaboration tools applied
None of the experimental platforms systematically differenti- in commercial large-scale distributed projects originate from
ates and supports intra- and inter-organizational collaboration open source contexts [29]. Open source methods and tools are
scenarios. However, these approaches can be distinguished by however not easily applicable and transferable to commercial
different considerations of temporal distribution as well as in- environments and require methodological modifications and
tended collaboration-intensity. Comprehensive and continuous adaptations [15]. Furthermore, only a few approaches exam-
support for vertical, collaboration-intensive CSD processes is ine questions of behavioral theories from social sciences as
only provided by ConversationBuilder, GENESIS, JAZZ, and regards collaboration-intensive software development and the
MILOS. These approaches are therefore further analyzed in associated socio-technical issues. Therefore, there is still a lack
the following: of approaches attempting to identify methodical CSD support
ConversationBuilder supports common management and based on behavioral science and socio-technical theories in-
versioning artifacts as well as distributed collaboration in the cluding tool infrastructure (cp. also [9]).
form of so-called “conversations” [33]. GENESIS (GEner- Thus, in future research, there is still a need for further
alised eNvironment for procEsS management in cooperatIve investigations regarding the support of CSD processes in
Software engineering) includes workflow as well as artifact terms of both theoretical and practical points of view. From
management systems and features extensive coordination and a practical standpoint, there is a need for developing solu-
communication functions. Both process- and product-based tion approaches including methodological and tool-related SE
software projects are supported, while GENESES utilizes support for distributed collaboration-intensive processes while
its own language to define the processes [34]. The JAZZ at the same time considering socio-technical issues. In doing
project, actively supported by IBM Research, constitutes a so, the biggest challenge lies in developing and introducing
collaborative enhancement to the open source delelopment tool integrated approaches for this interdisciplinary and practically
“Eclipse”. Its main approach is to leave the users in their relevant problem. Future CSD research has to support the com-
familiar IDE environments and simply provide context-based panies to find the appropriate methods and tools for various
enhancements for more intense collaboration within software collaboration contexts regarding their respective requirements.
projects (see [35]). MILOS, on the other hand, provides Furthermore, specific quality standards have to be maintained
tools for collaborative process modeling, project planning, and within companies from different business environments (cp.
implementation as well as traceability management and change section II and [8]), like for instance bi-directional end-to-end
notification. Additionally, it is compatible to Microsoft Project traceability of the entire development process as prescribed
[36]. by the capability maturity model (integration) and numerous
CSDPs have proven to be efficient in collaboration-intensive other process quality standards. Moreover, other industry-
scenarios like, for instance, highly distributed and specialized specific standards, like the US Food and Drug Administration
open source projects or globally-distributed offshore develop- (FDA) in the medical engineering field, also require process
ment projects (cp. section II and [7]). The use of traditional transparency and traceability of all process steps of SE for
methods and tools in large-scale distributed projects however medical products. Especially in the case of high distribution
consistently leads to problems within the individual disciplines of resources and high collaboration intensity, in typical CSD
due to vertical barriers as regards the overall process [15]. processes, traceability requirements represent a major chal-
lenge.
From a more academic perspective, it has to be concluded,
V. D ISCUSSION AND C ONCLUSION
that the approaches and tools introduced are rarely based
The goal of this paper is to create a systematic overview of on sound theoretical assumptions and analyses regarding the
existing approaches to CSD from a SE process perspective. empirical behavior of team members and social interaction
For this purpose, three dimensions of collaboration in SE processes. Therefore, combining SE knowledge with behav-
contexts as well as different categories of approaches are iden- ioral theories from social science should be one main task in
tified from academic literature. This analysis and classification future research. As a starting point, the social exchange theory,

527
the resource dependency theory, and/or the theory of planned [15] T. Hildenbrand, M. Geisser, and M. Nospers, “Die Übertragbarkeit
behavior could be applied to CSD scenarios. Based on these der open source-entwicklungsmethodik in die unternehmenspraxis,”
Softwaretechnik-Trends, vol. 26, no. 1, pp. 37–42, 2006.
and other theories, it is to be examined how SE processes, [16] D. L. Dean, J. D. Lee, M. O. Pendergast, A. M. Hickey, and J. F. N.
group behavior, and tool application has to be designed so Jr., “Enabling the effective involvement of multiple users: Methods and
that the software products are developed efficiently with an tools for collaborative software engineering,” Journal of Management
Information Systems, vol. 14, no. 3, pp. 179–222, 1998.
uncompromised level of quality (cp. [3], p. 208). [17] D. A. Harrison, K. H. Price, J. H. Gavin, and A. T. Florey, “Time,
To overcome the different dimensions of distribution, sev- teams, and task performance: Changing effects of surface- and deep-
eral SE methods and tools can be applied, whereas they were level diversity ongroup functioning,” Academy of Management Journal,
vol. 45, no. 5, pp. 1029–1045, 2002.
initially not designed based on behavioral theories. Research in [18] I. Sommerville, Software Engineering, 8th ed. Boston, USA: Addison-
the field of Human-Computer Interaction has already proven Wesley, 2007.
the feasibility and usefulness of behavioral theories on an [19] B. W. Boehm and P. Bose, “A collaborative spiral software process
model based on theory w,” in Proceedings of the 3rd International
individual level. Therefore, an ensuing challenge lies in the in- Conference on the Software Process (ICSP’94). IEEE Computer
terdisciplinary examination of group behavior (human focus), Society, 1994, pp. 59–68.
development processes (task focus) and tool support (tech- [20] P. Grünbacher, “Integrating groupware and case capabilities for improv-
ing stakeholder involvement in requirements engineering,” in Proceed-
nology focus). The growing number of global and offshore ings of the 26th EUROMICRO Conference (EUROMICRO’00). IEEE
development scenarios underlines the rising relevance of this Computer Society, 2000, pp. 2232–2239.
multi-faceted perspective on collaboration and coordination [21] B. W. Boehm, P. Grünbacher, and R. O. Briggs, “Developing groupware
for requirements negotiation: Lessons learned,” IEEE Software, vol. 18,
issues in practical environments (for an empirical analysis of no. 3, pp. 46–55, 2001.
offshore development scenarios see [7]). [22] L. Augustin, D. Bressler, and G. Smith, “Accelerating software devel-
opment through collaboration,” in Proceedings of the 24rd International
R EFERENCES Conference on Software Engineering (ICSE’02). IEEE Computer
Society, 2002, pp. 559–563.
[1] R. Kilian-Kehr, O. Terzidis, and D. Voelz, “Industrialisation of the [23] M. J. Muller and S. Kuhn, “Participatory design,” Communications of
software sector,” Wirtschaftsinformatik, vol. 49, no. Sonderheft, pp. 62– the ACM, vol. 36, no. 6, pp. 24–28, 1993.
71, 2007. [24] C. R. B. de Souza, T. Hildenbrand, and D. Redmiles, “Towards visualiza-
[2] D. Redmiles, A. van der Hoek, B. Al-Ani, T. Hildenbrand, S. Quirk, tion and analysis of traceability relationships in distributed and offshore
A. Sarma, R. S. S. Filho, C. de Souza, and E. Trainer, “Continuous software development projects,” in Proceedings of the 1st International
coordination: A new paradigm to support globally distributed software Conference on Software Engineering Approaches for Offshore and
development projects,” WIRTSCHAFTSINFORMATIK, vol. 49, no. Son- Outsourced Development (SEAFOOD’07). Springer, 2007.
derheft, pp. S28–S38, 2007. [25] K. Beck, “Embracing change with extreme programming,” IEEE Com-
[3] J. H. Bair, “Supporting cooperative work with computers: Addressing puter, vol. 32, no. 10, pp. 70–77, 1999.
meetingmania,” in Proceedings of the 34th IEEE Computer Society In- [26] J. Feller and B. Fitzgerald, Understanding Open Source Software De-
ternational Conference: Intellectual Leverage (COMPCON’89). IEEE velopment. Boston, USA: Addison-Wesley, 2001.
Computer Society, 1989, pp. 208–217. [27] V. Mashayekhi, J. M. Drake, W.-T. Tsai, and J. Riedl, “Distributed,
[4] H. Krcmar, “Computerunterstützung für die gruppenarbeit: zum collaborative software inspection,” IEEE Software, vol. 10, no. 5, pp.
stand der computer supported cooperative work forschung,” 66–75, 1993.
WIRTSCHAFTSINFORMATIK, vol. 34, no. 4, pp. 425–437, 1992. [28] R. Lougher and T. Rodden, “Supporting long-term collaboration in soft-
[5] J. Altmann and G. Pomberger, “Cooperative software development: Con- ware maintenance,” in Proceedings of the Conference on Organizational
cepts, model and tools,” in Proceedings of the TOOLS-30 Conference Computing Systems (COCS’93). ACM Press, 1993, pp. 228–238.
(TOOLS-30’99). IEEE Computer Society, 1999, pp. 194–277. [29] J. Robbins, “Adopting open source software engineering (osse) practices
[6] D. G. Messerschmitt and C. Szyperski, Software Ecosystem: by adopting osse tools,” in Free/Open Source Processes and Tools,
Understanding an Indispensable Technology and Industry. J. Feller, B. Fitzgerald, S. A. Hissam, and K. R. Lakhani, Eds.
Cambridge, USA: MIT Press, 2003. [Online]. Available: Cambridge, USA: MIT Press, 2005, pp. 245–264. [Online]. Available:
http://mitpress.mit.edu/softeco/(28.04.2005) http://www.ics.uci.edu/∼jrobbins/papers/robbins-msotb.pdf
[7] J. Dibbern, J. Winkler, and A. Heinzl, “Explaining variations in client [30] F. Rodriguez, M. Geisser, K. Berkling, and T. Hildenbrand, “Evaluat-
extra costs between software projects offshored to india,” MIS Quarterly, ing collaboration platforms for offshore software development scenar-
no. Special Issue on Information Systems Offshoring, 2008, accepted for ios,” in Proceedings of the 1st International Conference on Software
publication. Engineering Approaches For Offshore and Outsourced Development
[8] B. Curtis, H. Krasner, and N. Iscoe, “A field study of the software design (SEAFOOD’07). Springer, 2007, pp. 96–108.
process for large systems,” Communications of the ACM, vol. 31, no. 11, [31] M. Geisser, T. Hildenbrand, and N. Riegel, “Evaluating the applicability
pp. 1268–1287, 1988. of requirements engineering tools for distributed software development,”
[9] T. Hildenbrand, F. Rothlauf, and A. Heinzl, “Ansätze zur kollaborativen Working Paper des Lehrstuhls für ABWL und Wirtschaftsinformatik der
softwareerstellung,” WIRTSCHAFTSINFORMATIK, vol. 49, no. Sonder- Universität Mannheim, no. 2, 2007.
heft, pp. S72–S80, 2007. [32] C. Hood, S. Mühlbauer, and C. Rupp, iX-Studie: Anforderungsmanage-
[10] J. D. Herbsleb and A. Mockus, “An empirical study of speed and ment, 2nd ed. Hannover, Deutschland: Heise Zeitschriften Verlag, 2007.
communication in globally distributed software development,” IEEE [33] S. M. Kaplan, W. J. Tolone, A. M. Carroll, D. P. Bogia, and C. Big-
Transactions on Software Engineering, vol. 29, no. 6, pp. 481–494, 2003. noli, “Supporting collaborative software development with conversa-
[11] E. Carmel and R. Agarwal, “Tactical approaches for alleviating distance tionbuilder,” in Proceedings of the 5th ACM SIGSOFT Symposium on
in global software development,” IEEE Software, vol. 18, no. 2, pp. Software Development Environments (SDE’92). ACM Press, 1992, pp.
22–29, 2001. 11–20.
[12] J. DeFranco-Tommarello and F. P. Deek, “Collaborative problem solving [34] M. Gaeta and P. Ritrovato, “Generalised environment for process man-
and groupware for software development,” Information Systems Man- agement in cooperative software engineering,” in Proceedings of the 26th
agement, vol. 21, no. 1, pp. 67–80, 2004. Annual International Computer Software and Applications Conference
[13] P. Dewan and J. Riedl, “Toward computer-supported concurrent software (COMPSAC’02). IEEE Computer Society, 2002, pp. 1049–1053.
engineering,” IEEE Computer, vol. 26, no. 1, pp. 17–27, 1993. [35] L.-T. Cheng, C. R. de Souza, S. Hupfer, J. Patterson, and S. Ross,
[14] A. van der Hoek, D. Redmiles, P. Dourish, A. Sarma, R. Silva Filho, “Building collaboration into ides,” ACM Queue, vol. 1, no. 9, pp. 40–50,
and C. de Souza, “Continuous coordination: A new paradigm for 2003.
collaborative software engineering tools,” in Proceedings of the 26th [36] F. Maurer, G. Succi, H. Holz, B. Kötting, and B. Dellen, “Software
International Conference on Software Engineering (ICSE’04), Workshop process support over the internet,” in Proceedings of the 21st Interna-
on Directions in Software Engineering Environments (WoDiSEE’04). tional Conference on Software Engineering (ICSE’99). IEEE Computer
IEEE Computer Society, 2004, pp. 29–36. Society, 1999, pp. 642–645.

528

View publication stats

You might also like