SlideShare una empresa de Scribd logo
1 de 28
Resumption Strategies for
Interrupted Programming Tasks
                     Chris Parnin
                     Georgia Tech




                  Spencer Rugaber
                     Georgia Tech
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.
Psychology Research
                                          Key factors

• Suspension
  – What is done before interruption.
• Cues
  – What tactile/visual reminders are present.
• Timing
  – Cognitive load and breakpoints.


Examples…
Psychology research
                  Resumption lag and interruption lag
Psychology research
                      Role of cues
Psychology research
Issues for Software Developers


Knowledge
  –   Plans and Steps            – Exploratory
  –   Designs                    – Unanticipated issue
  –   Sub-goals
  –   Hypothesis
  –   Issues
  –   Exploratory
  –   Unanticipated issue
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.
Investigation
                       Interaction History and Concepts

Interaction 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”
Investigation
                                     Sessions




• New session when greater than 15 minutes.
• 98% events within a minute of another.
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
Investigation
                Edit Lag: a cost measure
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.
Analysis
                                 Work fragmentation and edit lag

sessions           Programming sessions in a typical day
sessions   1-3   1-2       1-2        1          0-1       rarely
duration   15m   30 m      1h         2h         4h        8h+
Analysis
                                   Strategies

• Method
  – Pilot survey on strategies.
  – Measure
     • strategy usage frequency.
     • edit lag with strategy.
Analysis
                                       Strategies

•   “Return to last edit”
•   “Navigate to remember.”
•   “Examine program execution/output”
•   “View compile errors”
•   “Use version history (diff/comments)”
•   “Use task list”
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
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
Analysis
                                      Other cues

• Views
  – Task lists 9%.
  – Error lists 9%.
  – Revision history notes/diff 4%.
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.
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”
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)
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 notes
     but have limited tool support.
Filtered   Edits

1561       1213

5931       3962

7492       5175
Issues for Software Developers
                          Limited availability of cues
Resumption strategies

Más contenido relacionado

La actualidad más candente

Software Project Management lecture 8
Software Project Management lecture 8Software Project Management lecture 8
Software Project Management lecture 8Syed Muhammad Hammad
 
Ctc presentation tablet-based-data-collection20141027
Ctc presentation tablet-based-data-collection20141027Ctc presentation tablet-based-data-collection20141027
Ctc presentation tablet-based-data-collection20141027Jonathan Pletzke
 
Human factors in software reliability engineering - Research Paper
Human factors in software reliability engineering - Research PaperHuman factors in software reliability engineering - Research Paper
Human factors in software reliability engineering - Research PaperMuhammad Ahmad Zia
 
DELPHI METHOD (COST ESTIMATION MODELT)
DELPHI METHOD (COST ESTIMATION MODELT)DELPHI METHOD (COST ESTIMATION MODELT)
DELPHI METHOD (COST ESTIMATION MODELT)Arsalan Ghaffar
 
Lect1 intro to software project management
Lect1 intro to software project managementLect1 intro to software project management
Lect1 intro to software project managementmeena466141
 
Chapter 21 project management concepts
Chapter 21 project management conceptsChapter 21 project management concepts
Chapter 21 project management conceptsSHREEHARI WADAWADAGI
 
Conducting Remote Unmoderated Usability Testing: Part 1 - RemoteUX Training W...
Conducting Remote Unmoderated Usability Testing: Part 1 - RemoteUX Training W...Conducting Remote Unmoderated Usability Testing: Part 1 - RemoteUX Training W...
Conducting Remote Unmoderated Usability Testing: Part 1 - RemoteUX Training W...UserZoom
 
Pressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metricsPressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metricsSeema Kamble
 
Conducting Remote Unmoderated Usability Testing: Part 2
Conducting Remote Unmoderated Usability Testing: Part 2Conducting Remote Unmoderated Usability Testing: Part 2
Conducting Remote Unmoderated Usability Testing: Part 2UserZoom
 
SDPM - Lecture 5 - Software effort estimation
SDPM - Lecture 5 - Software effort estimationSDPM - Lecture 5 - Software effort estimation
SDPM - Lecture 5 - Software effort estimationOpenLearningLab
 
Software Project Management lecture 9
Software Project Management lecture 9Software Project Management lecture 9
Software Project Management lecture 9Syed Muhammad Hammad
 

La actualidad más candente (14)

Software Project Management lecture 8
Software Project Management lecture 8Software Project Management lecture 8
Software Project Management lecture 8
 
Ch12
Ch12Ch12
Ch12
 
Ctc presentation tablet-based-data-collection20141027
Ctc presentation tablet-based-data-collection20141027Ctc presentation tablet-based-data-collection20141027
Ctc presentation tablet-based-data-collection20141027
 
Human factors in software reliability engineering - Research Paper
Human factors in software reliability engineering - Research PaperHuman factors in software reliability engineering - Research Paper
Human factors in software reliability engineering - Research Paper
 
DELPHI METHOD (COST ESTIMATION MODELT)
DELPHI METHOD (COST ESTIMATION MODELT)DELPHI METHOD (COST ESTIMATION MODELT)
DELPHI METHOD (COST ESTIMATION MODELT)
 
Lect1 intro to software project management
Lect1 intro to software project managementLect1 intro to software project management
Lect1 intro to software project management
 
Chapter 21 project management concepts
Chapter 21 project management conceptsChapter 21 project management concepts
Chapter 21 project management concepts
 
Conducting Remote Unmoderated Usability Testing: Part 1 - RemoteUX Training W...
Conducting Remote Unmoderated Usability Testing: Part 1 - RemoteUX Training W...Conducting Remote Unmoderated Usability Testing: Part 1 - RemoteUX Training W...
Conducting Remote Unmoderated Usability Testing: Part 1 - RemoteUX Training W...
 
Pressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metricsPressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metrics
 
The art of project estimation
The art of project estimationThe art of project estimation
The art of project estimation
 
Conducting Remote Unmoderated Usability Testing: Part 2
Conducting Remote Unmoderated Usability Testing: Part 2Conducting Remote Unmoderated Usability Testing: Part 2
Conducting Remote Unmoderated Usability Testing: Part 2
 
SDPM - Lecture 5 - Software effort estimation
SDPM - Lecture 5 - Software effort estimationSDPM - Lecture 5 - Software effort estimation
SDPM - Lecture 5 - Software effort estimation
 
Software Project Management lecture 9
Software Project Management lecture 9Software Project Management lecture 9
Software Project Management lecture 9
 
Project Estimation
Project EstimationProject Estimation
Project Estimation
 

Similar a Resumption strategies

Unified modeling language basics and slides
Unified modeling language basics and slidesUnified modeling language basics and slides
Unified modeling language basics and slidesvenkatasubramanianSr5
 
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzAhmadSajjad34
 
PA2557_SQM_Lecture7 - Defect Prevention.pdf
PA2557_SQM_Lecture7 - Defect Prevention.pdfPA2557_SQM_Lecture7 - Defect Prevention.pdf
PA2557_SQM_Lecture7 - Defect Prevention.pdfhulk smash
 
Testing Throughout the Software Life Cycle (2013)
Testing Throughout the Software Life Cycle (2013)Testing Throughout the Software Life Cycle (2013)
Testing Throughout the Software Life Cycle (2013)Jana Gierloff
 
evaluation technique uni 2
evaluation technique uni 2evaluation technique uni 2
evaluation technique uni 2vrgokila
 
Lecture3.se.pptx
Lecture3.se.pptxLecture3.se.pptx
Lecture3.se.pptxAmna Ch
 
e3-chap-09.ppt
e3-chap-09.ppte3-chap-09.ppt
e3-chap-09.pptKingSh2
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGPreeti Mishra
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project ManagementShauryaGupta38
 
Chapter 1,2,3,4 notes
Chapter 1,2,3,4 notesChapter 1,2,3,4 notes
Chapter 1,2,3,4 notesAruna M
 
Christian Bk Hansen - Agile on Huge Banking Mainframe Legacy Systems - EuroST...
Christian Bk Hansen - Agile on Huge Banking Mainframe Legacy Systems - EuroST...Christian Bk Hansen - Agile on Huge Banking Mainframe Legacy Systems - EuroST...
Christian Bk Hansen - Agile on Huge Banking Mainframe Legacy Systems - EuroST...TEST Huddle
 

Similar a Resumption strategies (20)

The Art of Project Estimation
The Art of Project EstimationThe Art of Project Estimation
The Art of Project Estimation
 
Manual Software testing - software development life cycle
Manual Software testing - software development life cycleManual Software testing - software development life cycle
Manual Software testing - software development life cycle
 
Unified modeling language basics and slides
Unified modeling language basics and slidesUnified modeling language basics and slides
Unified modeling language basics and slides
 
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
 
Extreme programming (xp)
Extreme programming (xp)Extreme programming (xp)
Extreme programming (xp)
 
PA2557_SQM_Lecture7 - Defect Prevention.pdf
PA2557_SQM_Lecture7 - Defect Prevention.pdfPA2557_SQM_Lecture7 - Defect Prevention.pdf
PA2557_SQM_Lecture7 - Defect Prevention.pdf
 
Agile
AgileAgile
Agile
 
Testing Throughout the Software Life Cycle (2013)
Testing Throughout the Software Life Cycle (2013)Testing Throughout the Software Life Cycle (2013)
Testing Throughout the Software Life Cycle (2013)
 
evaluation technique uni 2
evaluation technique uni 2evaluation technique uni 2
evaluation technique uni 2
 
E3 chap-09
E3 chap-09E3 chap-09
E3 chap-09
 
Evaluation techniques
Evaluation techniquesEvaluation techniques
Evaluation techniques
 
Lecture3.se.pptx
Lecture3.se.pptxLecture3.se.pptx
Lecture3.se.pptx
 
e3-chap-09.ppt
e3-chap-09.ppte3-chap-09.ppt
e3-chap-09.ppt
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project Management
 
Chapter 1,2,3,4 notes
Chapter 1,2,3,4 notesChapter 1,2,3,4 notes
Chapter 1,2,3,4 notes
 
SE Unit-1.pptx
SE Unit-1.pptxSE Unit-1.pptx
SE Unit-1.pptx
 
Christian Bk Hansen - Agile on Huge Banking Mainframe Legacy Systems - EuroST...
Christian Bk Hansen - Agile on Huge Banking Mainframe Legacy Systems - EuroST...Christian Bk Hansen - Agile on Huge Banking Mainframe Legacy Systems - EuroST...
Christian Bk Hansen - Agile on Huge Banking Mainframe Legacy Systems - EuroST...
 
Scope of software engineering
Scope of software engineeringScope of software engineering
Scope of software engineering
 
Human Computer Interaction Evaluation
Human Computer Interaction EvaluationHuman Computer Interaction Evaluation
Human Computer Interaction Evaluation
 

Más de Chris Parnin

Crowd Documentation - How Programmer Social Communities are Flipping Software...
Crowd Documentation - How Programmer Social Communities are Flipping Software...Crowd Documentation - How Programmer Social Communities are Flipping Software...
Crowd Documentation - How Programmer Social Communities are Flipping Software...Chris Parnin
 
DESIGNING FOR INTERRUPTION AND LIVENESS
DESIGNING FOR INTERRUPTION AND LIVENESSDESIGNING FOR INTERRUPTION AND LIVENESS
DESIGNING FOR INTERRUPTION AND LIVENESSChris Parnin
 
Programmer Information Needs After Memory Failure
Programmer Information Needs After Memory FailureProgrammer Information Needs After Memory Failure
Programmer Information Needs After Memory FailureChris Parnin
 
Building usage contexts from interaction history
Building usage contexts from interaction historyBuilding usage contexts from interaction history
Building usage contexts from interaction historyChris Parnin
 
A Catalogue of Code Smell Visualizations
A Catalogue of Code Smell VisualizationsA Catalogue of Code Smell Visualizations
A Catalogue of Code Smell VisualizationsChris Parnin
 
Are Automated Debugging Techniques Actually Helping Programmers
Are Automated Debugging Techniques Actually Helping ProgrammersAre Automated Debugging Techniques Actually Helping Programmers
Are Automated Debugging Techniques Actually Helping ProgrammersChris Parnin
 
Subvocalization -- Towards Hearing the Inner Thoughts of Developers
Subvocalization -- Towards Hearing the Inner Thoughts of DevelopersSubvocalization -- Towards Hearing the Inner Thoughts of Developers
Subvocalization -- Towards Hearing the Inner Thoughts of DevelopersChris Parnin
 
Java Generics Adoption: How New Features are Introduced Championed or Ignored
Java Generics Adoption: How New Features are Introduced Championed or IgnoredJava Generics Adoption: How New Features are Introduced Championed or Ignored
Java Generics Adoption: How New Features are Introduced Championed or IgnoredChris Parnin
 
Evaluating Cues for Resuming Interrupted Programming TAsks
Evaluating Cues for Resuming Interrupted Programming TAsksEvaluating Cues for Resuming Interrupted Programming TAsks
Evaluating Cues for Resuming Interrupted Programming TAsksChris Parnin
 
Cognitive Neuroscience of Memory for Software Engineers
Cognitive Neuroscience of Memory for Software EngineersCognitive Neuroscience of Memory for Software Engineers
Cognitive Neuroscience of Memory for Software EngineersChris Parnin
 

Más de Chris Parnin (11)

Crowd Documentation - How Programmer Social Communities are Flipping Software...
Crowd Documentation - How Programmer Social Communities are Flipping Software...Crowd Documentation - How Programmer Social Communities are Flipping Software...
Crowd Documentation - How Programmer Social Communities are Flipping Software...
 
DESIGNING FOR INTERRUPTION AND LIVENESS
DESIGNING FOR INTERRUPTION AND LIVENESSDESIGNING FOR INTERRUPTION AND LIVENESS
DESIGNING FOR INTERRUPTION AND LIVENESS
 
Programmer Information Needs After Memory Failure
Programmer Information Needs After Memory FailureProgrammer Information Needs After Memory Failure
Programmer Information Needs After Memory Failure
 
Building usage contexts from interaction history
Building usage contexts from interaction historyBuilding usage contexts from interaction history
Building usage contexts from interaction history
 
A Catalogue of Code Smell Visualizations
A Catalogue of Code Smell VisualizationsA Catalogue of Code Smell Visualizations
A Catalogue of Code Smell Visualizations
 
Are Automated Debugging Techniques Actually Helping Programmers
Are Automated Debugging Techniques Actually Helping ProgrammersAre Automated Debugging Techniques Actually Helping Programmers
Are Automated Debugging Techniques Actually Helping Programmers
 
Subvocalization -- Towards Hearing the Inner Thoughts of Developers
Subvocalization -- Towards Hearing the Inner Thoughts of DevelopersSubvocalization -- Towards Hearing the Inner Thoughts of Developers
Subvocalization -- Towards Hearing the Inner Thoughts of Developers
 
Java Generics Adoption: How New Features are Introduced Championed or Ignored
Java Generics Adoption: How New Features are Introduced Championed or IgnoredJava Generics Adoption: How New Features are Introduced Championed or Ignored
Java Generics Adoption: How New Features are Introduced Championed or Ignored
 
Evaluating Cues for Resuming Interrupted Programming TAsks
Evaluating Cues for Resuming Interrupted Programming TAsksEvaluating Cues for Resuming Interrupted Programming TAsks
Evaluating Cues for Resuming Interrupted Programming TAsks
 
Cognitive Neuroscience of Memory for Software Engineers
Cognitive Neuroscience of Memory for Software EngineersCognitive Neuroscience of Memory for Software Engineers
Cognitive Neuroscience of Memory for Software Engineers
 
Code Pad
Code PadCode Pad
Code Pad
 

Último

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 

Último (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Resumption strategies

  • 1. Resumption Strategies for Interrupted Programming Tasks Chris Parnin Georgia Tech Spencer Rugaber Georgia Tech
  • 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. Psychology Research Key factors • Suspension – What is done before interruption. • Cues – What tactile/visual reminders are present. • Timing – Cognitive load and breakpoints. Examples…
  • 4. Psychology research Resumption lag and interruption lag
  • 5. Psychology research Role of cues
  • 7. Issues for Software Developers Knowledge – Plans and Steps – Exploratory – Designs – Unanticipated issue – Sub-goals – Hypothesis – Issues – Exploratory – Unanticipated issue
  • 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. Investigation Interaction History and Concepts Interaction 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. Investigation Sessions • New session when greater than 15 minutes. • 98% events within a minute of another.
  • 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. Investigation Edit Lag: a cost measure
  • 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. Analysis Work fragmentation and edit lag sessions Programming sessions in a typical day sessions 1-3 1-2 1-2 1 0-1 rarely duration 15m 30 m 1h 2h 4h 8h+
  • 15. Analysis Strategies • Method – Pilot survey on strategies. – Measure • strategy usage frequency. • edit lag with strategy.
  • 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. 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. 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. Analysis Other cues • Views – Task lists 9%. – Error lists 9%. – Revision history notes/diff 4%.
  • 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. 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. 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)
  • 24. Future Research • Investigate relation of sessions: • Eye-tracking at start of session. • Deeper analysis on activities.
  • 25. Conclusions • Programmers are affected by interruptions but have limited cues for resumption. • Programmers value taking notes but have limited tool support.
  • 26. Filtered Edits 1561 1213 5931 3962 7492 5175
  • 27. Issues for Software Developers Limited availability of cues

Notas del editor

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