human-centric software development tools

40
Human-Centric Software Development Tools Gail C. Murphy University of British Columbia Tasktop Technologies @gail_murphy A more restrictive license has been chosen given use of licensed images.

Upload: gail-murphy

Post on 14-Apr-2017

429 views

Category:

Software


0 download

TRANSCRIPT

Human-Centric Software Development Tools

Gail C. MurphyUniversity of British Columbia

Tasktop Technologies

@gail_murphy

A more restrictive license has been chosen given use of licensed images.

2Intro

“software is eating the world”

Marc Andreessen

3Intro

LintNon-trivial Refactoring

Tools

ExtractMethod

Refactoring

Effective Tools Non-Effective Tools

Theories about “Why”

Research

Human-Centric Software Development Tools

4Intro

Bridging Theory

Assessment of Effectiveness

Identification of Mismatch

Take Aways: It is about the WhyThree Characteristics of Software Development Tool Research…

5Intro

Plan

Mismatches!

Context"

Theories#

6IntroAssessment

$

Summary{

Running Example: Eclipse MylynL

Mismatches

Context

Theories

Assessment

Summary

"

!

#

$

{

8

Software development involves many groups of individuals

working together

9

Software development involves an individual working

with many complex artifacts (information spaces)

10

Software development involves many individuals working

with the same information spaces

11

Why Does Context Matter?

Context

defines scope of research narrows investigation of mismatches

narrows analysis of applicable theories sets the stage for assessment

12Context

Individual working with the information space of source code

Mylyn: Initial Context

13Context

Individual’s work is

fragmented across tasks

and tools

Mylyn: Expanded ContextActvities and Task Switches (Session 1)

Time [minutes]

Subj

ect

0 30 60 90 120 150 180

T3

T2

T1

S4

S3

S2

S1

R4

R3

R2

R1

●●

●●

●●●●

●●●●● ● ● ●●

● ●●●●●●

●●●●

●●●●●●

51 activity switches10 task switches, 3 distinct tasks

●●

●●

●●●●

●●●●

●●

●●●●●●●●

●●●●●

●●●

●●●●●●●●●●●●●●●

●●●

●●

●●●●

●●●●●●

●●●●●●●●●●●●●●

● ● ●

● ● ●●

●●●

●●

●●

●●●

●●●●

●● ●

●● ●●●●●●●●●

166 activity switches36 task switches, 3 distinct tasks

●●●●●●

●●●●●●●●●●●●●

●●●●●

●●●●●●●●

●●●●●●●

●●●●●● ●

●●

●●●●●

●●●●●●

●●

●●●●●●●

●●●●●●●●

●●●●●●●●●●●

●●●

●● ●●

●●

●●●● ●●

●●●

●●●

●●

●●●●●●●●●●●

●●●●●

●●●

●●● ●●●

● 230 activity switches79 task switches, 4 distinct tasks

●●●●●

●●●●●●●●●●●●●●●●●

●●●

●●●●●●● ●

●●●●

●●● ●●

●●●●●

● ● ●

85 activity switches13 task switches, 4 distinct tasks

● ●●●●●●

●●●●●

●●●● ●●●●●●●

●●●

●●●● ● ●

●●

●●● ●

●59 activity switches20 task switches, 5 distinct tasks

● ●●●●●●●●●●●●●

● ● ●●

●●●

●●●●●● ●

●●●

88 activity switches17 task switches, 5 distinct tasks

●●

●●●●●●●●●

●●●●●●●●●●

●●●

●●●●●●●

●●

●●●

●●●

●●●●

●●●●●●●●●

●●●

●●●●●

●●● ●

●●●●

●●

●●●●●

●●●

●●●● ●●●

●●●●●●●●●●

148 activity switches27 task switches, 4 distinct tasks

●●●●

●●●●●

●●

●●●●●

●●●●● ●●

●●●●● ●●●

●●

●●●● ●

●●●●

●108 activity switches16 task switches, 5 distinct tasks

●●●●●

●●●●●●

●●● ● ●

●● ● ●

● ●●●● ●

●66 activity switches25 task switches4 distinct tasks

●●

●●●●●

●●

●●●● ●● ●

●●

●●

●●●

● ●● ● ●●

●●●

●102 activity switches61 task switches6 distinct tasks

●●●●

●●●●●●●●●●

●●●

● ●●●● ●

●●●●●●●●

●● ●●

●●●●●●● ● ●

●●●● ●

●●●●

●●96 activity switches28 task switches, 4 distinct tasks

Dev:VCDev:DebugDev:CodeDev:ReviewDev:TestAppDev:OtherBrowsingRelBrowsingUnrelMeetInformalMeetPlannedEmailPlanningReadWriteDocOther

[Meyer, Fritz, Murphy, Zimmermann, FSE 2014]

Mismatches

Context

Theories

Assessment

Summary

"

!

#

$

{

15

Individual Working with Source Code

Mismatches

16

Tool-Centric Approach: Completeness

Mismatches

100 of 623

17

Tool Interaction: Select-Perform-Scroll-Repeat

Mismatches

18

Clickitis over Cognition

Mismatches

19

Mismatch: Information Overload

Mismatches

Mylyn: More Source Code than Needed for Task

Only some information on screen is relevant for a task

Mismatches

Context

Theories

Assessment

Summary

"

!

#

$

{

21

What Kinds of Theories Exist?

Theories

Create: - program comprehension- socio-technical congruence …

Borrow: - social presence theory- information foraging …

22

Are Theories Always Present?

Theories

Nope

23

In IDEs… Semantic Memory of Individual is Taxed

Theories

24Mylyn: Leverage Episodic MemoryTheories

Mismatches

Context

Theories

Assessment

Summary

"

!

#

$

{

26

Is it Enough to Build it?

Assessment

Need to assess if tool is effective Need to assess if tool can be used by humans effectively

If effective…try to match theory to “why”

27

Types of Assessment

Assessment

Simulations against repositoriesCase studies/experiments in lab

Case studies/experiments in field (in situ)

28

Mylyn

Assessment

Industrial Trial at IBM (2004)Longitudinal field study (2005) 16 accepted users (99 started study) 13/16 user’s edit ratio improved with MylynAdoption (today) 2 million downloads per month

Mismatches

Context

Theories

Assessment

Epilogue &Summary

"

!

#

$

{

30Intro

LintNon-trivial Refactoring

Tools

ExtractMethod

Refactoring

Effective Tools Non-Effective Tools

“Why” is Understood

Research

Human-Centric Software Development Tools

31Intro

Effective Tools

“Why” is Understood

Research

Human-Centric Software Development Tools

Innovation

32

Epilogue

Summary

Research

Inventioncreation or design ofsomething that hasnot existed before

e.g., incandescent lightbulb

33

Epilogue

Summary

Research

Invention

Mylyn Data Structure

creation or design ofsomething that hasnot existed before

e.g., incandescent

34

Epilogue

Summary

Research

Innovation

about the use of anidea or method

e.g., iPhone

35

Epilogue

Summary

Research

Invention Innovation

Mylyn Data Structure

Mylyn UI Innovation

36

Epilogue

Summary

Tasktop products

Tasktop Technologies

2007 - incorporated2008 - Tasktop Dev2011 - Tasktop Sync2014 - $11M Series A2015 - Tasktop Data~100 staff

37

Epilogue

Summary

Invention Innovation

It takes almost asmuch creativity tounderstand a goodidea as to have itin the first place. — Alan Kay

Both “I”s are importantInnovation builds fromearlier inventions andinnovationsResearch is the base

Doesn’t happen enough

38Thanks to…

Mylar + Early Tasktop: Tasktopians circa 2013

Mik Kersten, Rob Elves, Shawn Minto, Davor Cubranic, Taivo Evard, Nathan Hapke, Wesley Coelho, Meghan Allen, Leo Dos Santos, Steffen Pingel

*Many* amazing gradstudents and post-docs

Including Sarah Rastkar, Roberto Bittencourt, Thomas Fritz, Brian de Alwis,John Anvik, Jan Hannemann, Martin Robillard, Robert Walker, Elisa Baniassad, Gene Lee, Giovanni Viviani, Sedigheh Zolkatof, Sylvie Foss,Deepak Azad, Rahul Jiresal, Nick Sawadsky, Alex Bradley, Owen Ou,Petecharat Viriyakattiyaporn, Kaitlin Sherwood, Izzet Safer, Lyndon Hiew,Trevor Young, Reid Holmes, Annie Ying, Albert Lai, Emerson Murphy-Hill,Michalis Famelis, Marc Palyart Neil Ernst, and David Shepherd.

39Summary

Human-Centric Software Development Tools

Research In…

40Intro

Bridging Theory

Assessment of Effectiveness

Identification of Mismatch

Take Aways: It is about the WhyThree Characteristics of Software Development Tool Research…

@gail_murphy