
What are Executable Requirements?
Executable Requirements are requirements, usually User Stories, defined in such a way that the requirements become the automated acceptance tests themselves.
This can be an extremely powerful way to drive requirements through delivery in any Agile or Lean development methodology.
Communication between the product owner or business analyst and the development team is greatly enhanced, ambiguity is removed, the amount of software developed to satisfy the requirement is managed, the design is improved and deep coverage in the form of automated acceptance for the feature will tell you immediately if the software regresses.
Elaborating User Stories with executable requirements allows us to clearly define done for a given user story. This establishes better velocity estimates and forecasting capabilities.
Executable requirements is testing to prevent defects and moves QA to the beginning of the process.