I was reading the book "GUI Bloopers" by Jeff Johnson and he makes a good list of questions about your user's tasks to consider before starting your design. Here is his advice:
1. What tasks does a person do that are relevant to the application's target task area?
2. Which tasks are common, and which are rare?
3. Which tasks are more important, and which ones are least important?
4. What are the steps for each task?
5. What is the result and output of each task?
6. Where does the information for each task come from, and how is the information that results from each task used?
7. Which people do which tasks?
8. What tools are used to do each task?
9. What problems, if any, do people have performing each task? What sorts of mistakes are common? What causes them? How damaging are mistaken?
10. What terminology do people who do these tasks use?
11. How are different tasks related?
12. What communication with other people is required to do the tasks?