There are numerous techniques for gathering this data -- typically observation and interview-based -- drawn from job analysis and ethnography. It's a great topic, but this article is about the next step, organizing, communicating and utilizing the data after you've gathered it.
In particular, this article is about notation. Once you start to gather large amounts of data about your users, who they are and what they are doing -- how do you effectively document that data so that it can be understood and utilized for your analysis and design work?
Everyone who designs software has to grapple with this problem. One simple approach used in extreme programming (and ad hoc programming) is to rely on one or more experts that have the knowledge (or can get it on demand) and can answer questions as they arise and provide quick feedback on designs as they develop. More traditional software engineering utilizes formalisms such as UML. Somewhere in between you have semi-formal methods such as Contextual Design.
If you do choose to write down information about the users and their tasks and goals, you can find a number of good references to help you decide exactly what to capture, but I think it boils down to a few basic elements based on the 5 Ws.
- Who will be using your software? (actor)
- What are they trying to do and why? (goal)
- How do they do it? (procedure/method)
- Where and when do they do it (context/selection rules)
Basic Form
A procedure starts with a single line in the following pattern: "To
*
Here's a small example use case:
To Open_About_Box:
* Click the "DST-SM" icon.
There are more complex variations of a step to deal with things like looping, conditionals and calling of other methods, but this post is getting a bit long so I'll just end it here for now. Stay tuned for some longer examples and some sample code that can parse this language and do some cool things like drive the UI and calculate some usability metrics.
No comments:
Post a Comment