Course Code: erebsp
Duration: 7 hours
Course Outline:

Efficient Requirements Engineering


Determine your client's needs – exactly

  •  Gathering and Structuring Requirements.
  •  Techniques used to gather and structure types of requirements.
  •  Interviews.
  •  Questionnaires.
  •  Workgroup sessions.
  •  Surveys and observations.
  •  Use cases for gathering/documenting requirements.


Write requirements that are complete, traceable, and testable

  •  The SMART way to write requirements.
  •  Keywords to avoid/favour.
  •  Tracing to the originators of requirements.
  •  Understanding the underlying assumptions.
  •  Business justifications.
  •  Inter-relationships.
  •  Criticality of the requirements.


Precisely define the scope of the product/system

  • Identifying the all-encompassing scope
  • Scoping external business requirements
  • Scoping performance, interfaces, operations and implementation.
  • System sizing.
  • Scoping the "ilities" (availability, reliability, scalability, usability...)


Identify the stakeholders and keep them involved throughout the project

  • Stakeholder categories
  • Analysing stakeholders
  • Stakeholder management strategies
  • Managing stakeholders
  • Social media and stakeholder management
  • Understanding stakeholder perspectives


Use techniques such as storyboarding and e-collaboration

  • Get your story ideas onto paper.
  • Cut and shuffle ideas into storyboard panels.
  • Keep things flexible.
  • Embrace random ideas.
  • Explore character narratives.
  • Example collaboration toolsets.


Get the requirements quickly, and validate them early and often

  • Avoiding BUFD (big up-front design)
  • How much analysis and design is enough?
  • Fail fast.
  • Identify feedback cycles.
  • Iteratively validate requirements.
  • Validation during analysis, design and implementation.
  • Quick stakeholder feedback.
  • BDD behaviour-driven design to the rescue.