Effectively translating business needs into meaningful IT requirements is critical to completion of software development initiatives. I have spend many years requirement gathering to ensure projects are completed to specification in a timely manner. To facilitate this process I prepare enough material to answer questions early, identify impediments, accommodate architectural adjustments, and ensure adequate resources. In addition to the actual documented requirements I also favor visual representation when possible, such as, process flow diagrams, system diagrams, impact diagrams and more.