I am Stuck. Characteristics of Stuck Phases During Software Development.

A prevalent reason for the unhappiness of software engineers is being stuck during problem-solving. We developed a data gathering tool named “Stuck Detector,” which uses face recognition and computer interaction trackers and lets users report their stuck phases. The program also shows the user the computer interaction activity (mouse, keyboard, and application usage) of the last hour to better identify stuck moments.

We ran a study with six software engineers consisting of a pre-study questionnaire, a two-week data gathering phase, and a final interview. The study helped construct a more precise definition of “stuck” and helped observe some characteristics of stuck phases. Software engineers are “stuck” when working on a software engineering problem for an extended period, have tried different options, which did not work, lack information or knowledge, and cannot make any progress towards the goal of the task. Further, the results showed that the frequency of stuck phases varies and heavily depends on the task. Furthermore, participants stated that a stuck phase occurs on average once a day. Around 20 minutes before a stuck phase, the user input activity tends to decrease while the number of window changes and frustration tends to increase, suggesting that automated detection of stuck moments might be possible.

Student: Samuel Brügger

Date: Feb-Aug 2022

Bachelor Thesis