Old news to some, but I’d not come across this until Paul Vick mentioned it on his blog. Microsoft uses the concept of personas when designing its developer tools. Nikhil Kothari explains all, in this post from 2004:
Mort, the opportunistic developer, likes to create quick-working solutions for immediate problems and focuses on productivity and learn as needed. Elvis, the pragmatic programmer, likes to create long-lasting solutions addressing the problem domain, and learn while working on the solution. Einstein, the paranoid programmer, likes to create the most efficient solution to a given problem, and typically learn in advance before working on the solution. In a way, these personas have helped guide the design of features during the Whidbey product cycle.
Whidbey was the codename for Visual Studio 2005.
Vick notes that these three personas map very loosely to Visual Basic, C# and C++. I can see what he means, though I’d have thought that all three personality types (and more) could be working in any language. You can do quick pragmatic hacks in C++ as well as in VB. Vick wants to retire Mort because he may be giving VB a bad image (internally?). Certainly it’s an unfortunate name; I’m not sure where it comes from (Terry Pratchett?).
It’s not a bad thing to have some idea of the range of users you are catering for, though a range of 3 personas strikes me as restrictive. It is also thought-provoking in the light of recent development trends. Now we have the whole designer/developer thing; and separately, there is a new focus on modeling within Microsoft – see Oslo. How will Mort, Elvis and Einstein cope with all that?
Or, as a friend of mine likes to say: ‘There are 10 kinds of programmer: those who understand binary, and those who don’t’.