When you create requirements, it is important to develop the
requirements in multiple stages. For example, you may want to do a general
layout of the program and create higher level use cases in the first session to
get a feel for the overall requirements. In the next session(s), you can focus
on each key feature to ensure that the normal paths are all defined in the use
cases and further refine the prototypes. In the next session(s), you can
attempt to define all of the error conditions which can occur and update the
prototypes as necessary. The final sessions should review all work previously
done to ensure that all requirements are clear and complete. At each stage, you
should not be afraid to revise work done in a previous step because getting the
requirements correct will ultimately save time in the more costly development
and testing stages.