The most effective way I’ve found to elicit requirements, is to simply ask:
- What are the user goals?
- What are the business goals?
- What are the system goals?
I like to follow on by asking about the boundaries (constraints) for goodness and the tests for success.
User, Business and System Goals
The user goals address user experience, the business goals address business value, getting the job done, and compliance, and the system goals address things like manageability, maintainability, evolveability, integration … etc. In all cases of course, there’s flavors of quality attributes, experience, and service levels …etc.