A story, long time ago, was written on a card… a piece of paper. A card that describes a piece of valuable work which can be done in the shortest sustainable time. That card is an invitation to a conversation.
Conversation then ensues. Some more details are added to the story as a result of the conversation. Conversation allows us to refine the story.
We then have to confirm our understanding of the story via acceptance criteria. Acceptance criteria are further details of a story from a testing point of view.
Can you imagine a world where tests are created first before a single code is written? Acceptance criteria — specially when written in gherkin language (given… when… then) — is a powerful ally. Welcome to behavior driven development (BDD)!