Agile Requirements with User Stories
User stories are a fresh approach to requirements, popular in agile methods because of their emphasis on promoting collaboration and conversation between developers and other stakeholders, and because of their simplicity. In this hands-on course, you will learn to discover, write, organize, split, plan and test with user stories. And, apply user stories in the context of the most popular agile method, Scrum.
There is a connection between user stories and the agile requirements and testing practice of acceptance test-driven development (ATDD) - in which the conditions of satisfaction of the user stories are expressed as executable tests. Hence, you will also be introduced to ATDD.
All my education emphasizes agile modeling and iterative development, thus we will explore agile requirements and user stories in the context of an iterative and evolutionary life cycle and emphasizing feedback loops and learning, rather than a sequential life cycle approach of big upfront “thorough” requirements definition. You will learn how to do requirements work with agility.
You will apply skills for “requirements by collaboration” and rapid elicitation, including how to conduct a successful requirements workshop, proper group brainstorming, brainwriting, affinity clustering, and mindmapping.
We apply a variety of education techniques established over 20 years of coaching and mentoring to maximize the learning, value, and fun, including buzz groups, multi-modal learning, and hands-on practice. In short, you will leave this course equipped with an excellent suite of tools to apply to agile and iterative requirements analysis.
Methods of Education
Discussion, presentation, Q&A, workshop exercises
Anyone involved in learning or sharing requirements for systems development.
Intermediate: This course introduces concepts and techniques that the attendee will apply during the workshop.
Upon completion of this course, students should be able to:
- Explain the motivation for a user story approach to requirements
- Compare and contrast user stories with other requirement models (such as use cases)
- Define personas
- Write user stories
- Split large user stories (“epics”) into smaller ones that fit within an iteration
- Integrate and enhance user stories with other requirements models (including use cases and FURPS+ systems)
- Do brainwriting, affinity clustering, and mindmapping to find and organize stories
- Express and record user stories in a Scrum Product Backlog and a Wiki
- Relate and apply user stories in the context of agile planning and estimation, and the Scrum method
- Connect user stories to automated acceptance testing and to Acceptance TDD
- User stories: background and motivation
- Writing user stories
- Splitting large stories
- Exploring and organizing user stories
- Identifying user roles and personas
- User stories++
- User stories, Scrum artifacts, and tools
- User stories and agile planning
- Acceptance tests and TDD
- Agile Requirements (relevant either before or after)
- Agile Acceptance Test-Driven Development: Requirements as Executable Tests