Gathering Requirments
- Learn as much as you can about the problem
- Try to ignore the customers solution to the problem, to maintain flexibility
- If a customer insists on a particular solution, ask Why?, make sure it is important
- Take loads of notes
The 6 Ws
Who
- Who will be using the product?
- learn as much about the users and customers, if they are the same
What
- What the customer want?
- Focus on goals, not solutions, since the dev team probably knows what the technology can do better
- THE CUSTOMER IS ALWAYS RIGHT duh...
When
- When is the application needed?
- Will it roll out in phases?, what features are needed and when?
- Use Gantt Charts to figure out a timeline... show this to the customer and agree on it
- BE REALISTIC WITH DEADLINES - THE CUSTOMER HERE IS NOT ALWAYS RIGHT
Where
- Where will the application be used, and how does this effect what you are building?
Why
- Ask why, the answer the customer gives can be vague
- Ask why to clarify their needs, they might just think it will help but there might just be no need
- Is it the best way for them to spend their resources
How
- Look at the solutions the customer gives
- Look at the dev teams solutions
- Which is better?, the customer may be asking for something that is better than what your team thinks of
The interview
"For example, suppose the users grind through long, tedious reports every day. The reports are so long, they often end the day in the middle of a report and need to continue working on it the next day. This may seem so obvious to the users that you don’t discuss the issue.
A typical reporting application might require the users to log in every day, search for a particular report, and double-click it to open it. That could take a while (particularly if the user forgets which report it is). Fortunately, you know that users often start the day by reopening the last report of the previous day, so you can streamline the process. Instead of making users remember what report they last had open, the program can remember. You can then provide a button or menu item to immediately jump to that report."
- Customers my just skip over "obvious" things, that you wont know
- Study your customer, look at where there time is spent, and what they do...
- Look for opportunities where a application could help streamline things