Requirements gathering is probably the most important activity to be performed in delivering an information solution.  There is no one perfect means for identifying and gathering requirements.  The most appropriate methods will vary from project to project.  Some commonly used methods include:

  • Interviews
  • Storyboarding
  • Use cases
  • Questionaires
  • Brainstorming
  • Prototyping
Use cases can be especially valuable since they provide specific scenarios of how the solution is intended to be used and by whom.  These use cases can then provide a direct basis for testing the delivered solution.

Following are some things to keep in mind when gathering requirements:

  • Identify and involve a representative set of stakeholders (don't lose sight of all of the players)
  • Seek breadth before depth (get the big picture before deep diving)
  • Iterate and clarify (as more requirements surface they will evolve)
  • Prioritize (separate the must-haves from the nice-to-haves)
  • Use the stakeholder's terminology (you're doing an information solution not a technical solution)
  • Employ KISS (keep it simple but be thorough)
  • Realize that you will never get a complete set of requirements up-front; some won't surface until the stakeholders have pieces of the solution that they can see and touch (be careful of scope creep)
  • Remember goals and objectives are not requirements (they are just as important though)
  • Requirements and constraints should drive the solution not the other way around