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.
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…
9
Software development involves an individual working
with many complex artifacts (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
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]
19
Mismatch: Information Overload
Mismatches
Mylyn: More Source Code than Needed for Task
Only some information on screen is relevant for a task
21
What Kinds of Theories Exist?
Theories
Create: - program comprehension- socio-technical congruence …
Borrow: - social presence theory- information foraging …
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
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
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.