Book Image

Managing Software Requirements the Agile Way

By : Fred Heath
Book Image

Managing Software Requirements the Agile Way

By: Fred Heath

Overview of this book

Difficulty in accurately capturing and managing requirements is the most common cause of software project failure. Learning how to analyze and model requirements and produce specifications that are connected to working code is the single most fundamental step that you can take toward project success. This book focuses on a delineated and structured methodology that will help you analyze requirements and write comprehensive, verifiable specifications. You'll start by learning about the different entities in the requirements domain and how to discover them based on customer input. You’ll then explore tried-and-tested methods such as impact mapping and behavior-driven development (BDD), along with new techniques such as D3 and feature-first development. This book takes you through the process of modeling customer requirements as impact maps and writing them as executable specifications. You’ll also understand how to organize and prioritize project tasks using Agile frameworks, such as Kanban and Scrum, and verify specifications against the delivered code. Finally, you'll see how to start implementing the requirements management methodology in a real-life scenario. By the end of this book, you'll be able to model and manage requirements to create executable specifications that will help you deliver successful software projects.
Table of Contents (12 chapters)

Working with Scrum

Scrum is the most popular agile approach. Scrum is a process framework that is fully centered around iterative and incremental delivery. A delivery iteration in Scrum is called a Sprint and it lasts between 2-4 weeks.

The Scrum framework consists of three components:

  • The Scrum team: A self-organizing, cross-functional set of people who will deliver the working software. The team consists of the product owner, the Scrum master, and the development team.
  • Scrum events: A number of time-boxed events that help create regularity, promote and provide feedback, foster self-adjustment, and promote an iterative and incremental life cycle. These events include Sprint Planning, Daily Scrum, Sprint Review, and Sprint Retrospective.
  • Scrum artifacts: Items that represent work or added value and that provide transparency for the team's work progress and achievements. The Scrum artifacts are the product backlog, the Sprint backlog, and the increment, which...