INVEST (acronym)

Coined by Bill Wake in his book Extreme Programming Explored, INVEST is an acronym that defines a simple set of rules used in creating well-formed user stories.

  • Independent – Stories should not be dependent on other stories.
  • Negotiable – Stories should capture the essence of the requirement and should not represent a contract on how to solve it.
  • Valuable – Stories should clearly illustrate value to the customer.
  • Estimable – Stories should provide just enough information so they can be estimated. It is not important to know the exact way that a particular problem will be solved. It must only be understood enough to provide a high-level estimate.
  • Small – Stories should strive to be granular enough in scope that they may be completed in as little time as possible, from a few weeks to a few days.
  • Testable – Stories need to be understood well enough so that tests can be defined for them. An effective way to ensure testability is to define user acceptance criteria for all user stories.

Related Content


    The Agile Parking Lot
    What are Some Good Techniques for Writing User Stories?

    Blog Post

    Agile Q&A: Are there types of User Stories?

    Blog Post

    Agile User Stories Exercise: Walk the Dog

    Blog Post

    Determining Actors and Defining Back-end Stories