Programming and flow

If you’re a programmer by trade and you’ve never read Finding Flow by by Mihaly Csikszentmihaly, you should probably add it to the top of your list of things you should read.

Csikszentmihaly lists 9 items that are required to achieve flow:

  1. Clear goals.
  2. A high degree of concentration on a limited field of attention.
  3. A loss of self-consciousness, the merging of action and awareness.
  4. Distorted sense of time.
  5. Direct and immediate feedback; behaviour can be adjusted as needed.
  6. Balance between ability level and challenge.
  7. A sense of personal control over the situation or activity.
  8. Intrinsically rewarding action, so there is an effortlessness of action.
  9. Focus of awareness is narrowed down to the activity itself

It’s only recently that I noticed that items 1, 2, 5, 7 and 8 are all part of doing test driven development.

A quick google shows that other people have also noticed the same thing.

Technorati Tags:


About this entry