a survey of collaborative tools in software development n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
A Survey of Collaborative Tools in Software Development PowerPoint Presentation
Download Presentation
A Survey of Collaborative Tools in Software Development

Loading in 2 Seconds...

play fullscreen
1 / 48

A Survey of Collaborative Tools in Software Development - PowerPoint PPT Presentation


  • 148 Views
  • Uploaded on

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 asarma@ics.uci.edu Advancement to Candidacy March 17, 2005. Software Development.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'A Survey of Collaborative Tools in Software Development' - cliff


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
a survey of collaborative tools in software development

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

asarma@ics.uci.edu

Advancement to Candidacy

March 17, 2005

software development
Software 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]
challenges in coordination
Challenges in Coordination
  • Large team size
  • Duplication in task assignment
  • Distributed development
  • Different kinds of artifacts
  • Cognitive overload
  • Lack of technology support
coordination tools
Coordination Tools
  • Software configuration management
  • Process modeling
  • Decision support systems
  • Workflow
  • Synchronous editors
  • Event notification
software engineering versus cscw
Software Engineering versus CSCW

Strengths

Weaknesses

Group centric, controlled,

scalable, insulation from other activities, specific synchronization points

Insulation becomes isolation, resynchronization problems

Software

Engineering

User centric, flexible,

small group support, promotes synergy, raises awareness

Extensive human intermediation, not scalable

CSCW

current trend in tool development
Current 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

existing frameworks
Existing Frameworks

Author(s)

Framework

Focus

Grudin (94)

Space / Time Matrix

Temporality and location of teams

Nutt (96)

Model domain space

Characteristics of a work- flow model

Malone & Crowston (94)

Interdisciplinary theory of coordination

Managing interdependencies between activities

van der Hoek, et al. (04)

Formal versus informal approach

High-level approach to collaboration (process-based or awareness-based)

my framework
My Framework

Author(s)

Framework

Focus

Grudin (94)

Space / Time Matrix

Temporality and location of teams

Nutt (96)

Model domain space

Characteristics of a work- flow model

Malone & Crowston (94)

Interdisciplinary theory of coordination

Managing interdependencies between activities

van der Hoek, et al. (04)

Formal versus informal approach

High-level approach to collaboration (process-based or awareness-based)

Sarma (05)

Pyramid

User effort required in using the tools

my classification framework

Continuous coordination,

collaborative architecture,

seamless development environments

Seamless

Low user effort

Collocation

benefits to distributed

development

Passive awareness,

manage information

overload

Advanced conflict

detection

Passive

Instant Messaging,

monitoring changes

to artifacts

Proactive

Fine grained versioning,

conflict resolution

,

Organizational memory,

social navigation

Defined

Communication archival

along with artifacts

Prescribed and defined

coordination support

Parallel development,

roles and access rights

Functional

High user effort

Access to common set of artifacts,

isolated workspaces and version control

Task allocation

and assignment

Asynchronous communication

Artifact Management

Communication

Task Management

My Classification Framework
layers

Continuous coordination,

collaborative architecture,

seamless development environments

Seamless

Collocation

benefits to distributed

development

Passive awareness,

manage information

overload

Advanced conflict

detection

Passive

Instant Messaging,

monitoring changes

to artifacts

Proactive

Fine grained versioning,

conflict resolution

,

Organizational memory,

social navigation

Defined

Communication archival

along with artifacts

Prescribed and defined

coordination support

Parallel development,

roles and access rights

Functional

Access to common set of artifacts,

isolated workspaces and version control

Task allocation

and assignment

Asynchronous communication

Artifact Management

Communication

Task Management

Layers
strands

Continuous coordination,

collaborative architecture,

seamless development environments

Seamless

Collocation

benefits to distributed

development

Passive awareness,

manage information

overload

Advanced conflict

detection

Passive

Instant Messaging,

monitoring changes

to artifacts

Proactive

Fine grained versioning,

conflict resolution

,

Organizational memory,

social navigation

Defined

Communication archival

along with artifacts

Prescribed and defined

coordination support

Parallel development,

roles and access rights

Functional

Access to common set of artifacts,

isolated workspaces and version control

Task allocation

and assignment

Asynchronous communication

Artifact Management

Communication

Task Management

Strands
layer 1 functional tools

Seamless

Passive

Proactive

Defined

Functional

Layer 1 – Functional Tools

Continuous coordination,

collaborative architecture,

seamless development environments

Email

Collocation

benefits to distributed

development

Passive awareness,

manage information

overload

Advanced conflict

detection

SCM, repository based systems

Instant Messaging,

monitoring changes

to artifacts

Fine grained versioning,

conflict resolution

,

Organizational memory,

social navigation

Email, project management tools, bug trackers

Communication archival

along with artifacts

Prescribed and defined

coordination support

Parallel development,

roles and access rights

Access to common set of artifacts,

isolated workspaces and version control

Task allocation

and assignment

Asynchronous communication

Artifact Management

Communication

Task Management

layer 2 defined tools

Continuous coordination,

collaborative architecture,

seamless development environments

Seamless

Collocation

benefits to distributed

development

Passive awareness,

manage information

overload

Advanced conflict

detection

Passive

Instant Messaging,

monitoring changes

to artifacts

Proactive

Fine grained versioning,

conflict resolution

,

Organizational memory,

social navigation

Defined

Communication archival

along with artifacts

Prescribed and defined

coordination support

Parallel development,

roles and access rights

Functional

Access to common set of artifacts,

isolated workspaces and version control

Task allocation

and assignment

Asynchronous communication

Artifact Management

Communication

Task Management

Layer 2 – Defined Tools

Bug trackers, SCM check-in comments

Asynchronous parallel development, synchronous editors

Workflow, process modeling

layer 3 proactive tools

Continuous coordination,

collaborative architecture,

seamless development environments

Seamless

Collocation

benefits to distributed

development

Passive awareness,

manage information

overload

Advanced conflict

detection

Passive

Instant Messaging,

monitoring changes

to artifacts

Proactive

Fine grained versioning,

conflict resolution

,

Organizational memory,

social navigation

Defined

Communication archival

along with artifacts

Prescribed and defined

coordination support

Parallel development,

roles and access rights

Functional

Access to common set of artifacts,

isolated workspaces and version control

Task allocation

and assignment

Asynchronous communication

Artifact Management

Communication

Task Management

Layer 3 – Proactive Tools

Instant Messaging, notification of changes (monitors, visualizations)

Fine grained versioning, conflict resolution tools

Information visualization recommendation systems, social Navigation, GDSS

layer 4 passive tools

Seamless

Passive

Proactive

Defined

Functional

Layer 4 – Passive Tools

Continuous coordination,

collaborative architecture,

seamless development environments

Collocation

benefits to distributed

development

Passive awareness,

manage information

overload

Advanced conflict

detection

Instant Messaging,

monitoring changes

to artifacts

Fine grained versioning,

conflict resolution

,

Organizational memory,

social navigation

Awareness (social, task-oriented, room-based), event notification services

Privacy concerns, interruption management, modes of collaboration

Communication archival

along with artifacts

Prescribed and defined

coordination support

Parallel development,

roles and access rights

Change analysis methods, social callgraphs, task-based SCM systems

Access to common set of artifacts,

isolated workspaces and version control

Task allocation

and assignment

Asynchronous communication

Artifact Management

Communication

Task Management

layer 5 seamless layer

Seamless

Passive

Proactive

Defined

Functional

Layer 5 – Seamless Layer

Continuous coordination,

collaborative architecture,

seamless development environments

Collocation

benefits to distributed

development

Passive awareness,

manage information

overload

Advanced conflict

detection

Instant Messaging,

monitoring changes

to artifacts

Organizational memory,

social navigation

Fine grained versioning,

conflict resolution

,

Communication archival

along with artifacts

Prescribed and defined

coordination support

Parallel development,

roles and access rights

Access to common set of artifacts,

isolated workspaces and version control

Task allocation

and assignment

Asynchronous communication

Artifact Management

Communication

Task Management

slide25

Seamless

Passive

Proactive

Defined

Functional

?

?

?

?

?

?

Collocation

benefits to distributed

development

Collocation benefits

to distributed

development

Passive awareness,

manage information

overload

Passive awareness,

manage information

overload

Advanced conflict

detection

Advanced conflict

detection

Instant Messaging,

monitoring changes

to artifacts

Instant Messaging,

monitoring changes

to artifacts

Organizational memory,

social navigation

Fine grained versioning,

conflict resolution

Fine grained versioning,

conflict resolution

,

,

Organizational memory,

social navigation

Communication archival

along with artifacts

Communication archival

along with artifacts

Prescribed and defined

coordination support

Prescribed and defined

coordination support

Parallel development,

roles and access rights

Parallel development,

roles and access rights

Access to common set of artifacts,

isolated workspaces and version control

Access to common set of artifacts,

isolated workspaces and version control

Task allocation

and assignment

Task allocation

and assignment

Asynchronous communication

Asynchronous communication

Artifact Management

Artifact Management

Communication

Communication

Task Management

Task Management

my classification framework1

Seamless

Passive

Proactive

Defined

Functional

My Classification Framework

Ubiquitous and pervasive coordination

Unobtrusive coordination information reducing distraction

Enhanced information allowing proactive coordination

,

Structured processes to achieve smooth coordination in complex systems

Basic coordination support needed to achieve rudimentary collaboration

Artifact Management

Communication

Task Management

usage of the framework
Usage of the Framework
  • Evolution of technology
    • Software Configuration Management
    • Groupware
  • Classification of tools
    • Palantír
    • Augur
  • Highlighting potential future directions
    • Palantír
    • Augur
software configuration management
Software Configuration Management

Passive awareness,

Advanced conflict

manage information

detection

overload

Instant Messaging,

Fine grained versioning,

monitoring changes

conflict resolution

to artifacts

Communication archival

Parallel development,

Prescribed and defined

along with artifacts

roles and access rights

coordination support

Access to common set of artifacts,

isolated workspaces and version control

groupware
Groupware

Passive awareness,

Collocation benefits to

manage information

distributed development

overload

Organizational memor

y

,

knowledge acquisition and

dissemination, social navigation

Parallel development,

roles and access rights

palant r
Palantír

Communication: Passive layer

augur1
Augur

Task management: Proactive layer

future direction palant r
Future Direction: Palantír

Continuous coordination,

collaborative architecture,

seamless development environments

Passive awareness,

manage information

overload

Collocation

benefits to distributed

development

Advanced conflict

detection

future direction augur
Future Direction: Augur

Collocation

benefits to distributed

development

Advanced conflict

detection

Organizational memory,

social navigation

observations framework
Observations – 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
observations tools
Observations – 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
my recommendations
My 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
palant r1
Palantí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
another influencing factor
Another Influencing Factor

Technology

Needs

Activities

expertise browser
Expertise Browser

Task management: Proactive layer

social call graphs
Social Call Graphs

Task management: Proactive layer

Artifact Management: Passive Layer

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
applicable to other fields
Applicable 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
characteristics of tools at a layer
Characteristics 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
time vs place matrix grudin 1994
Time vs. Place Matrix – Grudin(1994)

TIME

Different and

Un-predictable

Different but

predictable

same

Meeting facilitation

Work shifts

Team rooms

same

Tele/

Video/

Desktop/

conferencing

Electronic mail

Collaborative writing

Different but

predictable

PLACE

Interactive multicast seminar

Computer boards

Work flow

Different and

Un-predictable

model for workflow systems nutt 1996
Model for Workflow Systems – Nutt, 1996

Amount of Detail

1.0 = Fully implemented

Required Conformance

1.0 = No deviation

1.0 = Fully implemented

Operational Abstraction

interdisciplinary coordination malone crowston 1994
Interdisciplinary Coordination – Malone & Crowston, 1994

Process

Example Systems

Managing shared resources (task assignment and prioritization)

Coordinator, Information Lens

Managing producer / consumer relationships (sequencing pre-requisites)

Polymer

Managing simultaneity constraints (Synchronizing)

Meeting scheduling tools [14]

Managing task/ subtask relation-

ship (goal decomposition)

Polymer

Group decision making

gIBIS, Sibyl, electronic meeting rooms

Electronic mail, computer conferencing electronic meeting rooms, Information lens, collaborative authoring tools

Communication

formal vs informal van der hoek et al 2004
Formal vs. Informal - van der Hoek, et al., 2004

Conceptual visualization

Formal process

based

coordination

Informal awareness

based

coordination

Continuous

coordination