14.2.3 - N - Negotiable
Enroll to start learning
Youβve not yet enrolled in this course. Please enroll for free to listen to audio lessons, classroom podcasts and take practice test.
Interactive Audio Lesson
Listen to a student-teacher conversation explaining the topic in a relatable way.
Understanding User Stories
π Unlock Audio Lesson
Sign up and enroll to listen to this audio lesson
Let's begin with the foundation of our discussion: What is a user story? A user story is a brief description of a feature from the end user's perspective. It typically follows the structure: As a [type of user], I want [goal], so that [benefit]. Can anyone provide an example?
As a job seeker, I want to upload my resume, so I can apply for jobs quickly!
Whatβs the purpose of using this format?
Great question! This format focuses on the user's needs and the benefits they seek, making it easier for developers to understand what to build. Remember, clarity is key!
INVEST Criteria
π Unlock Audio Lesson
Sign up and enroll to listen to this audio lesson
Now, let's cover the INVEST criteriaβan acronym that helps ensure quality user stories. Who knows what it stands for?
Independent, Negotiable, Valuable, Estimable, Small, Testable!
That's correct! Each component is crucial. For example, a user story should be independent to avoid blockers during development. Can anyone think about how we can make a user story negotiable?
Maybe by treating it as a starting point for discussion rather than a final requirement?
Exactly! It encourages collaboration and flexibility.
Acceptance Criteria and Gherkin Language
π Unlock Audio Lesson
Sign up and enroll to listen to this audio lesson
Letβs move to acceptance criteria. They define what success looks like for a user story. How specific do you think we should be?
They should be very specific to avoid ambiguity, right?
Absolutely! And to write clear acceptance criteria, we can use Gherkin language. It uses a simple Given-When-Then format. Can anyone provide a sample scenario?
Like, Given the user is on the login page, When they click 'Forgot Password', Then they should receive an email?
Great job! That illustrates how Gherkin helps express user interactions clearly.
Tips for Writing Effective User Stories
π Unlock Audio Lesson
Sign up and enroll to listen to this audio lesson
To conclude our sessions, letβs discuss some practical tips. Whatβs one way you think we can improve our user stories?
By collaborating with stakeholders to ensure everyoneβs on the same page?
Exactly! Collaboration fosters clarity. Remember to visualize stories with wireframes if they impact the UI. What else?
Prioritize them based on business value!
Yes! Prioritization ensures the most valuable features are developed first. Always include a Definition of Ready checklist before adding stories to sprints. This ensures quality.
Introduction & Overview
Read summaries of the section's main ideas at different levels of detail.
Quick Overview
Standard
This section discusses the importance of user stories in Agile development, highlighting the INVEST criteria for quality user stories, acceptance criteria, Gherkin language for writing acceptance tests, and tips for improving user story writing.
Detailed
Detailed Summary
In Agile development, user stories serve as vital tools for expressing functional requirements from the end user's perspective. A user story captures the need and goal of a user in a straightforward format: As a [type of user], I want [goal], So that [reason/benefit].
INVEST Criteria
To ensure user stories are effective, they should adhere to the INVEST acronym:
- Independent: The story should be deliverable without dependencies.
- Negotiable: It is a starting point for discussions rather than a fixed contract.
- Valuable: It should deliver value to the user or customer.
- Estimable: It must be clear and precise enough for effort estimation.
- Small: The story should be small enough to complete within one sprint.
- Testable: It needs to have acceptance criteria to measure completion.
Acceptance Criteria
Acceptance criteria clarify the conditions under which a user story is considered done. They should be specific and testable, ensuring everyone has a shared understanding.
Gherkin Language
Gherkin is a structured language that helps write acceptance tests in a concise format using Given-When-Then syntax. This facilitates clear test scenario creation for desired outcomes.
Tips for Writing User Stories
- Collaborate with stakeholders for clarity.
- Write testable stories; if they canβt be tested, theyβre not ready.
- Include visuals for UI impacting stories.
- Prioritize with business value in mind.
- Use a Definition of Ready checklist before sprint inclusion.
Conclusion
A well-written user story delivers a mini-story with purpose, providing clarity and preventing confusion.
Audio Book
Dive deep into the subject with an immersive audiobook experience.
Understanding Negotiability in User Stories
Chapter 1 of 3
π Unlock Audio Chapter
Sign up and enroll to access the full audio experience
Chapter Content
The user story should be a placeholder for conversation, not a fixed contract.
Detailed Explanation
In agile methodologies, a user story is designed not just to lay out requirements but to foster discussion among team members. Rather than viewing a user story as a strict contract dictating the exact features to be implemented, it should be seen as an invitation for dialogue. This means that the details can evolve based on new insights from the team or feedback from stakeholders, allowing for greater adaptability in the development process.
Examples & Analogies
Imagine you're planning a family trip. Instead of setting a rigid itinerary that everyone must follow, you may outline some destinations or general activities you all want to do. On the trip, you might discover new places that spark interest and spontaneously adjust your plans. Similarly, user stories encourage flexibility and adjustment rather than sticking to a rigid plan.
The Role of Negotiation in Agile Development
Chapter 2 of 3
π Unlock Audio Chapter
Sign up and enroll to access the full audio experience
Chapter Content
Negotiation involves stakeholders discussing the needs and goals represented in the user story.
Detailed Explanation
In agile development, negotiation plays a critical role in refining user stories. It involves interactions between developers, product owners, and stakeholders to prioritize features based on value and feasibility. This collaborative process ensures that everyoneβs perspectives are considered, leading to a shared understanding of the user story's intent and the required outcomes. The negotiation phase allows teams to clarify expectations and adjust the scope of work as needed.
Examples & Analogies
Think of a group project in school. Each member may come with their own ideas on what the final product should look like. By sitting together and discussing each person's vision, the group can negotiate which ideas to include and which to set aside, making the final project a collective effort. This mirrors the collaborative discussions that take place during the negotiation phase in agile development.
Benefits of Viewing User Stories as Negotiable
Chapter 3 of 3
π Unlock Audio Chapter
Sign up and enroll to access the full audio experience
Chapter Content
Viewing user stories as negotiable leads to improved flexibility and responsiveness to change.
Detailed Explanation
When user stories are treated as negotiable components of the project, teams can react more dynamically to changes in market conditions, user feedback, or technical challenges. This flexibility ensures that development efforts remain aligned with user needs and business priorities. Rather than forcing a strict adherence to predefined stories, teams can re-evaluate and adjust their approach based on ongoing discussions and findings throughout the development cycle.
Examples & Analogies
Consider a chef preparing a meal. Although the recipe provides a guideline, the chef might adjust ingredients based on whatβs fresh or to taste. This adaptability often results in a better dish than what was initially planned. In the same way, treating user stories as negotiable allows teams to refine their work for better outcomes.
Key Concepts
-
User Story: A concise statement of user needs and goals.
-
INVEST Criteria: A set of criteria (Independent, Negotiable, Valuable, Estimable, Small, Testable) for assessing user story quality.
-
Acceptance Criteria: Specific conditions that define when a user story is complete.
-
Gherkin Language: A structured format for writing acceptance tests.
Examples & Applications
Bad User Story: 'Create a login system.' Good User Story: 'As a user, I want to log into the portal so that I can access my dashboard.'
Acceptance Criteria Example: 'A reset password link is sent to the registered email. The link expires after 24 hours.'
Memory Aids
Interactive tools to help you remember key concepts
Rhymes
For user stories to shine, they must also define. A goal, a user too, and a benefit that's true.
Stories
Imagine a developer named Sam who always asked, 'What does the user need?' Each story he wrote was to take the lead, ensuring clarity was always guaranteed.
Memory Tools
Remember INVEST for your stories: I for Independent, N for Negotiable, V for Valuable, E for Estimable, S for Small, T for Testable.
Acronyms
User stories must be IVEST to be best
Independent
Valuable
Estimable
Small
and Testable.
Flash Cards
Glossary
- User Story
A short, simple description of a feature from the perspective of the end user.
- INVEST Criteria
A checklist to ensure high-quality user stories: Independent, Negotiable, Valuable, Estimable, Small, and Testable.
- Acceptance Criteria
Conditions to be met for a user story to be accepted as done, ensuring clarity between stakeholders.
- Gherkin Language
A structured language for writing acceptance tests in a readable format, using Given-When-Then syntax.
Reference links
Supplementary resources to enhance your learning experience.