A good user story is negotiable and negotiated.
A user story is a placeholder for requirements to be discussed, defined, designed, developed, tested, and accepted.
It contains the intent and it is open to negotiation between the business and the agile team; it allows for discovery through collaboration, conversation, confirmation and feedback.
A long time ago, written requirements were generally required because people have limited communication between them hence a story serves as a record of past agreements. Unfortunately, we still see this happening today with immature agile teams.
Today, mature agile teams are built around continuous communication, cooperation, and coordination by self organizing team of people! A user story’s nuances emerge in real-time!
The lack of overly ‘constraining and too detailed’ requirements enhances the agile team’s and business’ ability to horse-trade between value and planned delivery dates (refer to my earlier post: ‘Plan Versus Value’. This allows the agile team to meet release objectives; increases dependability and predictability; fosters trust!