Wednesday, February 27, 2008

The 8 T's in a developer's work-day

All developers do the following things in various proportions through the day (starting with T, for fun):
  • Typing
  • Thinking (design)
  • Twiddling thumbs (waiting)
  • Tinkering (experimenting)
  • Trying (debugging)
  • Talking (design, analysis)
  • Testing
  • Tweaking (refactoring)
Some add no direct value (Trying, Typing, Twiddling thumbs, maybe Tweaking) and some add value in moderation (the rest).

The value in this list is that you can use it to motivate the validity of various practices. For example, doing TDD will increase Typing, but it will almost eliminate Trying, significantly improve the efficiency of Thinking and do some Testing for you. For many scenarios, this means that the benefits outweigh the costs.

Filling in timesheets will increase Typing, but will not improve anything else.

Pair programming will increase Talking and Thinking, but maybe decrease Typing (only one person can type at a time).

0 comments: