1 / 48

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.

cliff
Download Presentation

A Survey of Collaborative Tools in Software Development

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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]

  3. Challenges in Coordination • Large team size • Duplication in task assignment • Distributed development • Different kinds of artifacts • Cognitive overload • Lack of technology support • …

  4. Coordination Tools • Software configuration management • Process modeling • Decision support systems • Workflow • Synchronous editors • Event notification • …

  5. 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

  6. 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

  7. 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)

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. Pine

  14. TimeTool

  15. 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

  16. ShrEdit Synchronous Editor

  17. Endeavors Interface

  18. 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

  19. Night Watch

  20. Augur

  21. 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

  22. Nynex Portholes

  23. Jazz Interface

  24. 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

  25. 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

  26. 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

  27. Usage of the Framework • Evolution of technology • Software Configuration Management • Groupware • Classification of tools • Palantír • Augur • Highlighting potential future directions • Palantír • Augur

  28. 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

  29. 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

  30. Palantír Communication: Passive layer

  31. Augur Task management: Proactive layer

  32. Future Direction: Palantír Continuous coordination, collaborative architecture, seamless development environments Passive awareness, manage information overload Collocation benefits to distributed development Advanced conflict detection

  33. Future Direction: Augur Collocation benefits to distributed development Advanced conflict detection Organizational memory, social navigation

  34. 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

  35. 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

  36. 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

  37. 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

  38. Questions …

  39. Another Influencing Factor Technology Needs Activities

  40. Expertise Browser Task management: Proactive layer

  41. Social Call Graphs Task management: Proactive layer Artifact Management: Passive Layer

  42. 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 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 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 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

  46. 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

  47. 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

  48. Formal vs. Informal - van der Hoek, et al., 2004 Conceptual visualization Formal process based coordination Informal awareness based coordination Continuous coordination

More Related