A story describes what needs to be done
Structured way to describe what needs to be done.
A story is the most important artifact in an agile workflow.
As a USER I want to do SOMETHING to achieve this GOAL
These are my ACCEPTANCE CRITERIAS.
A good story is independent, negotiable, valuable, estimable, short, precise, testable and fits on a small piece of paper.
Just something very important to note: A story does not substitute a meeting between the Product Owner and the team, but document the result of such meetings.
The writer of a story is the product owner. The product owner needs to ensure that the story fulfill the definition of ready. In order to achieve this it became a useful tool to implement a regular meeting every week to review the backlog together with the team and to refine stories together. Such a meeting can also be used to ensure that the definition of ready is fulfilled and that new stories can get estimated.
The general effort of writing good stories depend heavily on the experience of the product owner and the complexity of the project. The product owner should plan to invest at least 10-20 hours a week into the stories.
In suboptimal situations it happens that the product owner can not fully decide upon the projects features and has to consult and wait for customer feedback. In such situations you usually see that it is very complicated to fullfil a definition of ready and stories become more vague and meta. This is why it is so important that a product owner can decide upon the product features.