I was out on a customer visit a few weeks ago, observing different developers at their workplace as they used Visual Studio to write code and build applications.

One of the developers I observed behaved in ways that were common to both our opportunistic developer persona and the pragmatic developer persona (http://p.einarsen.no/programmer-personality-types-and-why-it-matters-at-all/). For example, he wanted to build up a good understanding of how the different classeshe was working with interacted (very pragmatic) but the approach he took was quite opportunistic (read some code, run it, read some more, follow a reference to some other symbol, make a change, run it, see what happens).

Recently many of my colleagues have told me that they find these workstyle personas confusing. They tell me that in their own observations of developers, they don't see a clean mapping of workstyles to individual developers. Just like the observation I described above, they see developers exhibit some workstyle at some point, and then another workstyle at a different point. My colleagues then question whether or not these workstyles are valid given these observations.

My answer is that it's not unusual to see an individual developer exhibit different workstyles. The workstyle personas are aggregations of common patterns of behaviour we have observed across many developers. We know that most individual developers have a dominant workstyle, but that they may change workstyle based on factors such as the task they are working on and the tools they are working with.

It's like the difference between weather and climate. Here in Scotland we've recently been going through one of the coldest and snowiest Decembers we've had for decades (I love this weather :-) ). Some people have started asking if this means climate change isn't really happening. They point to all the reports saying that the Earth is warming and then point to all the snow outdoors. However, weather is the mix of events that occur each day in the atmosphere, whereas climate is the average weather pattern over many years (http://www.eo.ucar.edu/basics/).

Similarly, the workstyle personas are the patterns of behaviour observed over many developers. Individual observations of developers consist of a mix of events that occur during the observation. Workstyles are to individual developers what climate is to weather.