Bas van Essen
For software agencies, departments and startups it’s crucial to optimise the output of their developers. To establish this you need to take into account what their routine looks like. Because their activities look to be much more fragmented than we maybe think. Research suggests that on average a developer can only focus on a certain task for 2 minutes, before concentrating on another.
In the current decade, implementing an agile workflow is one of the more common approaches to optimise productivity. Since very recently also serverless computing, also known as Functions-as-a-Service, promises to shorten the production process drastically. But there’s a more basic approach, which especially business-minded leaders tend to forget: start with understanding how developers actually work. It could be your company culture does not fit well with the nature of software development.
A developer’s precious time is partly limited by the working environment you create, despite adopting Scrum or Kanban. For example, think about the way you communicate internally, schedule meetings and limit the exposure to distractions. Developer’s attention spans determine whether they can spend their time well. Though that after-lunch foosball game should still be available to blow off some steam and stay active.
Monitoring the work of software developers
So let’s take a look on a scientific research that gained insights in the extent to which developers can stay focused. To try to obtain an in-depth view of the daily activities of software developers, researchers from the universities of Zürich and British Columbia installed a monitoring application at the computers of twenty experienced software developers. During their research, these programmers worked at four companies of varying sizes. The monitoring took place for an average of eleven full working days.
For business-minded professionals who work on sheets or documents for at least fifteen minutes, one result is really mind blowing. It raises some eyebrows actually. As shown below, the research indicates that developers can focus a lot less on writing code than even industry experts would tend to think. When developers are giving attention to one of the various activities they are working on each day, it would not last more than 2 minutes (see finding F5). As such, their daily work efforts are highly fragmented. A developer’s attention span is broken in pieces.
Most software developers at our company, Jexia, say that a maximum time spend of two minutes per activity doesn’t account for them. Their statement: it looks like the researchers monitored the time between switching from one application to another, while these apps are used for the same coding activity, rather than really switching between two different activities.
A developer’s attention span: indeed fragmented
Whether the results are realistic or not: it’s important to realise that the fragmentation of work activities can only partly be taken away. Software development in itself has a fragmented nature, regardless of scheduling fewer meetings or killing email and completely switching to chat applications. As it’s a highly collaborative domain, an engineer is continuously turning his or her attention to ad-hoc meetings, work-related browsing, another work-related app or commitments such as code reviewing. Below a figure of the research provides a nice overview of all the activities engineers are engaged in during the day.
We certainly believe one of the research’ other findings is true: email and meetings do have a negative impact on the perceived productivity of developers. From this perspective work-related chat platforms such as Slack and Hipchat, smartly integrated with other productivity apps, probably make a positive difference for the output of your software development team. It’s all about the sum of little measures that help to generate more mouse clicks and keystrokes per developer.
Try to get developers in a flow, so that the term ‘workflow’ is also really applicable to software engineers. How do you think companies could defragment the work of software developers, while at the same time accepting that engineering exists of fragmented activities? Let us know!
Other interesting findings
You have become curious whether the researchers have found out more? We have summarised the other findings right here:
- Individual activities were mostly spent on programming (21.0%), emails (14.5%), and work-related web browsing (11.4%).
- Using the debugger, reviewing other developers’ code, and version control accounted for just 2.4% of the participants’ time.
- 24.4% of a developer’s day is spent pursuing collaborative activities with co-workers, customers, or managers, such as planned or ad-hoc meetings.
- The participating developers used a total of 331 different applications, with each developer using an average of 15.8 applications per day.
- There is a significant amount of time dedicated on using File Explorer.
- Despite every programmer is using Microsoft Internet Explorer (Microsoft Edge is not yet widely adopted), 80% of the participants also use Google Chrome and dedicate more time on it than on Internet Explorer.
Also published on Medium.