Collaborating & Communicating Agile Requirements

Course Details
Code: 2502
Tuition (USD): $1,495.00 • Classroom (2 days)

Project failures are often due to poor requirements gathering, analysis, and planning. Traditional requirements documents may not contain complete and accurate requirements due to rapidly changing business environments. Agile requirements gathering, by moving detailed requirements closer to implementation, allows for rapid response to change. In this course, you will learn how to gather and manage these requirements.

Traditional requirements are documented in a requirements specification. Changes to the requirements are managed through a change process. This course will demonstrate alternative ways of documenting requirements and managing changes, allowing for a less "heavy" process in projects that can benefit from quick changes in direction. You will gain hands-on experience with techniques for gathering agile requirements. Through explanatory lectures with demonstrations combined with practice exercises, you will gain the experience needed to create requirements that meet business needs.

Skills Gained

  • Master writing user stories
  • How known methods in traditional requirements processes can apply to Agile methods
  • Communicate requirements using agile techniques to bridge the customers' and developers' needs
  • Stakeholders and user roles to ensure that all requirement viewpoints are elicited
  • Create and maintain a product backlog
  • Prioritize requirements so that the most important customer needs are delivered first
  • Formulate an iterative project plan with feedback cycles that keep the project on track
  • Estimate business value for requirements to track how a project contributes to the enterprise
  • Develop requirements in an iterative approach to capture the details at the appropriate time

Who Can Benefit

  • Business customer or partner
  • Product manager or customer representative
  • Business or systems analyst
  • Architect or developer
  • QA tester or QA engineer
  • Project manager or team leader
  • IT manager/director

Course Details

1. Agile Overview

  • Agile Manifesto
  • Agile Principles
  • Agile Methodologies
  • Agile Benefits

2. Project Initiation

  • Project Charter
  • Project Roles
  • Project Planning
  • Communication

3. Focus on the Customer

  • Customer Involvement
  • Customer Roles
  • Creating and Using Personas
  • Constraints

4. User Stories

  • User Stories
  • Goals and Objectives
  • Acceptance Criteria and Acceptance Tests
  • Non-User Stories

5. Product Backlog

  • Who owns the Product Backlog?
  • Functional and Non-Functional Requirements
  • Story-Writing Workshop
  • Prioritizing the Product Backlog
  • Maintaining the Product Backlog
  • Techniques for further elaboration

6. Estimating and Planning

  • Relative vs. Actual Estimating
  • Using Story Points
  • Planning Poker (Grenning 2002)
  • Five Levels of Planning in Agile
  • Estimating Team Velocity

7. Release Plan

  • Iteration Estimates
  • Prioritization Revisited
  • Ownership and Participation
  • Communication

8. Use Cases

  • Use Case Advantages
  • Use Case Elements
  • Success Path
  • Alternate Paths
  • Exceptions

9. Iteration Plan and Execution

  • Iteration Planning
  • Defining "Done"
  • Test-Driven, Test Often
  • Demonstrate Working Software (Delivered Requirements)
  • Inspect and Adapt applied to Requirements
  • Finding your Rhythm

10. Retrospective on Communicating Requirements

Exercises:

Exercise 7: Teams will discuss and document use cases, including alternate pathsand exceptions, for some of their high-priority stories. As a class, we'lldiscuss the relationship between use cases and stories and how they complementeach other.