Tuesday, December 09, 2008

Using Personas really helps!

I recently read Alan Cooper's book - "The inmates are running the asylum". What a life changing (or developer life anyway) book that was!

It really got me thinking. At first I was depressed about the state of affairs in computer software development, but then, I started noticing changes in software that have taken place in recent years, since this book was published, and realised that it really is having an impact in some quarters...granted many other "quarters" still have a long way to go, and the problem is far from solved - take for instance Office 2007! But then I;m sure Microsoft would argue that ribbon controls are precisely a response to the usability and interaction design that Alan Cooper espouses. I'm getting way of track in this post already!

Here at Constructor we have recently implemented some personas. It was a little experiment really, to see if I could get any traction for the idea, without really ranting, raving and evangelising. It helped that I waved Alan Cooper's book under the nose of the GM, who read it, loved it, and now two other staff members have also read it. 

Anyway, we drafted up a handful of personas, and stumbled across some graphics software we could use to knock up some very satisfactory images to go along with our personas. We printed up little one page "bios" complete with "mug shot" onto nice glossy A4 cards and these float around the office, living mainly on the round table in the middle of the developers area. They have already been the centre of a handful of discussions about new enhancements and so on. It's been very encouraging to watch other staff members, completely "get" the benefit of using personas (not specific users) to discuss these features.

Our personas were developed without formally interviewing customers, mainly because we know our existing customers, many of them have been with us for 10 years, and feel we could at least start down this track without the extended interview process.

Anyway, it's working a treat!

Just now, I've been designing a new screen, for customising some user options. While sitting staring at Visual Studio IDE, I found myself slipping into that old trap whereby it's all too easy to just pick controls that work best for me at the time, and throw them onto a form. Now, the background data access work is down. The user interaction has been designed at a higher level with our personas in mind, and this "customise" screen is a bit like a "Tools/Options" kind of screen. Won't be highly used - this doesn't mean it shouldn't be easy to use.

Anyway, as I said, I found myself slipping into the, "ah well a combo box will do here, the user can just pick..." oops - there I go, stretching and twisting the user into the shape I need him/her to go...I heard a small call from the table behind me. It was Eddy, my primary persona in this case. I turned around and read the bio, and thought again about my new screen. Suddenly something dawned I me. This screen was coming at the solution, from completely the wrong angle. This was a screen about setting user options. It needs to start with the user, and most likely the current user.  The module they are setting options for needs to be highlighted, but given it's for customising, they need to see the others, right there in front of them.  The massive list of customisations that can be made is secondary and had to be moved way over to the right...look the details of this particular feature don't matter, focussing on our personas, has just improved to interaction with this screen for everyone that users it, by simply forcing me to think "step away from the computer" and get in the shoes of the people that need to interact with this thing.

Now there is most definitely plenty still wrong with our approach. We are still developers doing design work - that's not likely to ever change here, we're 5 people, but surely, this is a big step in a very positive direction.