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
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
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]
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 …
4
Coordination ToolsCoordination Tools
Software configuration management Process modeling Decision support systems Workflow Synchronous editors Event notification …
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
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
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)
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)
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
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
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
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
13
PinePine
14
TimeToolTimeTool
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
16
ShrEdit Synchronous EditorShrEdit Synchronous Editor
17
Endeavors InterfaceEndeavors Interface
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
19
Night WatchNight Watch
20
AugurAugur
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
22
Nynex PortholesNynex Portholes
23
Jazz InterfaceJazz Interface
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
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
?
?
?
?
?
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
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
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
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
30
Palantír Palantír
Communication: Passive layer
31
AugurAugur
Task management: Proactive layer
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
33
Future Direction: AugurFuture Direction: Augur
Collocationbenefits to distributed
development
Advanced conflict detection
Organizational memory, social navigation
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
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
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
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
38
Questions …Questions …
39
Another Influencing FactorAnother Influencing Factor
Technology
Needs Activities
40
Expertise BrowserExpertise Browser
Task management: Proactive layer
41
Social Call GraphsSocial Call Graphs
Task management: Proactive layer
Artifact Management: Passive Layer
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
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
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
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
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
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)
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