
Continuing the articles in our agile project case study.
The next step in our agile requirements management process is to develop an understanding of our target users. We believe a user-centric design approach is important. The user interface should conform to the way our users think about what they are doing and trying to accomplish. We should minimize the amount that we force our users to think like our software, and maximize the amount that we should force our software to work the way people want it to.
In this article we document some of the thoughts around who are target users are, and how we think about finding patterns in the way that they would approach using our product. This is a micro-example of market definition / segmentation. We’re looking for patterns that provide interesting commonalities. We’ll use this as a foundation for developing personas.
Starting with the classical breakdown of users…
Beginning, Intermediate, and Expert Users
This is the canonical breakdown of users – classification by level of experience with the product. We’ve written before about designing for competent users. And we also wrote an article focused on the need to help people bridge the canyon of pain from beginner to expert user.
All users of our site will start out as beginning users. And when the site first launches, all of our users will be beginners (except maybe some beta testers).

But none of them will stay beginners for long. They will either quickly become intermediate users, or they will stop using the site. Some people will also become expert users. But most of them will stay perpetual intermediates (as Alan Cooper calls them).
Domain Expertise as a Differentiator
We have another interesting dynamic with the site. All users will either be looking for, or promoting articles. Any given exercise will generally be in one of the topics we’ve identified in our scope document. A user can be an expert business analyst and be a beginner in interaction design. Or she can be a skilled product manager who is exploring business process modeling for the first time. Someone might have written hundreds of use cases, but be new to using UML to describe processes.
So we have an odd situation – people can be both experts and beginners at the same time. Everyone has a different pattern of domain expertise. Someone could understand market analysis techniques far better than go-to-market strategies. But in terms of a single set of interactions with the site, the user will be exhibiting one of their domain expertise levels.
So, any given interaction will have some combination : New User / Domain Expert, Intermediate User / Domain Proficient, etc. I don’t believe that domain expertise will affect how we design interactions for someone – it will only affect what the user wants to do.
User Needs: Initial Thoughts
As a first pass or pre-amble to developing user personas, here are some general ideas about articles that someone would want to find in a particular area as a function of their domain expertise in the area. The lists are numbered not to show relative importance, but to make it easier for people to refer to them individually in the discussion of this article.
Beginner
- Find an overview of the area, to understand if it is worth exploring, or to help put the ideas in perspective with what the user already knows.
- Find tutorials on how to do specific things, like “how to write a use case” or “how to faciliate a JAD session.”
- Look for suggestions and reviews of tools that might help them to do work in the space.
- Participate in discussions on good articles.
Proficient
- Look for reviews of tools that might help them to do work in the space.
- Read detailed articles that will serve as refreshers on how to do something, or improve their depth of understanding in a narrow area, like “estimating projects with use case points”
- Share articles that would help beginners get up to speed – this is the bootstrap approach (you’ve learned it recently, you’re better positioned than an expert to help someone else learn it).
- Share articles that are good additions to the toobox in a domain for other proficient users.
- Participate in discussions on good articles.
Expert
- Look for thought-leadership articles that combine or extend ideas in novel ways, like “goal driven documentation” or “combining interaction design and structured requirements” or “combining pairwise testing with use case scenario analysis.”
- Promote articles that you have published elsewhere for community review.
- Share articles with beginners and proficient users that you know to be very good – this is the ‘stamp of approval’ model.
- Participate in discussions on good articles.
- Create tutorials / lists / links that combine multiple good articles into informal “learning packets” that mix the best content from multiple authors on a single topic.
How You Can Help
Care to validate, refute or extend any of the lists above? Or suggest better ways to look for patterns in behavior or to organize users?

