a survey of collaborative tools in software development
DESCRIPTION
A Survey of Collaborative Tools in Software Development. Anita Sarma Department of Informatics Donald Bren School of Information and Computer Sciences University of California, Irvine [email protected] Advancement to Candidacy March 17, 2005. Software Development. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/1.jpg)
A Survey of Collaborative Tools in Software
Development
A Survey of Collaborative Tools in Software
Development
Anita Sarma
Department of InformaticsDonald Bren School of Information and Computer Sciences
University of California, [email protected]
Advancement to CandidacyMarch 17, 2005
![Page 2: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/2.jpg)
2
Software DevelopmentSoftware Development
“Is the production of fault-free software, delivered on-time and within budget, that satisfies the user’s needs.” [Schach]
“Multi-person construction of multi-version software” [Parnas]
“Deals with the building of software systems which are so large that they are built by a team or teams of engineers.” [Ghezzi, Jazayeri, Mandrioli]
![Page 3: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/3.jpg)
3
Challenges in CoordinationChallenges in Coordination
Large team size Duplication in task assignment Distributed development Different kinds of artifacts Cognitive overload Lack of technology support …
![Page 4: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/4.jpg)
4
Coordination ToolsCoordination Tools
Software configuration management Process modeling Decision support systems Workflow Synchronous editors Event notification …
![Page 5: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/5.jpg)
5
Software Engineering versus CSCWSoftware Engineering versus CSCW
Software Engineering
CSCW
Strengths Weaknesses
Group centric, controlled,scalable, insulation from other activities, specific synchronization points
User centric, flexible,small group support, promotes synergy, raises awareness
Insulation becomes isolation, resynchronization problems
Extensive human intermediation, not scalable
![Page 6: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/6.jpg)
6
Current Trend in Tool DevelopmentCurrent Trend in Tool Development
Researchers have recognized the need to combine approaches from the two areas
Borrow bits and pieces from the other area Primarily ad hoc in nature
– Process & groupware [Di Nitto, Ben-Shaul, Barthelmess]
– IDE & awareness [Jazz, Palantír, GroupDesk]
To build coordination tools of the future, research needs to be cross disciplinary in nature
![Page 7: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/7.jpg)
7
Existing FrameworksExisting Frameworks
High-level approach to collaboration (process-based or awareness-based)
Formal versus informal approach
van der Hoek, et al. (04)
Managing interdependencies between activities
Interdisciplinary theory of coordination
Malone & Crowston (94)
Characteristics of a work- flow model
Model domain spaceNutt (96)
Temporality and location of teams
Focus
Space / Time Matrix
Framework
Grudin (94)
Author(s)
![Page 8: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/8.jpg)
8
My FrameworkMy Framework
High-level approach to collaboration (process-based or awareness-based)
Formal versus informal approach
van der Hoek, et al. (04)
Managing interdependencies between activities
Interdisciplinary theory of coordination
Malone & Crowston (94)
Characteristics of a work- flow model
Model domain spaceNutt (96)
Temporality and location of teams
Focus
Space / Time Matrix
Framework
Grudin (94)
Author(s)
User effort required in using the tools
PyramidSarma (05)
![Page 9: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/9.jpg)
9
My Classification FrameworkMy Classification Framework
Communication Artifact Management Task Management
Continuous coordination, collaborative architecture,
seamless development environments
Asynchronous communicationAccess to common set of artifacts,
isolated workspaces and version control
Parallel development,roles and access rights
Passive awareness,manage information
overload
Task allocation and assignment
Communication archivalalong with artifacts
Collocationbenefits to distributed
development
Organizational memory, social navigation
,
Prescribed and defined coordination support
Advanced conflict detection
Fine grained versioning, conflict resolution
Instant Messaging,monitoring changes
to artifacts
Func
tiona
lDe
fined
Proa
ctive
Pass
iveSe
amles
s
High user
effort
Low user effort
![Page 10: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/10.jpg)
10Communication Artifact Management Task Management
Continuous coordination, collaborative architecture,
seamless development environments
Asynchronous communicationAccess to common set of artifacts,
isolated workspaces and version control
Parallel development,roles and access rights
Passive awareness,manage information
overload
Task allocation and assignment
Communication archivalalong with artifacts
Collocationbenefits to distributed
development
Organizational memory, social navigation
,
Prescribed and defined coordination support
Advanced conflict detection
Fine grained versioning, conflict resolution
Instant Messaging,monitoring changes
to artifacts
LayersLayers
Func
tiona
lDe
fined
Proa
ctive
Pass
iveSe
amles
s
![Page 11: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/11.jpg)
11Communication Artifact Management Task Management
Continuous coordination, collaborative architecture,
seamless development environments
Asynchronous communicationAccess to common set of artifacts,
isolated workspaces and version control
Parallel development,roles and access rights
Passive awareness,manage information
overload
Task allocation and assignment
Communication archivalalong with artifacts
Collocationbenefits to distributed
development
Organizational memory, social navigation
,
Prescribed and defined coordination support
Advanced conflict detection
Fine grained versioning, conflict resolution
Instant Messaging,monitoring changes
to artifacts
StrandsStrands
Func
tiona
lDe
fined
Proa
ctive
Pass
iveSe
amles
s
![Page 12: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/12.jpg)
12Communication Artifact Management Task Management
Continuous coordination, collaborative architecture,
seamless development environments
Asynchronous communicationAccess to common set of artifacts,
isolated workspaces and version control
Parallel development,roles and access rights
Passive awareness,manage information
overload
Task allocation and assignment
Communication archivalalong with artifacts
Collocationbenefits to distributed
development
Organizational memory, social navigation
,
Prescribed and defined coordination support
Advanced conflict detection
Fine grained versioning, conflict resolution
Instant Messaging,monitoring changes
to artifacts
Layer 1 – Functional ToolsLayer 1 – Functional Tools
Func
tiona
lDe
fined
Proa
ctive
Pass
iveSe
amles
s
SCM, repository based systems
Email, project management tools,
bug trackers
![Page 13: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/13.jpg)
13
PinePine
![Page 14: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/14.jpg)
14
TimeToolTimeTool
![Page 15: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/15.jpg)
15
Layer 2 – Defined ToolsLayer 2 – Defined Tools
Func
tiona
lDe
fined
Proa
ctive
Pass
iveSe
amles
s
Communication Artifact Management Task Management
Continuous coordination, collaborative architecture,
seamless development environments
Asynchronous communicationAccess to common set of artifacts,
isolated workspaces and version control
Parallel development,roles and access rights
Passive awareness,manage information
overload
Task allocation and assignment
Communication archivalalong with artifacts
Collocationbenefits to distributed
development
Organizational memory, social navigation
,
Prescribed and defined coordination support
Advanced conflict detection
Fine grained versioning, conflict resolution
Instant Messaging,monitoring changes
to artifacts
Bug trackers, SCM check-in comments
Asynchronous parallel development,
synchronous editors
Workflow, process modeling
![Page 16: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/16.jpg)
16
ShrEdit Synchronous EditorShrEdit Synchronous Editor
![Page 17: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/17.jpg)
17
Endeavors InterfaceEndeavors Interface
![Page 18: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/18.jpg)
18
Layer 3 – Proactive ToolsLayer 3 – Proactive Tools
Func
tiona
lDe
fined
Proa
ctive
Pass
iveSe
amles
s
Communication Artifact Management Task Management
Continuous coordination, collaborative architecture,
seamless development environments
Asynchronous communicationAccess to common set of artifacts,
isolated workspaces and version control
Parallel development,roles and access rights
Passive awareness,manage information
overload
Task allocation and assignment
Communication archivalalong with artifacts
Collocationbenefits to distributed
development
Organizational memory, social navigation
,
Prescribed and defined coordination support
Advanced conflict detection
Fine grained versioning, conflict resolution
Instant Messaging,monitoring changes
to artifacts
Instant Messaging, notification of
changes (monitors,
visualizations)
Fine grained versioning, conflict resolution
tools Information visualization
recommendation systems, social
Navigation, GDSS
![Page 19: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/19.jpg)
19
Night WatchNight Watch
![Page 20: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/20.jpg)
20
AugurAugur
![Page 21: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/21.jpg)
21
Layer 4 – Passive ToolsLayer 4 – Passive Tools
Func
tiona
lDe
fined
Proa
ctive
Pass
iveSe
amles
s
Communication Artifact Management Task Management
Continuous coordination, collaborative architecture,
seamless development environments
Asynchronous communicationAccess to common set of artifacts,
isolated workspaces and version control
Parallel development,roles and access rights
Passive awareness,manage information
overload
Task allocation and assignment
Communication archivalalong with artifacts
Collocationbenefits to distributed
development
Organizational memory, social navigation
,
Prescribed and defined coordination support
Advanced conflict detection
Fine grained versioning, conflict resolution
Instant Messaging,monitoring changes
to artifactsAwareness (social, task-oriented,
room-based), event notification
services
Change analysis methods, social
callgraphs, task-based SCM
systems
Privacy concerns, interruption
management, modes of
collaboration
![Page 22: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/22.jpg)
22
Nynex PortholesNynex Portholes
![Page 23: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/23.jpg)
23
Jazz InterfaceJazz Interface
![Page 24: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/24.jpg)
24
Layer 5 – Seamless Layer Layer 5 – Seamless Layer
Communication Artifact Management Task Management
Continuous coordination, collaborative architecture,
seamless development environments
Asynchronous communicationAccess to common set of artifacts,
isolated workspaces and version control
Parallel development,roles and access rights
Passive awareness,manage information
overload
Task allocation and assignment
Communication archivalalong with artifacts
Collocationbenefits to distributed
development
Organizational memory, social navigation
,
Prescribed and defined coordination support
Advanced conflict detection
Fine grained versioning, conflict resolution
Instant Messaging,monitoring changes
to artifacts
Func
tiona
lDe
fined
Proa
ctive
Pass
iveSe
amles
s
![Page 25: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/25.jpg)
25
Asynchronous communicationAccess to common set of artifacts,
isolated workspaces and version control
Parallel development,roles and access rights
Passive awareness,manage information
overload
Task allocation and assignment
Communication archivalalong with artifacts
Communication
Collocation benefitsto distributeddevelopment
Organizational memory, social navigation
,
Prescribed and defined coordination support
Artifact Management Task Management
Advanced conflict detection
Fine grained versioning, conflict resolution
Instant Messaging,monitoring changes
to artifacts
Func
tiona
lDe
fined
Proa
ctive
Pass
iveSe
amles
s
Communication Artifact Management Task Management
Asynchronous communicationAccess to common set of artifacts,
isolated workspaces and version control
Parallel development,roles and access rights
Passive awareness,manage information
overload
Task allocation and assignment
Communication archivalalong with artifacts
Collocationbenefits to distributed
development
,
Prescribed and defined coordination support
Advanced conflict detection
Fine grained versioning, conflict resolution
Instant Messaging,monitoring changes
to artifacts
?
Organizational memory, social navigation
?
?
?
?
?
![Page 26: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/26.jpg)
26
My Classification FrameworkMy Classification Framework
Communication
,
Artifact Management Task Management
Func
tiona
lDe
fined
Proa
ctive
Pass
iveSe
amles
s
Basic coordination support needed to achieve rudimentary collaboration
Structured processes to achieve smooth coordination in complex systems
Enhanced information allowing proactive coordination
Unobtrusive coordination information reducing distraction
Ubiquitous and pervasive coordination
![Page 27: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/27.jpg)
27
Usage of the FrameworkUsage of the Framework
Evolution of technology– Software Configuration Management– Groupware
Classification of tools– Palantír– Augur
Highlighting potential future directions– Palantír– Augur
![Page 28: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/28.jpg)
28
Access to common set of artifacts,isolated workspaces and version control
Parallel development,roles and access rights
Passive awareness,manage information
overload
Communication archivalalong with artifacts
Prescribed and defined coordination support
Advanced conflictdetection
Fine grained versioning,conflict resolution
Instant Messaging,monitoring changes
to artifacts
Software Configuration ManagementSoftware Configuration Management
![Page 29: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/29.jpg)
29
Parallel development,roles and access rights
Passive awareness,manage information
overload
Collocation benefits todistributed development
Organizational memory,knowledge acquisition and
dissemination, social navigation
GroupwareGroupware
![Page 30: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/30.jpg)
30
Palantír Palantír
Communication: Passive layer
![Page 31: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/31.jpg)
31
AugurAugur
Task management: Proactive layer
![Page 32: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/32.jpg)
32
Future Direction: Palantír Future Direction: Palantír
Continuous coordination, collaborative architecture,
seamless development environments
Passive awareness,manage information
overload
Collocationbenefits to distributed
development
Advanced conflict detection
![Page 33: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/33.jpg)
33
Future Direction: AugurFuture Direction: Augur
Collocationbenefits to distributed
development
Advanced conflict detection
Organizational memory, social navigation
![Page 34: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/34.jpg)
34
Observations – FrameworkObservations – Framework
A different but critical perspective – user effort The layers do not strictly represent historical
evolution As we move up the pyramid
– User effort reduces– Strands of the pyramid intermingle
The top of the pyramid has been left open to signify further research
More layers may be needed before reaching the Seamless layer
![Page 35: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/35.jpg)
35
Observations – ToolsObservations – Tools
Natural ordering among the tools A tool can exist in different strands in
different layers Tools often build on the underlying
infrastructure and experiences learned Trends among tools
– Try to move up the pyramid– Employ more than one strand
![Page 36: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/36.jpg)
36
My RecommendationsMy Recommendations
Understand both software engineering principles and CSCW experiences
Automated support for detecting conflicting situations
Integrated support for the strands of the pyramid
Cross-artifact explorations Intelligent systems – self adaptive systems Peripheral visualizations
![Page 37: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/37.jpg)
37
PalantírPalantír
Problem: isolation created by SCM workspaces leads to conflicting changes
Approach: break the isolation of workspaces by providing awareness of parallel activities
Visualizations to show:– Which artifact is being changed by which
developer– The size of the changes– The impact of others’ changes on current work
![Page 38: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/38.jpg)
38
Questions …Questions …
![Page 39: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/39.jpg)
39
Another Influencing FactorAnother Influencing Factor
Technology
Needs Activities
![Page 40: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/40.jpg)
40
Expertise BrowserExpertise Browser
Task management: Proactive layer
![Page 41: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/41.jpg)
41
Social Call GraphsSocial Call Graphs
Task management: Proactive layer
Artifact Management: Passive Layer
![Page 42: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/42.jpg)
42
Why a Pyramid?Why a Pyramid?
Framework has 5 layers and 3 strands Layers - distinct ordering of the tools
based on the user effort required Strands - the inherent activities involved
in collaboration The strands slowly intermingle to depict
the change in the approach of the tools
![Page 43: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/43.jpg)
43
Applicable to Other FieldsApplicable to Other Fields
No The framework has been created based on
the available tools for software development The idea of using layers and strands in the
framework is universal Strands – different fields may have different
activities inherent for collaboration Layers
– Identify the difference in user effort required– The different collaboration needs that prompted
the tools
![Page 44: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/44.jpg)
44
Characteristics of Tools at a layerCharacteristics of Tools at a layer
Functionality of tools can be split into different layers
Tools at a higher layer does not signify that they are better
Tools at a layer inherently build on the underlying layer. If not directly by using the underlying infrastructure, then from the experience gained from tool usage
![Page 45: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/45.jpg)
45
Time vs. Place Matrix – Grudin(1994)Time vs. Place Matrix – Grudin(1994)
Collaborative writing
Work flowComputer
boards
Interactive multicast seminar
Electronic mail
Tele/
Video/
Desktop/
conferencing
Team roomsWork shiftsMeeting
facilitation
Different but predictable
Different and Un-predictable
same
same
Different but predictable
Different and Un-predictable
TIME
PLA
CE
![Page 46: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/46.jpg)
46
Model for Workflow Systems – Nutt, 1996Model for Workflow Systems – Nutt, 1996
Amount of Detail
Required Conformance
Operational Abstraction
1.0 = Fully implemented
1.0 = Fully implemented1.0 = No deviation
![Page 47: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/47.jpg)
47
Interdisciplinary Coordination – Malone & Crowston, 1994Interdisciplinary Coordination – Malone & Crowston, 1994
Communication
Group decision making gIBIS, Sibyl, electronic meeting rooms
Managing task/ subtask relation-
ship (goal decomposition)
Meeting scheduling tools [14]
Polymer
Coordinator, Information Lens
Example SystemsProcess
Managing producer / consumer relationships (sequencing pre-requisites)
Electronic mail, computer conferencing electronic meeting rooms, Information lens, collaborative authoring tools
Polymer
Managing shared resources (task assignment and prioritization)
Managing simultaneity constraints (Synchronizing)
![Page 48: A Survey of Collaborative Tools in Software Development](https://reader035.vdocument.in/reader035/viewer/2022070415/56814fea550346895dbdb746/html5/thumbnails/48.jpg)
48
Formal vs. Informal - van der Hoek, et al., 2004Formal vs. Informal - van der Hoek, et al., 2004
Conceptual visualization
Formal process based
coordination
Informal awareness based
coordination
Continuouscoordination