I like the book review theme we've got going on here so I thought I would throw one into the mix. Mental Models by Indi Young is a book that has a great technique for learning about the tasks and activities of your audience and then figuring out ways your system might be designed to support the activities. The only thing I don't like about the book is that the technique is called "mental modeling" which is too easy to be confused with the psychology meaning for mental modeling. So at a meeting one day we jokingly called them "mentivity models" and it kind of stuck. Mentivity being Mental + Activity because we can't call these activity models because the developers already have UML activity models. But I've seriously digressed.
Indi takes a fun low-fi approach that works for groups, to figuring out what your different user groups are wanting to do so that you can develop a website or application that supports the group you want (or don't want) to support. On the surface, the models seems most useful if you're developing a commercial website but I've found that with a little tweaking they will work for more constrained projects. To me one of the biggest values in the models is to have an easy to digest diagram that you can get all of the stakeholders around for a review. Getting everyone to understand and sign off on high-level functional requirements and user groups is really helpful. There's also some great stuff in there if you need to do any serious audience analysis.
See more here: