I recently read a blog article by
Kas Thomas called "Programmer Personas". Apparently, some
time ago when developing Visual Studio, Microsoft spent a good deal of time
classifying programmers into different personas in an effort to better design
the developer user experience ("What is an End User Software Engineer?"). The personas Microsoft identified were (I copied these
descriptions from Kas's blog post):
- THE SYSTEMATIC DEVELOPER:
Writes code defensively. Does everything he or she can to protect code
from unstable and untrustworthy processes running in parallel with their
code. Develops a deep understanding of a technology before using it.
Prides himself or herself on building elegant solutions.
- THE PRAGMATIC DEVELOPER:
Writes code methodically. Develops sufficient understanding of a
technology to enable competent use of it. Prides himself or herself on
building robust applications.
- THE OPPORTUNISTIC
DEVELOPER: Writes code in an exploratory fashion. Develops a sufficient
understanding of a technology to understand how it can solve a business
problem. Prides himself/herself on solving business problems.
Generally speaking, these
classifications are rather broad, but I think I can fit most programmers /
developers into one of these classifications.
Do you do the same for your
customers / clients when you design your software? Probably not. However, given
the fact that more emphasis is being placed on user experience all the time AND
the fact that identifying user roles / groups is a core requirement of
BPM-related projects, you should.
For your next project, take time at the front end (plan it in)
to classify your users and design / build your application to cater to these
user personas. It will make your application better, and more importantly, your
application will be better received by your users.
No comments:
Post a Comment