Requirements Engineering

Poor requirements engineering is over and over again identified as one of the main reasons for project failure. Identifying, documenting, and communicating software requirements are key to all successful IT projects. Common problems in requirements engineering are “How do we discover the real requirements?”, “How do we unambiguously document requirements?”, and “How do user stories fit into requirements?”. These questions and many more will be answered during this 2 day course while helping the attendees to improve their skills in requirements engineering for both traditional and agile projects. With practical case studies and hands-on exercises, requirements issues and solutions are demonstrated. Practice finding, specifying, and evaluating software requirements, while learning how to gather information through varied elicitation techniques.  Explore the advantages and disadvantages of each technique, guidelines are offered for developing both functional and non-functional requirements. Learn a rule set for determining how much documentation you need for “good enough” requirements. Explore requirements review techniques walkthroughs and inspections to determine what will work best for you.

Topics covered

  • Introduction to requirements
  • Techniques to find and elicitate requirements
  • Documenting requirements and their acceptance criteria
  • Requirements cards and rules sets
  • Verification and validation of requirements
  • Managing requirements
  • Supporting requirements tools

Learning objectives

  • Understand the importance of requirements
  • Able to differentiate between three types of requirements
  • Have an overview of the requirements process
  • Understand the various types of requirements elicitation techniques and their advantages and disadvantages
  • Know the most important rules for requirements
  • Able to write requirements using natural language and templates
  • Able to write acceptance criteria for requirements
  • Understand the significance of requirements validation
  • Able to participate in requirements reviews, e.g., inspection and walkthrough
  • Have an overview of the requirements management process
  • Know the main features to be expected of requirements tools

Who should attend

This course is intended for all those that are involved in writing, reviewing or using requirements and their acceptance criteria. Typical participants to this course include business-analysts, product-owners, user representatives, testers, senior developers, project managers and quality managers.

The course is appropriate for anyone who wants an understanding of requirements engineering. The course addresses requirements engineering both from a the traditional sequential life cycle perspective as from an Agile iterative life cycle perspective. Learn how to find and document requirements and establish the software product the user/customer wants.