Scott
Bellware writes about Microsoft missing an Agilist Persona (in
addition to Mort, Elvis and Einstein.
I pretty much agree with Scott's views - MS's lack of understanding of the Agile
crowd is evident in "fiascos" like the TDD article on MSDN or even MSF Agile, which is relatively a light process but still
very far from processes such as XP,
SCRUM and the like.
Personas is a very interesting concept, usable as a communication aide, for development teams - as a means to help maintain user focus.
The
CHAOS Chronicles 3.0 by Standish group* (www.standishgroup.com) cite "User involvement" as second
most important success factor for development project success (after executive management support). Indeed
many agile methodologies also encourage high customer involvement in
development process
During
my professional career, I had the chance to work for both product companies and
solution companies. - Why is that
relevant you ask? Well, when you work for a solution company you usually have
tangible, real-life, customers to work with. You can walk them through early
usability prototypes, you can consult with then on problematic requirements,
you can have them on site for instant feedback etc. etc.
Things
are more problematic when you work on
"shrink wrapped" products - now your customers are much more abstract
, and elusive, yes you can still hold focus groups etc. but your you can't have
that day-to-day interaction with end-users and customers - enter Personas.
I
first heard about Personas several years ago, when I read Alan Cooper's "The Inmates are
running the Asylum".
The book demonstrates some bad designs
for software-based products and then introduces an approach (Personas...) to
help avoid these problems (He elaborates more on the approach in "About
Face 2.0").
Personas
are basically a way to define archetypes of users. Unlike Use Case Actors which
represent a role in the system, Persons try to high-light the characteristics
of real users. The idea is to come-up with representative model of a user and
to give it a full-bio and characteristics
so as to help the development team understand motivations and relate to actual
users. The model for absent users is the reason this technique is very important for product companies. If you don't
have real users come up with abstract ones representing them. Alan Cooper
introduced Personas as a means to help designers in the initial phases of
product design. Microsoft extended the use of Personas as a communication aide
to the full range of the development team (designers, developers, testers,
managers, marketers etc.) - which brings more benefits. I highly recommend reading the very
interesting paper "Personas: Practice and Theory" by John Pruitt and
Jonathan Grudin which relates
Microsoft's experience on the subject.
While
Personas are very important for product companies, it can also be important for
solutions development especially on larger projects where only few members of
the development team get a chance to interact with customers and user.
When
you cannot have the customer on site (or the customer representative doesn't
give you the full picture of all user types of the system) you can use
Persona-Scenarios as a way to augment user stories (or in other circumstances
as an alternative to actor-use cases)
*The
Standish Group has been collecting metrics from thousands of projects since
1994. They analyze success and failure factors and publish them on yearly
basis. For example, while our ratios as an industry are getting better over the
years - as 2004 only about third of the projects achieved their goals both on budget and on time...