Supporting Developer Workflows
One of the biggest impediments to a software developer’s productivity in today’s work environments is that developers switch frequently between tasks, applications and artifacts (and constantly need to (re)locate, understand and integrate several pieces of information. These context switches and broad information needs result in a high fragmentation of work, and incur a high cost, including decreased focus, higher cognitive costs, slower overall performance, long task resumption lags, increased stress, and a higher error and software defect rate.
Little is known about how to best detect and integrate relevant information and context from various artifacts and applications to better support the cross-application, cross-artifact, and multi-tasking nature of development work.
Our work focuses on software developers’ workflows and task context to reduce the cost of context switches and increase productivity. In particular, our work focuses on smoothing developers’ cross-application workflows, on helping developers to curate and rediscover tacit task context, and on (semi-automatically) detecting and labeling developer tasks.