Wednesday, December 10, 2008

As usual, I mostly agree with Jakob Nielson

If you work in the web world, it is pretty likely that you know who Jakob Nielson is. If not you can read about his work and thoughts here

He recently posted an article talking about Agile Development and Usability which, like I said, I mostly agree with. Really the only part I cringed at was where he says:

"It's perfectly feasible for developers to do interaction design and usability."

Now, I have no problem with developers being involved with usability testing. I think it is extremely valuable to for them to see first hand how users act. The part that bothers me is that it is next to impossible for developers to have an unbiased opinion when analyzing the results of user testing. In my experience, it is because developers know the ins and outs of the system too well to appreciate the way users perceive the system. A designer on the other hand is in a better position to be looking at the system the way an actual user would.

Like I said, I mostly agree. His suggestion for usability and design to happen in a parallel track is one that I have advocated for a long time and has been very successful for me. His suggestion that Foundational User Research should occur before a development project even exists is spot on. This work and much of the work done by interaction and experience designers is just as much a part of the product strategy process as it is the development/ implementation process. So, part of it must be done during the strategy phase long before developers start writing code.



2 comments:

Kim Steinhaug said...

I would certainly agree that usability testing usually should not be done by the developer. I have pinched myself alot of times for creating - what I believe - is perfect sollutions for easy management, however here comes the customer which doesn't grasp the basic concepts of content management and therefore won't really appretiate my design.

Not sure if that made any sense, but my point is that the people accually using the systems should always be the ones accually doing the testing and giving feedback. Theese are the people paying for the system, these are the people in need of being pleased.

Then - when this is completed, there comes a point in time where you have access of time and money and start to accually do the hard work of educating your customers to becomming better workers. Learning them concepts, workflow - making them appretiate better functions and tools. However - at this time, you accually make your software part with new customers since the result now is existing happy great customers!

Rob McKeown said...

One thing to keep in mind when letting the customer provide the testers is that often times the people purchasing the software are not really the main user's of it.

For example, an HR Department may decide to purchase an application to allow employees to enroll for online training. In this case, the HR folks are probably looking at the application from a reporting and administration perspective. However, most employees will be using the employee interface with no knowledge of the magic happening under the covers.

That being said, you would want to have some HR folks tests the reporting/adminstration part and actual employees test the employee interface.

You would be surprised how different those types of users actually are.