Peer Interaction Effectively, yet Infrequently, Enables ...

Peer Interaction Effectively, yet Infrequently, Enables ...

1 Peer Interaction Effectively, yet Infrequently, Enables Programmers to Discover New Tools Emerson Murphy-Hill North Carolina State University Gail Murphy University of British Columbia 2 Background Emersons Problem I was making a bunch of new user interfaces for refactoring tools

They made it easier for programmers to restructure their code But what if people didnt know of the tools existed? 3 Background = MS Clippy ? But we really expected that a

recommender system would help! Gails Problem Was working on a recommender system called Spyglass that recommended tools in Eclipse In a longitudinal study, only 2 out of 7 participants thought that the recommendations were useful 4 Why we Thought Spyglass Would Work =

MS Clippy ? But we really expected that a recommender system would help! Spyglass (and Clippy) is similar to recommendations made by peers, which may be effective Literature suggests its similar; recommender system should guide and advise an user similar to a knowledgeable colleague or assistant [Fisher 84] Literature suggests learning from peers works exceedingly effectively [Lave and Wegner 91]

But we dont really know how tool recommendations are made between peers A bit more about what we were looking for Peer Recommendation You discover when a peer is watching you not use a tool when you could be, then she recommends it Peer Observation You discover by watching a peer using a tool that you didnt know about We call these both Peer Interaction, one kind of discovery mode

5 6 Participants Sent invitations to 62 participants of Open Source Bridge 2009 Asked personal contacts at 7 large companies to distribute 18 participants total All programmed as part of their jobs, though not necessarily Programmers 7

Methodology Semi-structured phone, Skype, or chat interviews Gave participants a list of tools, asked participants to pick a tool and tell me how you discovered it Gave participants a list of discovery modes, asked participants to pick 2 most effective Asked participants to recall instances of peer interaction Asked about perceptions of Spyglass

Frequency Effectiveness Process RecSys 8 Frequency Effectiveness Process RecSys 9

Process EffectivenessFrequencyRecSys Situation Description Traditional Pair Programming Two programmers work at the same computer and collaborate to complete the same task. Happenstance Interaction One programmer observes another during a chance

encounter. Help Giving A programmer helps a collocated programmer with a task. Remote Help Giving A programmer helps a remote programmer with a task. Remote Pair Programming Two programmers work at different computers and

collaborate to complete a task. Change Notification A programmer commits code to version control, and an email is sent to the team about the commit. Email One programmer observes anothers actions via email. 10 Process EffectivenessFrequencyRecSys

One cause: Learner associates use with context of use 11 Process EffectivenessFrequencyRecSys One cause: distributed, asynchronous development. 12 Process EffectivenessFrequencyRecSys After we outlined what Spyglass does, several participants immediately mentioned Clippy and Clippy should just go die as far as Im concerned.

Or put more politely: Honestly; I bet the [recommender system] would have better success rate [than a peer] at recommending things that I would like, but that doesnt mean that I would trust the [recommender system] more. 13 Implications For recommender systems: No matter how accurate, how timely, how politely, or how valuable the recommendation is, programmers dont trust recommender systems

But what if, rather than foisting recommendations on people, why dont we just encourage more frequent peer interaction? 14 Making Peer Interaction More Frequent How can people who work asynchronously and remotely learn from each other? http://www.flickr.com/photos/novecentino/2339687721/ http://www.flickr.com/photos/totalaldo/2400635097 15

Making Peer Interaction More Frequent For each developer, keep a local history of: what tools he uses a full movie of his development history Compare tool histories between all developers Suggest either: To Rob: Your co-worker, Tim, uses ToolX. Would you like to see an example of him using it yesterday? or To Tim: Your coworker, Rob, doesnt seem to know about ToolX. Would you like to share with him an example of you using it? http://www.flickr.com/photos/novecentino/2339687721/

http://www.flickr.com/photos/totalaldo/2400635097 16 CONCLUSION Programmers have thousands of useful tools available. Peer interaction can help programmers effectively discover new tools, but they need support for more frequent interactions.

Recently Viewed Presentations

  • Art History work for AVI2O - Ms. Williams' Student Site

    Art History work for AVI2O - Ms. Williams' Student Site

    Complete the worksheet, "Egyptian Sculpture and Painting." Complete the following sketchbook activity for homework: Draw a personal story in the style of the Egyptian wall paintings (see p. 161 figure 7.14 for inspiration). Remember to not use the rules of...
  • Carbon: Transformations in Matter and Energy Environmental Literacy

    Carbon: Transformations in Matter and Energy Environmental Literacy

    Follow the instructions in Part A of the 3.2GL Observing Plants' Mass Changes, Part 1 Worksheet. Show slide 3 and 4 of the PPT, which has the instructions and pictures of the process. You may want to demonstrate how to...
  • DRIVING AND MOBILITY - Illinois High School & College Driver ...

    DRIVING AND MOBILITY - Illinois High School & College Driver ...

    the highway transportation system (hts) there are 3 parts of the highway transportation system: 1. ... the safe method for driving was developed in the early 2000's to come up with a newer and not so out-dated method of defensive...
  • WEb Services Standards for Financial Service

    WEb Services Standards for Financial Service

    XML's Role as a Standard for Building Automation Patrick Gannon President & CEO CABA XML Symposium Orlando, 9 February 2005 Open Standards for Building Automation Future Shock - "De-perimiterization" Information Technology Trends Service Oriented Architecture Key Directions in XML &...
  • A New Space Enterprise of Exploration

    A New Space Enterprise of Exploration

    The Data Architecture is the foundation for a solid Model-Based Systems Engineering (MBSE) approach. A well-defined process-based data architecture will facilitate: Standardization (definitions, concern viewpoints, etc.) Discovering document based process flaws. Defining process compliance audits. Interoperability and data exchange. Data...
  • www.ceri.memphis.edu

    www.ceri.memphis.edu

    ProductClient.jar. Restart services when config changes. On hubs, EIDS configuration and services. Deploy Automation - Puppet. Separate build/deploy pipelines. Jenkinsfile for build with source. Jenkinsfile for deploy in separate repository. Vulnerability checks.
  • Brittle Material Parameter Estimation & Component Reliability with

    Brittle Material Parameter Estimation & Component Reliability with

    Brittle Material Parameter Estimation & Component Reliability with WeibPar & CARES Connecticut Reserve Technologies, Inc. Specimen Failure Stress Data WeibPar CARES Specimen Geometry (standard) Material Specific Weibull Parameters m, s0 Finite Element Model/Analysis Interface Codes (ANSCARES,…
  • Azure Active Directory - Identity and Access Management all ...

    Azure Active Directory - Identity and Access Management all ...

    What is Azure Active Directory? A comprehensive identity and access management cloud solution for your employees, partners, and customers. It combines directory services, advanced identity governance, application access management, and a rich standards-based platform for developers.