The aim of this post is to suggest that task switching is cognitively expensive and that Kanban as an agile methodology lends itself to reducing the cost of task switching.

The approach to work in my last job was very different from MyDrive. Coming from a Linux System Administrator background, where an ad hoc attitude was taken to the work I was given, I had to adapt to the work-on-one-thing-at-a-time mentalility here which has some transformational benefits by comparison.

Luckily for me, the team here is incredibly proactive and are always willing to educate and improve on how we work as a unit. We have already had detailed sessions on Kanban (today’s session inspired this post) which have highlighted the methodological limitations of my habits. A really great game that we played today which illustrates the value of Kanban can be found here: https://darynholmes.wordpress.com/2011/08/02/the-x-penny-game/. I am convinced that the quality of your work is very much dependpent on your ability to focus on one thing at a time and less about how brilliant you are at any given thing.

Kanban is a way of viewing and carrying out ongoing streams of work. The principals of Kanban are:

  1. Start with existing process;
  2. Agree to pursue incremental, evolutionary change;
  3. Respect the current process, roles, responsibilities and titles; and
  4. Leadership at all levels.

The focus is on increasing flow by evolving existing processes without overhauling everything all at once. Kanban boards visually represent the flow of work from ‘in the backlog’ to ‘done’. They encourage people to focus on what is blocking work from being completed and on knowing what the whole team is currently working on which gives context to the whole process for everyone in the team.

Limits are put on the amount of work that is currently in progress in order to maximise flow. Furthermore, tasks in Kanban are clearly defined and supposed to be reduced to the least possible shippable complexity.

All of these features of Kanban directly act to: a) decrease the cost of switching tasks; and b) decrease the frequency of task switching in any given moment.

Psychological research has shown the detrimental effects of varying rapidities of task switching on performance across a whole range of tasks (too many to mention here) and has also highlighted it’s complex neurological correlates. The more complex the task the more expensive it is to switch your focus onto this new thing.

Either way, what you discover when working on complex and intense tasks is that keeping focussed and avoiding working on multiple tasks in quick succession is essential for your code quality and your sanity.