Look at the accepted product, passed test, etc. first, before thinking about the product descriptions, requirements or design.
Also Known as
Test-Driven Development (TDD)
Behavior-Driven Development (BDD)
Acceptance Test-Driven Development (ATDD)
All these "-Driven Development" approaches have one thing in common: You first define what it means to be successful, before defining what it actually is what you want to build. TDD has worked really well in software development, where developers wrote first the test (which would initially fail), to then write the implementation that would make the test pass. A nice side effect was ...