280 likes | 398 Views
A Need-Based Collaboration Classification Framework. Anita Sarma, André van der Hoek Institute for Software Research University of California, Irvine {asarma, andre}@ics.uci.edu. Li-Te Cheng IBM Research CUE group, Cambridge li-te_cheng@us.ibm.com. Collaborative Development.
E N D
A Need-Based Collaboration Classification Framework Anita Sarma, André van der HoekInstitute for Software Research University of California, Irvine{asarma, andre}@ics.uci.edu Li-Te ChengIBM ResearchCUE group, Cambridgeli-te_cheng@us.ibm.com
Collaborative Development • Software Engineering: “multi-person construction of multi-version software” [Parnas 1987] • Group of participants working in concert towards a common goal • Intrinsic need: coordination
Limitations in Coordination Ability • Team size • Location of group members • Technology support • Types of artifacts
Approaches to Coordination • Configuration management systems • Process modeling • Groupware • Situated work • Workflow • MUDS • Decision support systems • Event notification • …
Time vs. Place Matrix - Grudin, 1994 TIME Different and Un-predictable Different but predictable same same Different but predictable PLACE Different and Un-predictable
Model for workflow systems, Nutt, 1996 Amount of Detail 1.0 = Fully implement Required Conformance 1.0 = No deviation 1.0 = Fully implement Operational Abstraction
Conceptual visualization Formal process based coordination Informal awareness based coordination Formal vs. Informal - van der Hoek, et al., 2004 van der Hoek, et.al, Continuous Coordination: A New Paradigm for Collaborative Software Engineering Tools. in Proceedings of Workshop on WoDISEE. 2004. Scotland.
Current Perspective • Classification frameworks for tools following a particular approach • Frameworks that span areas are coarse grained • Lack of guideline for • Tool developers • Existing infrastructures • Functionalities that are not addressed yet • Tool users • Comparison of tools in different research area
Goal • Framework for comparison of tools in different areas • Investigate how different areas relate • Insight into current state of research • Create a framework for literature survey
Self Actualization Esteem Needs Love Needs Safety Needs Physiological Needs Inspired by Maslow…
Rationale Technology Needs Activities
Layer 1 (fundamental) • Basic communication • Ability to synchronously and asynchronously communicate • Artifact management • Ability to access and modify common set of artifacts • Task management • Ability to distribute and recompose tasks Basic coordination support needed to achieve rudimentary collaboration
Plugin examples • Email: Nirvana • Chat: Hopy, Eclipse instant messenger • Project management: Open Time/RC, Timer
Layer 2 (defined) • Artifacts for communication • Ability to use the artifact as a communication medium • Artifact management • Ability to allow parallel development • Task management • Ability to smoothly coordinate the activities of developers • provide access rights Structured processes to achieve smooth coordination in complex systems
Plugin examples • Bug trackers: CodeBeamer, Jagzilla • CM: CVS SSL, Visual source safe, Spectrum SCM, Subclipse
Layer 3 (proactive) • Communication • Ability to embed context in communication • Ability to visualize and be notified of changes • Artifact management • Ability to resolve conflicts • Task management • Ability to assist developers using organizational memory, knowledge acquisition and dissemination Enhanced information provided that allows proactive coordination
Plugin examples • Notifications: CVSUpdateCheck, Insectivore • Conflict management: Rational ClearCase • Knowledge base: Jreflex, Hipikat, Strathcona • History of artifacts: Branchview, Boneclipse, Shrimp
Layer 4 (unobtrusive) • Communication • Ability to provide passive awareness • Artifact management • Ability to calculate the impact of changes on people and artifacts • Task management • Ability to simulate collocation benefits to distributed development Unobtrusive coordination information that helps in preventing information overload
Plugin examples • Passive awareness: Jazz, Palantír, Composonent • Dependencies: Feat • Screen sharing: Sangam, Zipper, Collaboration development tool
Layer 5 (ubiquitous) • Continuous coordination • Ability to set the level of coordination needed • Ability to create frictionless applications • Ability to proactively detect and resolve conflicts Ubiquitous and pervasive coordination
Plugins Examples • ???
Observations • Identify plugins that aid in collaboration • Not too many plugins do that • Plugins in layers 2 and 3 offer mainly alternate strategies • Currently • Needs in layer 1 seems to be solved • Layers 2 and 3 have lots of plugins • Layer 4 has few plugins • Needs in layer 5 have not been addressed yet
Summary • Should focus in creating better techniques to solve needs in layer 4 • Focus in identifying the techniques that cater to needs in layer 5 • Eclipse provides the right infrastructure • Validate our classification framework
Conclusions • Presented a Maslow like need-based classification framework • Validated the framework by classifying Eclipse plugins • My research (Palantír) falls into layer 3 and 4 • Will use the framework for classifying the different areas in collaboration as part of my literature survey
Questions? Research tool Palantír can be downloaded at www.ics.uci.edu/~asarma/Palantir Research Funded by: IBM Eclipse Innovation Grant 2004 NSF: CCR-0093489 and IIS-0205724
A Need Based Classification Framework • Able to classify based on needs that are satisfied • Complement already existing frameworks • Not direct adaptation