Courses

User Stories and Estimation in Agile Development

Description: User Stories and Estimation in Agile Development blends several technologies together in a breakthrough two-day course that gives the tools the entire development team needs to uncover and manage the story discover/definition process. Software development is most like product development where most of the work is in discovering what the customer needs and how to build it. This course focuses on how to most efficiently discover those features that will return the highest benefit to the customers of a company.  This is a very hands on course where participants go through the entire process of creating a product backlog.  Students learn to drive story writing from business value.  This course is designed within the context of Lean Software Development.  This solves many problems in other Agile Analysis methods because it enables Agile practitioners to keep the big picture in mind (which focusing on business value requires) while working on the small pieces (which Agility requires). 

This course deals with the following questions:

·         How do I create my stories in the first place?

·         How do I manage my analysis over the life of the project?

·         How can I split up stories that are too complex to fit in an iteration?

·         If I have many similar, but different stories, how do I make sure they are implemented in a similar way to avoid getting many special cases in my code?

·         How does Agile analysis affect architecture?

·         How do I coordinate the implementation of similar stories?

·         How do I make sure I have all the stories I need?

·         How can I ensure my stories are consistent with each other?

Agile analysis has brought about new challenges and new opportunities. Old-school techniques of heavy use-cases or significant up-front analysis no longer work effectively. But how can our requirements be managed effectively when many things are so unclear at the start of a project?

User Stories and Estimation in Agile Development focuses on uncovering and managing the customers’ needs of the product being built. It teaches how to discover the stories in an Agile manner. However, it goes beyond the process of merely pulling out stories as they are encountered. It also illustrates how to organize the stories so they can be more easily implemented in a consistent manner. Techniques on how to organize requirements to help insure consistent and complete information from your customers and/or subject matter experts (SMEs) are also presented.

This course also goes beyond the Agile mandate of prioritizing stories merely by customer value. It explains why the issues of risk mitigation and customer feedback opportunities must also be considered. By bringing together project management, analysis, development, and QA issues to the role of requirements management in Agile projects, this course enables your staff to be more effective than standard Product Owner training available from other organizations.

 

Course Level

Intermediate

Course Outline

  • Lessons from Lean Software Development
    • The Scientific Method
    • Respect People
    • Respect Knowledge
    • Improving Process
    • Wastes in Software Development
      • Building what you don’t need
      • Complexity
      • Non-Maintainability
  • Overview of Agile Methods
  • Five Reasons to Go Agile
    • Add Business Value Quickly
    • Get Clarity on Customer Needs
    • Project Management
    • Help the Team
    • Technical Perspective
  • The Risks of Software Development
  • Starting Analysis
  • Background
  • Use Cases and Why To Use Them
    • How To Use Use Cases in an Agile Project
    • Use Cases As Containers for Stories
    • Creating Low Precision Use Cases From High Level Requirements Statements
    • Use Case Unfolding
    • Sub-Dividing Stories Into Smaller Stories
  • The Relationship Between Analysis and Architecture
    • How Stories Can be Related to Each Other
    • Estimation in an Object-Oriented World
  • Commonality-Variability Analysis
  • The Analysis Matrix
    • Identifying The Concepts in Your Domain
    • Mapping Scenarios Into Stories
    • Creating a Conceptual Architecture
  • Why Just Jumping Into Code Is Not A Good Idea
  • Story Boarding
  • Selecting Stories for the Iteration
    • Prioritization
    • Risk Mitigation
    • Increasing Feedback
  • Stories and Testing
  • The Role of QA in Analysis
  • Refining Our Test Cases
  • Agile Project Estimation
  • Agile Story Estimation
  • Kano Analysis
  • The Changing Role of the Analyst
  • Wastes in Analysis and How To Avoid Them
  • Products Vs Projects

Who is this course for

Product owners, analysts, developers, team leads, managers and others who want to understand how an Agile team fits within the business, and how the business drives an Agile team.

Room Setup and Equipment Needed

Classrooms require students at tables (round or long) as well as several white boards or flip-charts.  A projector with screen is also needed.

Prerequisites

Experience in any form of software development or team management (programming, managing, designing, ...)