Course Description
A deep-dive on how user stories are written, elaborated, and supported in order to make the most of the Agile framework and contribute to overall project success.
Teams that practice the principles from the Agile Manifesto acknowledge that many project failures are often due to poor requirements gathering, analysis and planning. They accept that traditional requirements documents may not contain complete and accurate requirements due to rapidly changing business priorities and believe it is a fallacy to attempt gathering all requirements at the beginning of a project.
Simply adhering to the basic Scrum framework may not be enough for some teams to start realizing the benefits that the Agile philosophy has to offer. In the cases that teams are struggling to achieve increased productivity, greater quality, faster delivery and ultimately improved customer satisfaction we typically find a gap within the team's product backlog - specifically the quality of the user stories within that backlog.
This two-day course will give you hands-on experience with techniques for writing better user stories and capturing the additional details an agile team needs in order to be successful. Explanatory lectures and demonstrations, combined with practice exercises will provide you with the experience needed to create user stories that will propel your team to the next level of agile maturity.
What You Will Learn:
- Capitalize on the benefits of using Agile methods to communicate requirements
- Understand the characteristics of a well-written user story
- Build a better backlog through the definition of detailed acceptance criteria
- Employ a variety of techniques for identifying user stories
- Identify gaps not usually found or corrected in requirements gathering
- Decompose user stories to an atomic level
- Leverage strategies for elaborating on requirements over time
- Apply different techniques for supporting user stories
Substitution & Cancellation Policy:
You may cancel or reschedule up to 21 days prior to the start date of the class at no penalty. For any cancellation or reschedule requests within 21 days, the full course tuition is still due and not eligible for refund. Any paid tuition will be credited towards a future class and must be used within 12 months.
*Partner delivered courses may be subject to different cancellation terms
Agenda
Course Outline
Section I: User Story Overview
Agile focuses on the customer, embraces the ever-changing nature of business environments and encourages human interaction in delivering outstanding software. In this introduction, we’ll discuss the following:
- Why it is a recipe for failure if you attempt to identify all product requirements at the beginning of a project
- Types of requirements and business analysis activities
- What a user story is and the benefit of articulating requirements as user stories
- How user stories fit into the Agile framework
- How traditional requirement types and BA activities align with Agile
Section II: Pre-Conditions for User Stories
Before an Agile team can begin writing and elaborating user stories there are things that must be in place. During this section we will set the stage for future class exercises by creating a shared understanding of the following:
- A sample product vision
- A sample product roadmap
- Sample product user roles
Section III: Writing User Stories Well
In order for an Agile team to succeed it is critical for the product backlog to be populated with well-written user stories. During this section participants will engage in discussion and hands-on activities that cover the following topics:
- Characteristics & Attributes of Well Written Stories
- Themes vs Features vs Epics vs User Stories
Class Exercises: Based on the Vision, Roadmap and User Roles outlined in the previous section, participants are asked to complete a story-writing workshop.
- User Story Peer Review: Taking the user stories written during the story-writing workshop as well as a list of user stories provided by the instructor, participants pair-up to review stories, iterate on them and ultimately improve upon them.
- User Story Decomposition: Participants are given a set of user stories in addition to the stories they have produced and are lead through the steps to assess the size of the story and the ability to slice it into smaller stories.
Section IV: Acceptance Criteria
User stories are a way to capture requirements from a customer point of view, but without acceptance & evaluation criteria a team is unable to know how a Product Owner will determine the user story is complete. In this section the team will gain a greater understanding of capturing and elaborating acceptance criteria.
Class Exercise:
- Acceptance Criteria Peer Review: Participants are asked to independently write acceptance criteria for a set of user stories and then pair up for a peer review before presenting acceptance criteria to the entire class for group discussion.
Section V: Supporting & Elaborating User Stories
While a Product Backlog of user stories is a complete list of desired elements, or requirements, for the product - it is not a complete Requirements Specification. User stories alone are not enough. In this section we will discuss a variety of requirements modeling techniques teams can use to provide the right level of detail needed for successful product delivery.
- Non-Stories & Spikes
- Functional vs Non-Functional Requirements
- Assumptions, Constraints & Dependencies
- Business Rules Analysis
- Prototyping & Interface Analysis
- Use Case Modeling
- Process Modeling
- Decomposition
Class Exercises:
- Words are Not Enough: After following a set of instructions provided to the entire class, participants gain an understanding that words alone are not enough for providing requirements detail.
- Abstracting Business Rules: Participants are provided a set of user stories and supporting documentation and asked to abstract the business rules as well as brainstorm and identify new business rules.
- Use Case Elaboration: Participants are provided a set of user stories, context diagram as well as a base use case and asked to elaborate the use cases in order support user stories as well as identify potential gaps in the product backlog.
- Process Modeling & Decomposition: Participants are provided a basic scenario and asked to model a business process and then use the technique of story mapping to decompose the process into atomic user stories.
Section VI: Preparing for Iteration Execution
There is an appropriate level of detail about the user stories that is needed for a team to properly complete Iteration Planning activities on Day 1 of an iteration. During this section we will discuss strategies for ensuring the user stories in your product backlog are ready for execution.
- Backlog Grooming
- Story Review
- Requirements Verification
Section VII: Retrospective on User Stories
Using Agile Methods – Retrospectives are a key practice in Agile. We will take an opportunity to review our learning collectively and how we can improve.
Class Exercises:
- Success Factors: Participants review and discuss each success factor identified on Day 1 of the course in order to determine if each individual’s objectives were met.
- Improvement Plans: Participants answer three specific question in order to explore techniques and strategies they plan to leverage as soon as they are back on the job.
- Course Feedback: Participants answer three specific questions about the course in order to provide the instructor with insight about the course curriculum and and delivery of the class in order to improve future classes.
Audience
This course is beneficial to all members on an Agile team, but will add the most value for those in a Product Owner role or are a part of the development team and have focus on grooming the product backlog. Note: participants in this class should already possess a working knowledge of general Agile practices and principles as well as the overall Scrum framework.
Others who will benefit include:
- Business Analyst
- Technical Analyst
- Project Manager
- Software Engineer/Programmer
- Development Manager
- Product Manager
- Product Analyst
- Tester
- QA Engineer