User stories are a key technique in agile requirements that combine written, verbal, and visual communication. A user story consists of a brief written description of a software feature from the perspective of an end user. It includes just enough detail to estimate the story and allows additional details to be discussed as needed. Good user stories are independent, negotiable, valuable, estimatable, small, and testable.