Vague, incomplete, and ever-changing requirements are responsible for the majority of software project failures. Realistic work estimates and attainable schedules cannot be built without first understanding the true project requirements. Requirements engineering is the set of skills necessary for gathering, capturing, validating and managing requirements and their changes. It is key to reducing project risk, improving product quality, and increasing the likelihood of completing a project successfully.
In this course, students will learn the importance of requirements engineering – discovering and managing all requirements, including those which are often hidden until it's too late. Students will learn techniques for requirement documentation and management as well as methods for managing requirements change.
The course consists of lectures and interactive exercises. It is appropriate for software project managers, software quality managers, and team leaders, as well as developers and testers who wish to learn these skills for a current or future assignment.