Collaborative Software Engineering – Awareness and Concurrency Agam.

Slides:



Advertisements
Similar presentations
© 2007 IBM Corporation Demo Shimon Nir, Rational Technical & Service Manager, IBM Southwest Europe.
Advertisements

Project-Based vs. Text-Based
Code Review as a Great Tool in the Agile Toolbox Matthias Sohn, Stefan Lay (SAP)
Documenting a Software Architecture By Eng. Mohanned M. Dawoud.
Gu & Maher University of Sydney, October 2004 DECO2005 Monitoring Team Process.
Shared Workspaces: Behavioural Foundations Petra Neumann 781 October 12 th, 2005.
Network Management Overview IACT 918 July 2004 Gene Awyzio SITACS University of Wollongong.
CSE 331 SOFTWARE DESIGN & IMPLEMENTATION VERSION CONTROL UW Autumn 2011.
1 Designing Group Annotations and Process Visualizations for Role-Based Collaboration Gregorio Convertino, Anna Wu, Xiaolong (Luke) Zhang, Craig H. Ganoe,
Slide 1 Tiled Display Walls - Relation to the Access Grid and Other Systems Mike Walterman, Manager of Graphics Programming, Scientific Computing and Visualization.
1 of 2 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
Access 2007 Product Review. With its improved interface and interactive design capabilities that do not require deep database knowledge, Microsoft Office.
Extreme Programming Collaboration in Software Development Process.
Computer-Supported Cooperative Work (CSCW) Thinking about groups, collaboration, and communication.
Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh 1 Effectiveness.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Single Display Groupware Ana Zanella - CPSC
CHIME: A Metadata-Based Distributed Software Development Environment Stephen E. Dossick Dept. of Computer Science Columbia University
Columbia Hypermedia IMmersion Environment CHIME.
1 Component Description CMU Note-Taker Tools Human Computer Interaction Institute Carnegie Mellon University Prepared by: Bill Scherlis March 26, 1999.
Lecture 3: Shared Workspace and Design Coordination Dr. Xiangyu WANG.
Groupware to Support Distributed & Collocated Software Engineering Student Group Projects Sarah Drummond RISE Dept. Computer Science University of Durham.
Groupware toolkits for Synchronous work Saul Greenberg, Mark Roseman Dept. of Computer Science, Univ. of Calgary In M. Beaoudouin-Lafon, editor, Computer-Supported.
CoDesign A Highly Extensible Collaborative Software Modeling Framework SoftArch, USC March, 2010 Jae young George.
Software Construction and Evolution - CSSE 375 Software Documentation 1 Shawn & Steve Right – For programmers, it’s a cultural perspective. He’d feel almost.
An Overview of Agile L e a d i n g C h a n g e T h r o u g h C o l l a b o r a t i o n.
Chapter 6– Artifacts of the process
 CoDesign A Highly Extensible Collaborative Software Modeling Framework Jae young Bang University of Southern California.
Version Control with Subversion. What is Version Control Good For? Maintaining project/file history - so you don’t have to worry about it Managing collaboration.
Chapter 7 Requirement Modeling : Flow, Behaviour, Patterns And WebApps.
The Uses of Blackboard in IDARI
Chapter 3 – Agile Software Development Lecture 1 1Chapter 3 Agile software development.
1 CSE 2102 CSE 2102 CSE 2102: Introduction to Software Engineering Ch9: Software Engineering Tools and Environments.
Requirements Analysis
1 SWE 513: Software Engineering Usability II. 2 Usability and Cost Good usability may be expensive in hardware or special software development User interface.
Sarah Drummond Dept. Computer Science University of Durham, UK MSc Research An Investigation into Computer Support for Cooperative Work in Software Engineering.
D. Sturzebecher, Institute of Operating Systems and Computer Networks, TU-Braunschweig Modular Advanced Collaboration System A Framework for Collaborative.
PLATFORM INDEPENDENT SOFTWARE DEVELOPMENT MONITORING Mária Bieliková, Karol Rástočný, Eduard Kuric, et. al.
CONTENTS Arrival Characters Definition Merits Chararterstics Workflows Wfms Workflow engine Workflows levels & categories.
Presented by Abirami Poonkundran.  Introduction  Current Work  Current Tools  Solution  Tesseract  Tesseract Usage Scenarios  Information Flow.
Sharad Oberoi and Susan Finger Carnegie Mellon University DesignWebs: Towards the Creation of an Interactive Navigational Tool to assist and support Engineering.
 Fast Conflict Detection for Jae young Bang March 8 th, 2011 Remote Collaborative Software Modeling.
File Access and Transfer. Issues 4 Access and transfer are different operations –with different requirements 4 Transfer –move the file from one place.
MOBILE GROUPWARE Jason Tsay Advanced User Interface Software - Spring 2013.
European Knowledge Platform basics. „....integration functions are becoming increasingly important.“ The vicious circle: systems introduced to reduce.
Fisheries Oceanography Collaboration Software Donald Denbo NOAA/PMEL-UW/JISAO Presented by Nancy Soreide NOAA/PMEL AMS 2002/IIPS 10.3.
Cohesion and Coupling CS 4311
Team Think For You. Outline  Introduction  Process  Requirements Engineering  Architecture  Detailed Design  Testing  Demo  Extensibility  Conclusions.
Chapter 3 Agile Software Development (1/2) Yonsei University 2 nd Semester, 2015 Sanghyun Park.
Unifying Artifacts and Activities in a Visual Tool for Distributed Software Development Teams Jon Froehlich and Paul Dourish Interactive & Collaborative.
Refactoring and Synchronization with the StarTeam Plug-in for Eclipse  Jim Wogulis  Principal Architect, Borland Software Corporation.
Research on Software Scaffolding and Community Support Jörg M. Haake
Lecture 5: Collaborative Virtual Environments Dr. Xiangyu WANG August 25 th, 2008.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Lecture 4 – XP and Agile 17/9/15. Plan-driven and agile development Plan-driven development A plan-driven approach to software engineering is based around.
© 2013, published by Flat World Knowledge Chapter 10 Understanding Software: A Primer for Managers 10-1.
CS223: Software Engineering Lecture 16: The Agile Methodology.
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
Awareness October 23, 2008 Dourish and Bellotti Ding and Patterson.
UCI Large-Scale Collection of Application Usage Data to Inform Software Development David M. Hilbert David F. Redmiles Information and Computer Science.
처음 페이지로 이동 Groupware and Computer Supported Cooperative Work n Clarence Ellis and Jacques Wainer n 발표자 : 임산공학과 김 훈.
Dr. Chen, Management Information Systems 1 Chapter 2 Collaboration Information Systems - Case & Exercise Jason C. H. Chen, Ph.D. Professor of MIS School.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Cognitive implications of using an artifact for real-time evaluations
The Five Secrets of Project Scheduling A PMO Approach
Ubiquitous Computing and Augmented Realities
Enterprise Computing Collaboration System Example
Introduction to Cloud Computing
CSCW Facilitating work by more than one person
Presentation transcript:

Collaborative Software Engineering – Awareness and Concurrency Agam

Outline Introduction to CSE Brief overview of five recent papers Synthesis with in-class discussion

Introduction to CSE Seamless, fine-grained, real-time collaboration between geographically distributed software engineers Example: Pair programming Refactoring Working on any part of the software design/analysis process as a distributed team

Introduction to CSE (contd.) Research Areas in CSE

Introduction to CSE (contd.) Design space of CSE tools lies between two extremes (optimistic, pessimistic)

Brief overview of papers “Interruptions on Software Teams: A Comparison of Paired and Solo Programmers” J. Chong, R. Siino CSCW 2006 “CVS Integration with Notification and Chat: Lightweight Software Team Collaboration” G. Fitzpatrick, P. Marshall, A. Phillips CSCW 2006

Brief overview of papers (contd.) “A User Evaluation of Synchronous Collaborative Software Engineering Tools” C. Cook, W. Irvin, N. Churcher APSEC 2005 “Towards Synchronous Collaborative Software Engineering” C. Cook, N. Churcher, W. Irvin APSEC 2004 “Modelling and Measuring Collaborative Software Engineering” C. Cook, N. Churcher ACSC 2005

“Lightweight Software Team collaboration …” Communication Mediated Informal Idea: public awareness of CVS contents as a means of communication Currently being performed (in a weak sense) by mailing lists

“Lightweight Software Team collaboration …” (contd.) Most prevalent form of CSE – version control !! Idea – combine this with informal communication Result – mediated communication

“Lightweight Software Team collaboration …” (contd.) Visualization of CVS a good idea ‘tickertape’ mechanism used to broadcast recent CVS activity to team “publish/subscrive” system displays Made users aware of “manipulation of project artifacts” Studied interaction/discussion arising from

“Lightweight Software Team collaboration …” (contd.) Results of study Stimulated developer discussion Promoted ‘awareness’ CVS log had better context, more info Helps document “flow” (commentary !)

“Lightweight Software Team collaboration …” (contd.) Results of study (contd.) ‘commit’ operation – public act (as it should be, marking transition of code from private workspace to public workspace) – Awareness ! Knowing that other developers are ‘tracking’ makes a difference – interruptibility management !

“Modelling and Measuring CSE …” CSE demands a little more than typical CSCW (E.g. shared whiteboards) Longer lifetimes Higher conflict resolution cost More complexity Currently rely on “social protocols”

“Modelling and Measuring CSE …” (contd.) CAISE architecture Server based Semantic model maintained Requires parsers/analysers Events – input/change/feedback Supports visualization

“Modelling and Measuring CSE …” (contd.) Editor Panel User Tree Client Panel

“Modelling and Measuring CSE …” (contd.)

Objectives Builds at different temporal granularities Fine-grained integrity Semantic-based awareness and feedback Private work and re-integration

“Modelling and Measuring CSE …” (contd.) CAISE and CSE Provides Taskwork-oriented features (as do traditional systems) But also -- Teamwork-oriented features Different modes reflecting different approaches to conflict resolution

“Modelling and Measuring CSE …” (contd.) Private (traditional) mode – similar to cvs Independent – simultaneos work (CAISE monitors semantic relationship) Melee – active conflict resolution by developers (communicate using out- of-band channel) WYSIWIS – “tour of the code”

“Modelling and Measuring CSE …” (contd.) Server allows awareness of Code dependencies Developer relationships Visualization – see changes to code base over time

“User evaluation of synchronous CSE …” (contd.) User Study Two modes Conventional Collaborative Two types of tasks Inter-file Intra-file Measured task-completion times

“User evaluation of synchronous CSE …” (contd.) Results Collaborative mode twice as fast Subjective survey results approved (tools rated on a scale of 1-20)

“Interruptions on Software Teams …” Studied interaction in the workplace, more specifically knowledge-intensive work Developers take breaks from work Social nature Functional nature Frequently interrupt each other

“Interruptions on Software Teams …” (contd.) User study of two situations Programmers working as a “pair” (co- located) Programmers working “solo” (remotely)

“Interruptions on Software Teams …” (contd.) Observations Interruptions – both functional + social for solo, largely functional for pair Pair was harder to interrupt ‘interruptibility’ for pair easier to assess Resumption of task/switching tasks faster for pair

“Interruptions on Software Teams …” (contd.) Observations Awareness of interruptiblity => Can handle interruptions better ! ‘Team pair’ – partner helps maintains state

“Interruptions on Software Teams …” (contd.) Conclusions Design Implication – make programmers ‘aware’ of multiple tasks to get same benefit for remote collaboration Actively maintain context

Awareness and Concurrency Awareness Know what other users are doing Helps avoid major conflicts Awareness of interruptibility Similar to mailing lists Conflict Resolution Concurrency Control Helps avoid developers making conflicting changes

Awareness and Concurrency (contd.) Conclusion Explored three different areas Issue of ‘collaboration’ in software engineering Augmenting CVS with simple tool – trasforms developer relationships CAISE – awareness of relationships - > conflict resolution Awareness related to interruptibility

Thank you ! (Questions ?)