June 17, 2015 – 14:03:501 (c) 2007 University of California, Irvine – André van der Hoek Informatics 211: Configuration Management & Coordination André.

Slides:



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

Software change management
Configuration management
Configuration Management
Unveiling ProjectWise V8 XM Edition. ProjectWise V8 XM Edition An integrated system of collaboration servers that enable your AEC project teams, your.
HP Quality Center Overview.
Enhancing Configuration Management Systems with Information of Parallel Activities Topic Proposal Anita Sarma October 2005.
Palantír: Coordinating Distributed CMWorkspaces Anita Sarma, André van der Hoek Institute for Software Research University of California, Irvine {asarma,
Enhancing Configuration Management Workspaces with Information of Parallel Activities Topic Proposal Anita Sarma October 2005.
Validata Release Coordinator Accelerated application delivery through automated end-to-end release management.
Software Configuration Management: Selecting the Right Tool Chetan Desai Software Project Management SWEN 5230 Dr. Boetticher.
GenSpace: Exploring Social Networking Metaphors for Knowledge Sharing and Scientific Collaborative Work Chris Murphy, Swapneel Sheth, Gail Kaiser, Lauren.
1 Software Configuration Management METU Computer Engineering CEng 492 Spring'2004.
Community, Artifacts, and Versions André van der Hoek Institute for Software Research University of California, Irvine
Configuration Management and Software Environments André van der Hoek Institute for Software Research University of California, Irvine
Institute for Software Research©2001, University of California, Irvine Software Configuration Management André van der Hoek Institute for Software Research.
Informatics 211: Configuration Management & Coordination André van der Hoek Department of Informatics Donald Bren School of Information and Computer Sciences.
Software Configuration Management (SCM)
CSCI ClearQuest 1 Rational ClearQuest Michel Izygon - Jim Helm.
Software Configuration Management (SCM)
Chapter 7 Requirement Modeling : Flow, Behaviour, Patterns And WebApps.
Craig Berntson Chief Software Gardener Mojo Software Worx Branches and Merges are Bears, Oh My!
Chapter 13 Starting Design: Logical Architecture and UML Package Diagrams.
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
Configuration Management T3 Webinar Feb 21, 2008 Chuck Larsen ITS Program Coordinator Oregon Department of Transportation.
Software Engineering Modern Approaches
CLEANROOM SOFTWARE ENGINEERING.
N By: Md Rezaul Huda Reza n
Software Configuration Management
These slides are designed to accompany Web Engineering: A Practitioner’s Approach (The McGraw-Hill Companies, Inc.) by Roger Pressman and David Lowe, copyright.
Oracle Application Express 3.0 Joel R. Kallman Software Development Manager.
A Need-Based Collaboration Classification Framework Anita Sarma, André van der Hoek Institute for Software Research University of California, Irvine {asarma,
Rational Unified Process Fundamentals Module 4: Disciplines II.
Software Configuration Management (SCM)
1 Lecture 19 Configuration Management Software Engineering.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Presented by Abirami Poonkundran.  Introduction  Current Work  Current Tools  Solution  Tesseract  Tesseract Usage Scenarios  Information Flow.
1 Introduction to Software Configuration Management CprE 556 Electrical and Computer Engineering Department Iowa State University.
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
October 16, 2015 – 16:09:421 © 2006 University of California, Irvine – André van der Hoek Examining Software Design From A General Design Perspective Alex.
Software Quality Assurance
Copyright © 2015 – Curt Hill Version Control Systems Why use? What systems? What functions?
ISO 9001:2008 to ISO 9001:2015 Summary of Changes
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
Software Project Management
Software Configuration Management (SCM). Product Developer Disciplines One view of the world is that there are three types of activities are required.
Chapter 8 Workflows of the Process Taken from Walker Royce’s textbook – Software Project Management plus a number of Personal Comments.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Software Sketching: Understanding and Supporting.
© 2006, National Research Council Canada © 2006, IBM Corporation Solving performance issues in OTS-based systems Erik Putrycz Software Engineering Group.
Management of Software Project CSM Software Configuration Management (SCM)
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Software Configuration Management (SCM) Source: Pressman, R., Software Engineering: A Practitioner ’ s Approach. Boston: McGraw Hill, Inc., 2005; Ghezzi,
2136 Gallows Road, Suite F, Dunn Loring, VA Phone: Fax: Business Analyst Training 1 Module 5.2 Rational ClearCase.
Software Reuse Course: # The Johns-Hopkins University Montgomery County Campus Fall 2004 Session 5 Lecture # 4 – October 5, 2004.
University of Southern California Center for Systems and Software Engineering Configuration Management: Concepts and Tools Pongtip Aroonvatanaporn CSCI.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Service Pack 2 System Center Configuration Manager 2007.
Palantír: Increasing Awareness in Distributed Software Development Anita Sarma and André van der Hoek {asarma, Institute for Software.
© 2013 IBM Corporation Accelerating Product and Service Innovation Service Virtualization Testing in Managed Environments Michael Elder, IBM Senior Technical.
Source Control Repositories for Enabling Team Working Doncho Minkov Telerik Corporation
Configuration Management Workspace Awareness for Distributed Software Development Anita Sarma Department of Informatics & Institute for Software Research.
Process 4 Hours.
Software Configuration Management (SCM)
Configuration Management
Software Project Configuration Management
Configuration Management
Software Configuration Management
Logical Architecture & UML Package Diagrams
Presentation transcript:

June 17, 2015 – 14:03:501 (c) 2007 University of California, Irvine – André van der Hoek Informatics 211: Configuration Management & Coordination André van der Hoek University of California, Irvine Donald Bren School of Information and Computer Sciences Department of Informatics

June 17, 2015 – 14:03:502 (c) 2007 University of California, Irvine – André van der Hoek A Simplified Development Scenario Pete Pete’s workspaceEllen’s workspace Ellen CM repository

June 17, 2015 – 14:03:503 (c) 2007 University of California, Irvine – André van der Hoek Direct Conflicts Conflicting changes to the same artifact Pete Pete’s workspaceEllen’s workspace Ellen CM repository changes

June 17, 2015 – 14:03:504 (c) 2007 University of California, Irvine – André van der Hoek Indirect Conflicts Conflicting changes to different artifacts Pete Pete’s workspaceEllen’s workspace Ellen CM repository changes

June 17, 2015 – 14:03:505 (c) 2007 University of California, Irvine – André van der Hoek Configuration Management “Configuration management (CM) is a discipline whose goal is to control changes to large software through the functions of: component identification, change tracking, version selection and baselining, software manufacture, and managing simultaneous updates (team work).” Walter Tichy, SCM-1, 1988

June 17, 2015 – 14:03:506 (c) 2007 University of California, Irvine – André van der Hoek Construction Building Snapshots Regeneration Optimization Construction Building Snapshots Regeneration Optimization Auditing History Traceability Logging Auditing History Traceability Logging Components Versions Configurations Baselines Project contexts Components Versions Configurations Baselines Project contexts CM Spectrum of Functionality Susan Dart, SCM-3, 1991 Accounting Statistics Status Reports Accounting Statistics Status Reports Process Lifecycle support Task mgmt. Communication Documentation Process Lifecycle support Task mgmt. Communication Documentation Controlling Access control Change requests Bug tracking Partitioning Controlling Access control Change requests Bug tracking Partitioning Team Workspaces Merging Families Team Workspaces Merging Families Structure System model Interfaces Consistency Selection Structure System model Interfaces Consistency Selection

June 17, 2015 – 14:03:507 (c) 2007 University of California, Irvine – André van der Hoek CCC/Harvest Three Generations of CM Systems Functionality Proteus Jasmine EPOS VOODOO ShapeTools Asgard NUCM DaSC Vesta Adele ICE Odin Time Source Integrity Continuus CVS PVCS DSEE SCCS NSE ClearCase TRUEchange Serena Endevor Perforce RCS Sablime Research Development

June 17, 2015 – 14:03:508 (c) 2007 University of California, Irvine – André van der Hoek First Generation Focused on: –archiving individual elements –strictly avoiding conflicts Characterized by: –simple, separate tools –development orientation Canonical examples –SCCS –RCS –Make

June 17, 2015 – 14:03:509 (c) 2007 University of California, Irvine – André van der Hoek First Generation: Version Graphs Author = “André v/d Hoek” Date = 01/12/2001 Time = 7:52am Comment = “Trying new stuff” Lock =

June 17, 2015 – 14:03:5010 (c) 2007 University of California, Irvine – André van der Hoek Construction Building Snapshots Regeneration Optimization Construction Building Snapshots Regeneration Optimization Auditing History Traceability Logging Auditing History Traceability Logging Components Versions Configurations Baselines Project contexts Components Versions Configurations Baselines Project contexts First Generation Accounting Statistics Status Reports Accounting Statistics Status Reports Process Lifecycle support Task mgmt. Communication Documentation Process Lifecycle support Task mgmt. Communication Documentation Controlling Access control Change requests Bug tracking Partitioning Controlling Access control Change requests Bug tracking Partitioning Team Workspaces Merging Families Team Workspaces Merging Families Structure System model Interfaces Consistency Selection Structure System model Interfaces Consistency Selection

June 17, 2015 – 14:03:5011 (c) 2007 University of California, Irvine – André van der Hoek Second Generation Focused on: –archiving compound elements –different version models Characterized by: –integrated versioning & build tools –development orientation Canonical examples: –CVS –Subversion –PVCS –SourceSafe

June 17, 2015 – 14:03:5012 (c) 2007 University of California, Irvine – André van der Hoek Four Canonical Version Models State-based extensional –version tree State-based intensional –conditional compilation Change-based extensional –change packages Change-based intensional –change sets

June 17, 2015 – 14:03:5013 (c) 2007 University of California, Irvine – André van der Hoek Conditional Compilation … #ifdef UNIX #include #endif #ifdef GRAPHICS #include #ifdef SMARTGRAPHICS #include #endif #endif …

June 17, 2015 – 14:03:5014 (c) 2007 University of California, Irvine – André van der Hoek Change Packages

June 17, 2015 – 14:03:5015 (c) 2007 University of California, Irvine – André van der Hoek Change Sets Baseline Bug fix #16 Feature addition #103 Bug fix #17 Feature addition #104 Bug fix #8 Bug fix #16 Bug fix #6 Bug fix #21 AVAILABLE CHANGE SETS SYSTEM SELECTION

June 17, 2015 – 14:03:5016 (c) 2007 University of California, Irvine – André van der Hoek Construction Building Snapshots Regeneration Optimization Construction Building Snapshots Regeneration Optimization Auditing History Traceability Logging Auditing History Traceability Logging Components Versions Configurations Baselines Project contexts Components Versions Configurations Baselines Project contexts Second Generation Accounting Statistics Status Reports Accounting Statistics Status Reports Process Lifecycle support Task mgmt. Communication Documentation Process Lifecycle support Task mgmt. Communication Documentation Controlling Access control Change requests Bug tracking Partitioning Controlling Access control Change requests Bug tracking Partitioning Team Workspaces Merging Families Team Workspaces Merging Families Structure System model Interfaces Consistency Selection Structure System model Interfaces Consistency Selection

June 17, 2015 – 14:03:5017 (c) 2007 University of California, Irvine – André van der Hoek Third Generation Focused on: –providing process support –being all-encompassing Characterized by: –large, complex tools –management orientation Canonical examples: –ClearCase together with ClearGuide –CM/Synergy

June 17, 2015 – 14:03:5018 (c) 2007 University of California, Irvine – André van der Hoek Construction Building Snapshots Regeneration Optimization Construction Building Snapshots Regeneration Optimization Auditing History Traceability Logging Auditing History Traceability Logging Components Versions Configurations Baselines Project contexts Components Versions Configurations Baselines Project contexts Third Generation Accounting Statistics Status Reports Accounting Statistics Status Reports Process Lifecycle support Task mgmt. Communication Documentation Process Lifecycle support Task mgmt. Communication Documentation Controlling Access control Change requests Bug tracking Partitioning Controlling Access control Change requests Bug tracking Partitioning Team Workspaces Merging Families Team Workspaces Merging Families Structure System model Interfaces Consistency Selection Structure System model Interfaces Consistency Selection

June 17, 2015 – 14:03:5019 (c) 2007 University of California, Irvine – André van der Hoek A Fourth Generation ?

June 17, 2015 – 14:03:5020 (c) 2007 University of California, Irvine – André van der Hoek No… CM core functionality is stable with well-understood choices CM tool enhancement seems to be limited to feature creep, not fundamental new approaches SCM workshop series has ended Only a few pure CM papers are being published as of late

June 17, 2015 – 14:03:5021 (c) 2007 University of California, Irvine – André van der Hoek Maybe… CM functionality is now appearing in domains other than source code management –web content management –product data management –web services and components –software deployment –product line architectures –… Mining software repositories –no better repository than the CM repository Still some problems left –indirect conflicts –concern management Coordination

June 17, 2015 – 14:03:5022 (c) 2007 University of California, Irvine – André van der Hoek Product Line Architectures: The Problem “A software product line (SPL) is a strategic software- based asset that explicitly recognizes, optimizes, and manages variability towards current and future feature changes.” [van der Hoek] But how to manage this asset?

June 17, 2015 – 14:03:5023 (c) 2007 University of California, Irvine – André van der Hoek Classic Versioning for Product Lines

June 17, 2015 – 14:03:5024 (c) 2007 University of California, Irvine – André van der Hoek Creating the Baseline

June 17, 2015 – 14:03:5025 (c) 2007 University of California, Irvine – André van der Hoek Creating the Baseline

June 17, 2015 – 14:03:5026 (c) 2007 University of California, Irvine – André van der Hoek Creating the Baseline

June 17, 2015 – 14:03:5027 (c) 2007 University of California, Irvine – André van der Hoek Creating the Baseline

June 17, 2015 – 14:03:5028 (c) 2007 University of California, Irvine – André van der Hoek Creating the Baseline

June 17, 2015 – 14:03:5029 (c) 2007 University of California, Irvine – André van der Hoek Creating the Baseline

June 17, 2015 – 14:03:5030 (c) 2007 University of California, Irvine – André van der Hoek Creating the Baseline

June 17, 2015 – 14:03:5031 (c) 2007 University of California, Irvine – André van der Hoek Viewing the Baseline

June 17, 2015 – 14:03:5032 (c) 2007 University of California, Irvine – André van der Hoek Excluding the Baseline

June 17, 2015 – 14:03:5033 (c) 2007 University of California, Irvine – André van der Hoek Including the Baseline

June 17, 2015 – 14:03:5034 (c) 2007 University of California, Irvine – André van der Hoek Creating the Record Support

June 17, 2015 – 14:03:5035 (c) 2007 University of California, Irvine – André van der Hoek Creating the Record Support

June 17, 2015 – 14:03:5036 (c) 2007 University of California, Irvine – André van der Hoek Viewing the Record Support

June 17, 2015 – 14:03:5037 (c) 2007 University of California, Irvine – André van der Hoek Removing Old Elements

June 17, 2015 – 14:03:5038 (c) 2007 University of California, Irvine – André van der Hoek Removing Old Elements

June 17, 2015 – 14:03:5039 (c) 2007 University of California, Irvine – André van der Hoek Removing Old Elements

June 17, 2015 – 14:03:5040 (c) 2007 University of California, Irvine – André van der Hoek Removing Old Elements

June 17, 2015 – 14:03:5041 (c) 2007 University of California, Irvine – André van der Hoek Adding New Elements

June 17, 2015 – 14:03:5042 (c) 2007 University of California, Irvine – André van der Hoek Viewing the CD Writer

June 17, 2015 – 14:03:5043 (c) 2007 University of California, Irvine – André van der Hoek Trial Product

June 17, 2015 – 14:03:5044 (c) 2007 University of California, Irvine – André van der Hoek Pro Product

June 17, 2015 – 14:03:5045 (c) 2007 University of California, Irvine – André van der Hoek All Music Player Change Sets

June 17, 2015 – 14:03:5046 (c) 2007 University of California, Irvine – André van der Hoek Visualizing Relationships Change Set CD Writer MP3 Encoder Pro Version Record Support Purchase Reminder

June 17, 2015 – 14:03:5047 (c) 2007 University of California, Irvine – André van der Hoek Example Relationships

June 17, 2015 – 14:03:5048 (c) 2007 University of California, Irvine – André van der Hoek Product Compositions

June 17, 2015 – 14:03:5049 (c) 2007 University of California, Irvine – André van der Hoek Additional Relationships

June 17, 2015 – 14:03:5050 (c) 2007 University of California, Irvine – André van der Hoek Violated Relationships

June 17, 2015 – 14:03:5051 (c) 2007 University of California, Irvine – André van der Hoek Mining Software Repositories Configuration management repositories are traditionally a “depot” –occasional roll-back –occasional search for relevant information But what if we used the information captured by configuration management repositories to our advantage –understanding software developers –helping software developers

June 17, 2015 – 14:03:5052 (c) 2007 University of California, Irvine – André van der Hoek The Eclipse Platform Event Listeners CM Plug-in Workspace Visualization Extractor Internal State Palantír Client Analyzer Visualization Extractor Internal State Palantír Client Analyzer Possible Data Sources Event Database Palantír Server BootstrapCapture Workspace Wrapper The Eclipse Platform Event Listeners CM Plug-in Workspace CM System CM Server Repository Pete’s WorkspaceEllen’s Workspace Workspace Wrapper

June 17, 2015 – 14:03:5053 (c) 2007 University of California, Irvine – André van der Hoek Workspace Activity Viewer

June 17, 2015 – 14:03:5054 (c) 2007 University of California, Irvine – André van der Hoek Three-Dimensional Rotation for Different Perspectives

June 17, 2015 – 14:03:5055 (c) 2007 University of California, Irvine – André van der Hoek Some Advanced Features

June 17, 2015 – 14:03:5056 (c) 2007 University of California, Irvine – André van der Hoek GAIM

June 17, 2015 – 14:03:5057 (c) 2007 University of California, Irvine – André van der Hoek GAIM

June 17, 2015 – 14:03:5058 (c) 2007 University of California, Irvine – André van der Hoek Filters Artifact Developer Age Absolute date Artifact pattern Event type Parallelism

June 17, 2015 – 14:03:5059 (c) 2007 University of California, Irvine – André van der Hoek GAIM with Artifact Pattern Filter

June 17, 2015 – 14:03:5060 (c) 2007 University of California, Irvine – André van der Hoek GAIM with Additional Age Filter

June 17, 2015 – 14:03:5061 (c) 2007 University of California, Irvine – André van der Hoek GAIM with Additional Parallelism Filter

June 17, 2015 – 14:03:5062 (c) 2007 University of California, Irvine – André van der Hoek Replaying History Extends the usefulness of Workspace Activity Viewer from just understanding the present moment to also beginning to understand how projects evolve In the following videos, history is partially simulated based on CM archive data

June 17, 2015 – 14:03:5063 (c) 2007 University of California, Irvine – André van der Hoek (Scarab Videos)

June 17, 2015 – 14:03:5064 (c) 2007 University of California, Irvine – André van der Hoek Indirect Conflicts Conflicting changes to different artifacts Pete Pete’s workspaceEllen’s workspace Ellen CM repository changes

June 17, 2015 – 14:03:5065 (c) 2007 University of California, Irvine – André van der Hoek Traditional CM Approaches Coordination mechanism Direct conflicts Indirect conflicts PessimisticLocking before changes are made Avoided, at the expense of project delays Not addressed OptimisticAutomated merging after changes have been made Resolved, except for overlapping changes Not addressed

June 17, 2015 – 14:03:5066 (c) 2007 University of California, Irvine – André van der Hoek Key Observations CM workspaces in reality provide two kinds of isolation –“good” isolation (insulation)  shields developers from parallel changes to artifacts –“bad” isolation (seclusion)  hides knowledge of what artifacts other developers are changing Opportunities for breaking “bad” isolation are limited –based on repository information only –initiated by developer only –addressing direct conflicts only In essence, a specific form of coordination is enforced and limited by the process underlying the CM system

June 17, 2015 – 14:03:5067 (c) 2007 University of California, Irvine – André van der Hoek Undesirable Consequences (Field Studies) The more parallel work takes place, the lower the quality of the code that is delivered Developers recognize the significance of direct conflicts –direct conflicts are considered “a pain” –developers will race to be the first to commit their changes, just to avoid the task of merging –much informal communication takes place in order to attempt to avoid direct conflicts Developers do not recognize the significance of indirect conflicts –considered to be a normal part of the work (e.g., integration, resolving test case failures, dealing with bugs)

June 17, 2015 – 14:03:5068 (c) 2007 University of California, Irvine – André van der Hoek Our Objective Support more effective coordination of parallel work by allowing “good” isolation but breaking “bad” isolation Enable early detection and resolution of direct and indirect conflicts –while these conflicts emerge Mitigate the impact of direct and indirect conflicts –through provoked self-coordination of developers

June 17, 2015 – 14:03:5069 (c) 2007 University of California, Irvine – André van der Hoek Workspace Awareness Pete Pete’s workspaceEllen’s workspace Ellen CM repository changes

June 17, 2015 – 14:03:5070 (c) 2007 University of California, Irvine – André van der Hoek Eclipse Visualization: Peripheral Integration

June 17, 2015 – 14:03:5071 (c) 2007 University of California, Irvine – André van der Hoek Eclipse Visualization: Peripheral Integration

June 17, 2015 – 14:03:5072 (c) 2007 University of California, Irvine – André van der Hoek Eclipse Visualization: Peripheral Integration

June 17, 2015 – 14:03:5073 (c) 2007 University of California, Irvine – André van der Hoek Three Laboratory Experiments Text-based evaluation of the effectiveness of the user interface –Palantír versus no Palantír Code-based evaluation of the effectiveness of providing awareness information –Palantír versus no Palantír Code-based evaluation of the effectiveness of providing awareness information on indirect conflicts –Palantír with direct and indirect conflicts versus Palantír with direct conflicts only

June 17, 2015 – 14:03:5074 (c) 2007 University of California, Irvine – André van der Hoek Experiment Design Confederate-based design –ensured consistency in number and nature of conflicts –introduced direct and indirect conflicts –controlled individual differences in project activities Dependent variables –number of conflicts detected (and resolved) –time-to-completion of tasks –number of coordination attempts

June 17, 2015 – 14:03:5075 (c) 2007 University of California, Irvine – André van der Hoek Result 1: Early Conflict Detection and Resolution More direct conflicts were identified and resolved before check-in More indirect conflicts were identified More indirect conflicts were resolved

June 17, 2015 – 14:03:5076 (c) 2007 University of California, Irvine – André van der Hoek Result 2: Indirect Conflict Notification More indirect conflicts were detected and resolved when potential indirect conflicts were highlighted –the indirect conflicts we seeded were easy Developers’ knowledge of the structure of the code is inadequate to just rely on direct conflict notification

June 17, 2015 – 14:03:5077 (c) 2007 University of California, Irvine – André van der Hoek Result 3: Time-to-Completion Direct conflicts –group using Palantír is faster –resolution time for conflict is less Indirect conflicts –group using Palantír is a little slower –more conflicts are detected and resolved

June 17, 2015 – 14:03:5078 (c) 2007 University of California, Irvine – André van der Hoek Result 4: Amount of Communication The use of awareness leads to fewer coordination attempts and less time spent in those attempts –not statistically significant –but sufficiently indicative and sufficiently provocative to warrant additional study TextgroupdetectSCMchatotherstotal DCCntrl Exp ICCntrl Exp

June 17, 2015 – 14:03:5079 (c) 2007 University of California, Irvine – André van der Hoek Interpreting The Results Direct and indirect conflicts are detected as they emerge Developers undertake action upon noticing a potential conflict Fewer conflicts grow “out of hand” The resulting code is of higher quality The penalty may be a small increase in time now –but the experiments do not account for the time later that developers must otherwise spend on resolving conflicts that are committed to the CM repository

June 17, 2015 – 14:03:5080 (c) 2007 University of California, Irvine – André van der Hoek Limitations to Palantír Disconnect between awareness and action Potential for information overload Effective, but not a rich work context –further examination is required Opportunities for further improvement and extension are limited by the directory/file metaphor –does not map very well to our mental model of the code

June 17, 2015 – 14:03:5081 (c) 2007 University of California, Irvine – André van der Hoek Lighthouse Approach Leverage a secondary monitor to provide developers with a coordination platform that integrates awareness and action Center the platform on the metaphor of emerging design Contextualize the awareness information based on the changes currently being made

June 17, 2015 – 14:03:5082 (c) 2007 University of California, Irvine – André van der Hoek Vision

June 17, 2015 – 14:03:5083 (c) 2007 University of California, Irvine – André van der Hoek Awareness Information: Basics Emerging design is the design as it resides in the code Continuously kept up to date with every code change –UML-like diagrams Keeps the developer abreast of how the code changes at the interface level OnlineStore name:String address:URL placeOrder(order:Order):void getQuantity(item:String):int scan(item:ID):boolean addItem(item:Item):void Class

June 17, 2015 – 14:03:5084 (c) 2007 University of California, Irvine – André van der Hoek OnlineStore name:String address:Address address:URL Store (Store) placeOrder(order:Order):void getQuantity(item:String):int (scan(item:ID):boolean) scan(item:ID):boolean addItem(item:Item):void Class Awareness Information: Basics Emerging design is the design as it resides in the code Continuously kept up to date with every code change –UML-like diagrams Keeps the developer abreast of how the code changes at the interface level

June 17, 2015 – 14:03:5085 (c) 2007 University of California, Irvine – André van der Hoek Which Changes by Whom and When? OnlineStore name:String address:Address address:URL Store (Store) placeOrder(order:Order):void getQuantity(item:String):int (scan(item:ID):boolean) scan(item:ID):boolean addItem(item:Item):void Class

June 17, 2015 – 14:03:5086 (c) 2007 University of California, Irvine – André van der Hoek Progression of Changes OnlineStore name:String address:Address address:URL Store (Store) placeOrder(order:Order):void getQuantity(item:String):int (scan(item:ID):boolean) scan(item:ID):boolean addItem(item:Item):void Class

June 17, 2015 – 14:03:5087 (c) 2007 University of California, Irvine – André van der Hoek Coordination Actions OnlineStore name:String address:Address address:URL Store (Store) placeOrder(order:Order):void getQuantity(item:String):int (scan(item:ID):boolean) scan(item:ID):boolean addItem(item:Item):void Class

June 17, 2015 – 14:03:5088 (c) 2007 University of California, Irvine – André van der Hoek

June 17, 2015 – 14:03:5089 (c) 2007 University of California, Irvine – André van der Hoek

June 17, 2015 – 14:03:5090 (c) 2007 University of California, Irvine – André van der Hoek

June 17, 2015 – 14:03:5091 (c) 2007 University of California, Irvine – André van der Hoek Default: Minimized Appearance

June 17, 2015 – 14:03:5092 (c) 2007 University of California, Irvine – André van der Hoek Two-Stage Auto-Expansion upon Changes

June 17, 2015 – 14:03:5093 (c) 2007 University of California, Irvine – André van der Hoek Radial Layout – Code Distance as “Coupling”

June 17, 2015 – 14:03:5094 (c) 2007 University of California, Irvine – André van der Hoek Radial Layout – Code Distance as “Coupling”

June 17, 2015 – 14:03:5095 (c) 2007 University of California, Irvine – André van der Hoek Radial Layout – Code Distance as “Coupling”

June 17, 2015 – 14:03:5096 (c) 2007 University of California, Irvine – André van der Hoek In Use

June 17, 2015 – 14:03:5097 (c) 2007 University of California, Irvine – André van der Hoek Future Plans #1: Design Devations

June 17, 2015 – 14:03:5098 (c) 2007 University of California, Irvine – André van der Hoek Future Plans #2: Project Management Base abstraction upon which to show design deviations, test coverage, code volatility, aging, … – for the entire system

June 17, 2015 – 14:03:5099 (c) 2007 University of California, Irvine – André van der Hoek Coordination Asynchronous communication Access to common set of artifacts, isolated workspaces and version control Parallel development, roles and access rights Passive awareness of development activities and developers, manage information overload Task allocation and assignment Communication archival along with artifacts Communication Collocation benefits to distributed development Organizational memory, knowledge acquisition and dissemination, social navigation Prescribed and defined coordination support Artifact ManagementTask Management Advanced conflict detection Basic Functionality Rigid Process Information Discovery Information Provision Fine grained versioning, conflict resolution Instant messaging, monitoring changes to artifacts

June 17, 2015 – 14:03:50100 (c) 2007 University of California, Irvine – André van der Hoek Layers: Coordination Paradigms Asynchronous communication Access to common set of artifacts, isolated workspaces and version control Parallel development, roles and access rights Passive awareness of development activities and developers, manage information overload Task allocation and assignment Communication archival along with artifacts Communication Collocation benefits to distributed development Organizational memory, knowledge acquisition and dissemination, social navigation Prescribed and defined coordination support Artifact ManagementTask Management Advanced conflict detection Basic Functionality Rigid Process Information Discovery Information Provision Fine grained versioning, conflict resolution Instant messaging, monitoring changes to artifacts

June 17, 2015 – 14:03:50101 (c) 2007 University of California, Irvine – André van der Hoek Strands: Technical Dimensions of Coordination Asynchronous communication Access to common set of artifacts, isolated workspaces and version control Parallel development, roles and access rights Passive awareness of development activities and developers, manage information overload Task allocation and assignment Communication archival along with artifacts Communication Collocation benefits to distributed development Organizational memory, knowledge acquisition and dissemination, social navigation Prescribed and defined coordination support Artifact ManagementTask Management Advanced conflict detection Basic Functionality Rigid Process Information Discovery Information Provision Fine grained versioning, conflict resolution Instant messaging, monitoring changes to artifacts

June 17, 2015 – 14:03:50102 (c) 2007 University of California, Irvine – André van der Hoek A New Paradigm: Provoked Behavior Continuous coordination, collaborative architecture, seamless development environments, Asynchronous communication Access to common set of artifacts, isolated workspaces and version control Parallel development, roles and access rights Passive awareness of development activities and developers, manage information overload Task allocation and assignment Communication archival along with artifacts Communication Collocation benefits to distributed development Organizational memory, knowledge acquisition and dissemination, social navigation Prescribed and defined coordination support Artifact ManagementTask Management Advanced conflict detection Basic Functionality Rigid Process Information Discovery Information Provision Provoked Behavior Fine grained versioning, conflict resolution Instant messaging, monitoring changes to artifacts

June 17, 2015 – 14:03:50103 (c) 2007 University of California, Irvine – André van der Hoek Configuration Management Continuous coordination, collaborative architecture, seamless development environments, Asynchronous communication Access to common set of artifacts, isolated workspaces and version control Parallel development, roles and access rights Passive awareness of development activities and developers, manage information overload Task allocation and assignment Communication archival along with artifacts Communication Collocation benefits to distributed development Organizational memory, knowledge acquisition and dissemination, social navigation Prescribed and defined coordination support Artifact ManagementTask Management Advanced conflict detection Basic Functionality Rigid Process Information Discovery Information Provision Fine grained versioning, conflict resolution Instant messaging, monitoring changes to artifacts Provoked Behavior

June 17, 2015 – 14:03:50104 (c) 2007 University of California, Irvine – André van der Hoek Conclusion CM is a long-standing field which has seen numerous contributions –some highly influential (sometimes delayed by as much as 20 years) –others indirectly shaping –others utterly useless While the core ideas of CM have been well developed, there is still much room for improvement –particularly if one considers CM to be a coordination problem –particularly if one brings together CM with other disciplines Software engineering can be cool

June 17, 2015 – 14:03:50105 (c) 2007 University of California, Irvine – André van der Hoek Acknowledgments David Redmiles Ban Al-Ani Isabella Almeida Marcelo Alvim Anita Sarma Chris Van der Westhuizen Ping Chen Erik Trainer Stephen Quirk Roger Ripley..and the rest of the Continuous Coordination research group at UC Irvine.