Upload
gail-murphy
View
511
Download
0
Embed Size (px)
Citation preview
Gail C. MurphyUniv. of British Columbia
Tasktop Technologies
@gail_murphy
Improving Software DevelopmentProductivity
Minute-by-Minute
9Perspective
When do developers perceive themselves to be productive and unproductive?
Thomas Fritz U. Zürich
André Meyer U. Zürich
Tom Zimmermann MicrosoftResearch
Joint work [FSE 2014] with:
11
I have a productive day when I…
Perspective
53%
complete tasks or goals
50%
have no/few interruptions or
distractions
22%
have no meetings
20%
have clear goals
12
Productive and Unproductive Activities
Perspective
0
20
40
60
80
Coding Meetings Planning Doc0
15
30
45
60
Meetings Email Unplanned Coding
Productive Unproductive
# Work ItemsTime on Work Items
Time on Code ReviewsTime Writing Code
# Code Reviews
# Code Elements Changed
# Lines of Code Changed# Emails Written
Measuring ProductivityPerspective
14Perspective
Take-away
Developers want to measure productivity;each developer wants to measure differently.
27%
Activities
18%
Achievements
17%
Value
16%
Time per task ratio
16Observation
Survey left us with many questions.
What are tasks? What are context switches?What kind of email is processed? …
Thomas Fritz U. Zürich
André Meyer U. Zürich
Tom ZimmermannMicrosoftResearch
Joint work [FSE 2014] with:
18Observation
Theme 1: Tasks
4 (±2.3) tasks per 4 hours
13.3 (±8.5) task switches per hour
6.2 (±3.3) min spent each time on task
tasks ≠ work items
19Observation
Theme 2: Activities
47 (± 19.8) activities per hour
1.6 (± .8) min spent on each activity
14.8 (± 3.9) programs over 4 hours
21Observation
Activities (Other)
Email 5%
Planning 8%
Doc 3%
Meet Planned 5%
Meet Informal 13%
Browsing 4%
23Observation
Theme 3: Work Flow
A context switch is when:
“When I have to stop thinking about one thing and start thinking about something else”
24Observation
Theme 3: Work Flow
The longer the switch the more expensive…“[To] stop and work on a different task is a more costly context switch that writing a quick email”
The more focused on a task the more expensive…“Depends on where I was, if it was a critical section, it is
really hard to get back to focus on that task, even if it was for like 30 seconds”
25Observation
Take-away
Mitigate context switches (e.g., close email, schedule a meeting with yourself, work elsewhere)
Need for automatic recognition of context switches
27Activity
But what do developers really do all day… and when do they think they are productive?
Thomas Fritz U. Zürich
André Meyer U. Zürich
Tom Zimmermann Microsoft Research
Joint work with:
Laura BartonUBC
30Activity
Activities (Other)
Email 14%
Planning 5%
Doc 7%
Meet Planned 6%
Meet Informal 3%
Browsing 11%
32Activity
Some early take-aways
Development work is highly fragmented (.3 to 2 min per activity)
Developers perceived productivity follows habitual patterns
35Ways Forward
Individual
Set goals Organize workday to minimize interruptions Manage distractions Research challenges:Flexible, adaptable retrospection (and measurement) tools
36Ways Forward
Team
Use toolchains that support context and flow (e.g., brings issues into dev env’t) Use effective meeting practices Research challenges:Build tools with interfaces that support flow
37Ways Forward
Organization
Streamline communications
• integrate PPM, Agile planning, requirements management, test management and service desk
• synchronize artifacts across the lifecycle
38Ways Forward
Organization
Analyze workflow
• collect data from lifecycle tools • gather metrics and uncover trends across organization e.g., which teams are producing most severe defects? are teams getting project requirements on time?
40Summary
Improving Software Development Productivity Minute-by-Minute
PerspectiveIndividual
measurement and retrospection
Ways ForwardIndividual, team,
organization
ActivityHabitual productivity patterns
ObservationMitigate context switches
Perspective
Activity
Ways
Observation@gail_murphy
41
ContactYou can reach me via: [email protected], [email protected], @gail_murphy For more information on Tasktop products, see www.tasktop.com
[FSE 2014] André N. Meyer, Thomas Fritz, Gail C. Murphy and Thomas Zimmermann. Software Developers’ Perceptions of Productivity. In Proc. of 22nd ACM SIGSOFT International Symposium on the Foundations of Software Engineering, ACM, 2014. Available at: http://research.microsoft.com/apps/pubs/default.aspx?id=228971
References
AcknowledgementsThanks to the many participants in our studies. This work was funded in part by NSERC, in part by ABB and has been motivated through conversations with many colleagues at Tasktop.