The article Addressing the Detrimental Effects of Context Switching with DevOps explores the adverse effects on productivity when software development team members are required to switch between projects, and outlines some DevOps practices mitigating those effects.
|Article title||Addressing the Detrimental Effects of Context Switching with DevOps|
|Focus||Improving team productivity|
In Addressing the Detrimental Effects of Context Switching with DevOps, Todd Waits makes the case that when a software developer switches from one project to another an overhead of approximately 20 percent is incurred to perform the task. The overhead is due to the amount of information a developer keeps in their brain in order to perform development tasks. The article presents data that shows that the overhead commpounds with an increase in the number of projects, making the developer even less productive. It might be ideal for software developers to devote 100 percent of their time on one project or even one task in that project, but that is not usually the case, nor is it very practical. The article has some helpful ideas about improving the process when context switching does occur.
Some DevOps practices to mitigate the overhead of context switching outlined in the article are:
- Using Continuous Integration (CI)
- Automatically assigning code reviews
- Regular communication
- Daily stand up meetings
- Monitoring issue trackers for assignments
- Limiting the number of projects for an individual
As a side note, another resource for practical team DevOps practices is the book Implementing Lean Software Development. The book also contains information on the impact of task switching and the resulting degraded productivity.
Mary Poppendieck and Tom Poppendieck, Implementing Lean Software Development, Addison Wesley, 2007