Monday, September 15, 2008

Personas in Software Development

Personas are a very valuable tool in the software development process. Personas allow you to humanize your customer, giving you a more "personal" relationship with them. By humanizing the customer, you are more easily able to empathize. It isn't until we are empathizing with our users that we can start the process of building great software.

The most common way to create personas is to distill the market information from your existing customer/user pool. If you provide project management software, it is likely that you have a group of fairly similar project managers and a group of fairly similar task assignees. By looking at these two groups, you may find a few very similar groups: highly-technical PMs, non-technical PMs, occasional-use assignees, and frequent-use assignees, for instance. You now have the basis for creating four personas that will help you understand their needs and then guide your product to meet those needs.

Not every product has an existing set of customers/users, however. This is most often the case when building a brand new product. In my opinion, this is perhaps when personas become most useful. (Bad metaphor alert!) Building a new product is like creating a piece of art (Ouch, that was painful!) The comparison, however, is valid. Just as in creating art, you have infinite options (just start by thinking what are you creating: painting, drawing, sculpture, etc, then deal with subject...), so to do you have boundless options in a product.

With a wide-open canvas, personas give you a way to make decisions and understand compromises. By knowing who I'm building for, I understand whether I need to spend more time simplifying my interface (for the novice) or providing more customization (for the expert). I also have a criteria to judge whether a feature is going to be successful by understanding motivations that would cause people to use...or abandon...the product.

So a new product means that, in some ways, I'm making up my personas. My personas are my target market, which I know very little about. However, if we don't understand our target customers, there is no point in building the personas. Somewhat of a Catch 22.

We often ask the customer "how do you do X?" because we think "X" is pretty cool and would make a good feature. Stepping back, we need to understand why somebody would being doing "X" in the first place. What are our target customers' reasons for using our product in the first place: what is motivating them?

Motivation is the most useful piece of the persona. If we don't understand our customer's motivation, the persona will not help us build better software. Instead, one of two things will happen: we will either be led astray by building features to fulfill needs that don't exist or we will recognize the tool as useless and put it in the back of the toolbox.

Building out personas in this case is an iterative process. Start with the information you know: what group are you targeting your product at. Make some best guesses as to what is motivating them, then validate those guesses with actual potential customers. Circle back around. As with any iterative process, don't get stuck in an infinite loop! Be pragmatic and realize when you are approaching equilibrium.

There is a lot of information that can be put into personas. Taken to one extreme, you can follow the toolkit on George Olsen's blog. It is a fairly comprehensive toolkit that will give you a very detailed persona. Regardless of whether you decide to use all the information, it is worth reading to understand things you could think about.

The other extreme is some basic biographic and demographic information. Without enough information, you won't have the detail you need to either empathize with the persona or, worse yet, to understand the motivations.

Here is a basic template of the information I use. Take it for what it is worth. The idea is to get enough information to make logical decisions without being overloaded with too much information.



Basic Information
  • Name:

  • Description:

  • Photo:

Demographics
  • Age:

  • Sex:

  • Occupation:

  • Location:

  • Marital Status:

  • Children:

  • Income:

  • Education:

Technographics
  • Computer:

  • Cell Phone:

  • PDA:

  • Other:

  • Primary Device:

  • Web:

  • Phone:

  • Applications:

Information Usage
  • Information Used:

  • Web Sites:

  • Applications:

  • Paper Usage:

  • Access/Day:

  • Locations/Day:

  • % Mobile:

  • Mobile Type:

  • Primary Connection Speed:

  • Mobile Connection Speed:

Psychographics
  • Social Network Role: [Connector/Spanner/Broker/Specialist]

  • Acceptance of Innovation:

  • Technology Attitudes:

  • Technology Religions:

  • Technical Proficiencies:

  • Hobbies:

Goals and Needs
  • Usage Goals:

  • Emotional Goals:

  • Motivations:

  • Needs:

  • Frustrations:

Proficiencies
  • Computer Proficiency: [Novice, Advanced Beginner, Intermediate, Expert]

  • Web Proficiency:

  • [Application] Proficiency: [fill in appropriate applications (e.g. salesforce.com)]

  • Social Network Proficiency:

Persona Details
  • Persona Type: [Focal/Secondary/Unimportant/Affected/Exclusionary/Stakeholders]

  • Business Relationship:

  • Persona Relationships:

Profile Narrative
Here is a few paragraphs of relevant background information about the persona




Most of the applications I've been involved with in the design process are web application, so this tends to be skewed that direction. The Technographics and Information Usage sections may vary depending on the type of application you are building. Fill in with data appropriate for your needs, but remember to validate it!

Finally, there are a lot of bullet items there. People like stories; it is easier to relate to stories than databases. If you can put the relevant information into the narrative, do it! It makes it more human. Just make sure you do capture all of the information you need for your personas. If handheld device type is critical, put it in both places: make it easy to relate to and easy to look up.

Building personas is not easy, but, really, the other option is to put some answers you think might be correct on the dart board...and throw a blindfold on while you are at it. You've got to know who you are building your product for!

No comments: