Top Banner
Peer Interaction Effectively, yet Infrequently, Enables Programmers to Discover New Tools Emerson Murphy-Hill North Carolina State University Gail Murphy University of British Columbia 1
16

Peer Interaction Effectively, yet Infrequently, Enables Programmers to Discover New Tools Emerson Murphy-Hill North Carolina State University Gail Murphy.

Dec 18, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Peer Interaction Effectively, yet Infrequently, Enables Programmers to Discover New Tools Emerson Murphy-Hill North Carolina State University Gail Murphy.

1

Peer Interaction Effectively, yet Infrequently, Enables Programmers to Discover New Tools

Emerson Murphy-HillNorth Carolina State University

Gail MurphyUniversity of British Columbia

Page 2: Peer Interaction Effectively, yet Infrequently, Enables Programmers to Discover New Tools Emerson Murphy-Hill North Carolina State University Gail Murphy.

2

Background

Emerson’s 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 didn’t know of the

tools existed?

Page 3: Peer Interaction Effectively, yet Infrequently, Enables Programmers to Discover New Tools Emerson Murphy-Hill North Carolina State University Gail Murphy.

3

Background

Gail’s 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

But we really expected that a recommender system would help!

= ?MS Clippy

Page 4: Peer Interaction Effectively, yet Infrequently, Enables Programmers to Discover New Tools Emerson Murphy-Hill North Carolina State University Gail Murphy.

4

Why we Thought Spyglass Would Work

Spyglass (and Clippy) is similar to recommendations made by peers, which may be effective– Literature suggests it’s 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 really expected that a recommender system would help!

= ?

But we don’t really know how tool recommendations are made between peers

MS Clippy

Page 5: Peer Interaction Effectively, yet Infrequently, Enables Programmers to Discover New Tools Emerson Murphy-Hill North Carolina State University Gail Murphy.

5

A bit more about what we were looking for

Peer RecommendationYou discover when a peer is watching you not use a tool when you could be, then she recommends it

Peer ObservationYou discover by watching a peer using a tool that you didn’t know about

We call these both Peer Interaction, one kind of discovery mode

Page 6: Peer Interaction Effectively, yet Infrequently, Enables Programmers to Discover New Tools Emerson Murphy-Hill North Carolina State University Gail Murphy.

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”

Page 7: Peer Interaction Effectively, yet Infrequently, Enables Programmers to Discover New Tools Emerson Murphy-Hill North Carolina State University Gail Murphy.

7

MethodologySemi-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

Process

Effectiveness

RecSys

Page 8: Peer Interaction Effectively, yet Infrequently, Enables Programmers to Discover New Tools Emerson Murphy-Hill North Carolina State University Gail Murphy.

8

Frequency

Process

Effectiveness

RecSys

Page 9: Peer Interaction Effectively, yet Infrequently, Enables Programmers to Discover New Tools Emerson Murphy-Hill North Carolina State University Gail Murphy.

9

FrequencyProcessEffectiveness

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 another’s actions via email.

RecSys

Page 10: Peer Interaction Effectively, yet Infrequently, Enables Programmers to Discover New Tools Emerson Murphy-Hill North Carolina State University Gail Murphy.

10

FrequencyProcessEffectiveness RecSys

One cause: Learner associates use with context of use

Page 11: Peer Interaction Effectively, yet Infrequently, Enables Programmers to Discover New Tools Emerson Murphy-Hill North Carolina State University Gail Murphy.

11

FrequencyProcessEffectiveness RecSys

One cause: distributed, asynchronous development.

Page 12: Peer Interaction Effectively, yet Infrequently, Enables Programmers to Discover New Tools Emerson Murphy-Hill North Carolina State University Gail Murphy.

12

FrequencyProcessEffectiveness RecSys

After we outlined what Spyglass does, several participants immediately mentioned Clippy

“…and Clippy should just go die as far as I’m 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 doesn’t mean that I would trust the [recommender system] more.”

Page 13: Peer Interaction Effectively, yet Infrequently, Enables Programmers to Discover New Tools Emerson Murphy-Hill North Carolina State University Gail Murphy.

13

Implications

For recommender systems:No matter how accurate, how timely, how politely, or how valuable the recommendation is, programmers don’t trust recommender systems

But what if, rather than foisting recommendations on people, why don’t we just encourage more frequent peer interaction?

Page 14: Peer Interaction Effectively, yet Infrequently, Enables Programmers to Discover New Tools Emerson Murphy-Hill North Carolina State University Gail Murphy.

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

Page 15: Peer Interaction Effectively, yet Infrequently, Enables Programmers to Discover New Tools Emerson Murphy-Hill North Carolina State University Gail Murphy.

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 developersSuggest 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, doesn’t 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

Page 16: Peer Interaction Effectively, yet Infrequently, Enables Programmers to Discover New Tools Emerson Murphy-Hill North Carolina State University Gail Murphy.

Programmers have thousands of useful tools available.

Peer interaction can help programmers effectively discover new tools,but they need support for more frequent interactions.

CONCLUSION16