This document discusses requirement engineering and techniques for requirements elicitation. It defines requirements and describes the different levels of requirements from business to functional to non-functional. The key techniques discussed for eliciting requirements include interviewing stakeholders, holding requirements workshops, brainstorming with users, creating storyboards and use cases, and building prototypes. Prototyping in particular is highlighted as an effective way to address common issues in requirements elicitation like the "yes, but" syndrome and discovering additional undisclosed needs.