Resumption Strategies forInterrupted Programming Tasks                     Chris Parnin                     Georgia Tech  ...
Problem• Office studies  – Interrupted tasks take twice as long.  – 57% of tasks interrupted.• Developer studies  – Often ...
Psychology Research                                          Key factors• Suspension  – What is done before interruption.•...
Psychology research                  Resumption lag and interruption lag
Psychology research                      Role of cues
Psychology research
Issues for Software DevelopersKnowledge  –   Plans and Steps            – Exploratory  –   Designs                    – Un...
Research Questions• Is programming work fragmented and what  is the cost?• What strategies do programmers use to  resume a...
Investigation                       Interaction History and ConceptsInteraction history is  “a record of programming activ...
Investigation                                     Sessions• New session when greater than 15 minutes.• 98% events within a...
Investigation                                                       Datasets       Dataset          Stats                 ...
Investigation                Edit Lag: a cost measure
Analysis                            Work fragmentation and edit lag• Method  – Fragmentation?     • Group events into sess...
Analysis                                 Work fragmentation and edit lagsessions           Programming sessions in a typic...
Analysis                                   Strategies• Method  – Pilot survey on strategies.  – Measure     • strategy usa...
Analysis                                       Strategies•   “Return to last edit”•   “Navigate to remember.”•   “Examine ...
Analysis                                                           Last Edit• Frequency: Last edit location    – 17% sessi...
Analysis                            Cost of Navigate to Remember• Frequency    – 83% sessions involve navigating first.• N...
Analysis                                      Other cues• Views  – Task lists 9%.  – Error lists 9%.  – Revision history n...
Implications• Programmers seek breakpoints:  – Often resume coding in new locations.  – But, lag to resume next part of ta...
Recent Research                                        Survey (on going)• 43 professional developers (so-far)  – Several m...
Recent Research                                               Task Tracking• Few projects are using issue trackers for  pr...
Future Approaches
Future Research• Investigate relation of sessions:• Eye-tracking at start of session.• Deeper analysis on activities.
Conclusions• Programmers are affected by interruptions     but have limited cues for resumption.• Programmers value taking...
Filtered   Edits1561       12135931       39627492       5175
Issues for Software Developers                          Limited availability of cues
Resumption strategies
Upcoming SlideShare
Loading in …5
×

Resumption strategies

594 views

Published on

Analysis of developer's work history to understand what they do after an interruption.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
594
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Mess with slide numbers a big more on projectorLee, Fini, Sam, Seonah, Immad, Apple, Brett, Owen, PengTurn off skype/email
  • Last method (edit) pictures, transitions….
  • Data available where? What’s the impact?
  • Resumption strategies

    1. 1. Resumption Strategies forInterrupted Programming Tasks Chris Parnin Georgia Tech Spencer Rugaber Georgia Tech
    2. 2. Problem• Office studies – Interrupted tasks take twice as long. – 57% of tasks interrupted.• Developer studies – Often blocked from completing tasks. – Case study estimates interrupts cost 15 minutes.
    3. 3. Psychology Research Key factors• Suspension – What is done before interruption.• Cues – What tactile/visual reminders are present.• Timing – Cognitive load and breakpoints.Examples…
    4. 4. Psychology research Resumption lag and interruption lag
    5. 5. Psychology research Role of cues
    6. 6. Psychology research
    7. 7. Issues for Software DevelopersKnowledge – Plans and Steps – Exploratory – Designs – Unanticipated issue – Sub-goals – Hypothesis – Issues – Exploratory – Unanticipated issue
    8. 8. Research Questions• Is programming work fragmented and what is the cost?• What strategies do programmers use to resume a task?Research goal: Illicit requirements for better tool support.
    9. 9. Investigation Interaction History and ConceptsInteraction history is “a record of programming activity”and consists of events: - timestamp - target (code entity) - type (edit, search command, file selection)events can be grouped into sessions: “A timeframe of work”
    10. 10. Investigation Sessions• New session when greater than 15 minutes.• 98% events within a minute of another.
    11. 11. Investigation Datasets Dataset Stats Users Sessions Events Visual Studio [1] 12 1972 573,998 Eclipse [2] 73 7927 3,937,526 Total 85 9899 4,511,524
    12. 12. Investigation Edit Lag: a cost measure
    13. 13. Analysis Work fragmentation and edit lag• Method – Fragmentation? • Group events into sessions (15 minutes). • Histogram session length. – Edit lag • Choose sessions with at least 1 edit event. • Find first edit event. • Measure offset from start of session.
    14. 14. Analysis Work fragmentation and edit lagsessions Programming sessions in a typical daysessions 1-3 1-2 1-2 1 0-1 rarelyduration 15m 30 m 1h 2h 4h 8h+
    15. 15. Analysis Strategies• Method – Pilot survey on strategies. – Measure • strategy usage frequency. • edit lag with strategy.
    16. 16. Analysis Strategies• “Return to last edit”• “Navigate to remember.”• “Examine program execution/output”• “View compile errors”• “Use version history (diff/comments)”• “Use task list”
    17. 17. Analysis Last Edit• Frequency: Last edit location – 17% sessions resume coding last location: • 56% involve navigations to other locations.Sessions 35% 22% 23% 12%Edit Lag 1m 1-5m 5-15m 15-30m
    18. 18. Analysis Cost of Navigate to Remember• Frequency – 83% sessions involve navigating first.• Navigations – 2 - 12 (7) locations. – 4 - 40 (27) navigation distance. – 15 - 150 (135) selection events.Sessions 16% 25% 22% 18% 8%Edit Lag 1m 1-5m 5-15m 15-30m 30-45m
    19. 19. Analysis Other cues• Views – Task lists 9%. – Error lists 9%. – Revision history notes/diff 4%.
    20. 20. Implications• Programmers seek breakpoints: – Often resume coding in new locations. – But, lag to resume next part of task.• Last location insufficient: – 56% still need navigation, – must navigate several locations before coding.• Other cues are used: – Compile errors, version history, task lists… – But are still ad-hoc.
    21. 21. Recent Research Survey (on going)• 43 professional developers (so-far) – Several major companies• Resumption lag – Typical resumption: 10-20 min – Worse resumption: 30 min – days• Preparing for interruption – “personal (private) blog, electronic sticky notes, failing test, intentional compile errors, debugger breakpoints, remember order of tasks, take continuous notes, notes in source code”
    22. 22. Recent Research Task Tracking• Few projects are using issue trackers for programming tasks: – Only 3 out of 59 projects had over 100 tasks.• Survey: 41% say tasks are frequently broad in scope and needs to be refined into many subtasks.• Few track subtasks – Less 1% Mylyn users created new subtasks. – Only 4 out of 59 projects track subtasks. – But 13% of task descriptions had manual task breakdowns.• Many developers prefer personal tracking separate from official tracking. (notepad)
    23. 23. Future Approaches
    24. 24. Future Research• Investigate relation of sessions:• Eye-tracking at start of session.• Deeper analysis on activities.
    25. 25. Conclusions• Programmers are affected by interruptions but have limited cues for resumption.• Programmers value taking notes but have limited tool support.
    26. 26. Filtered Edits1561 12135931 39627492 5175
    27. 27. Issues for Software Developers Limited availability of cues

    ×