Getting and Writing IT Requirements in a Lean / Agile World

Retired

This book is no longer available for sale.

Getting and Writing IT Requirements in a Lean / Agile World

Business Analysis Techniques for Discovering Lean Requirements, User Stories, Features, and Gherkin (Given-When-Then) Tests

About the Book

Meeting the Agile, Lean, and DevOps Requirements Challenge

The largest challenge facing organizations around the world is how to leverage their Information Technology to gain competitive advantage. This is not about how to program the devices, it is determining what the devices should do. The skills required to identify and define the best IT solutions are invaluable for every role in the organization. These skills can propel you from the mail room to the boardroom by making your organization more effective and more profitable.

An Agile Approach for Getting from Visions and Requirements to Test Scenarios

Many organizations have moved towards a Lean or Agile approach to developing and delivering information technology or software applications. It is an extremely effective and efficient way of delivering technology. However, we continue to struggle with the age-old problem that has plagued IT (Information Technology) projects forever, namely getting the requirements right.

In this book, we will show you how the concepts of Agile, Lean, and Continuous Delivery software development philosophies influence the discovery, expression, and analysis of business needs. You will learn how to discover, analyze, and define User Stories, Features, and Quality Requirements (a.k.a. Non-functional Requirements - NFR), as well as develop essential Acceptance Tests (Scenarios, Scenario Outlines, and Examples). The latter have become a critical part of many Lean development approaches. "GIVEN-WHEN-THEN" a.k.a. Gherkin Scenarios are the bases for Acceptance Test Driven Development (ATDD) and Behavior Driven Development (BDD). This is the language that allows developers to deliver the digital solutions the organization needs. 

This exercise-rich book provides a proven set of core business analysis techniques, methods and tricks. The presented content will help Agile and Lean software development teams, business analysts, product owners, test developers, and subject matter experts discover, capture, clarify, and confirm the kind of IT requirements that today's agile and lean development teams need to deliver the right digital solutions for the business.

After reading this book, you can:

  • Define the capabilities and challenges of Lean and Agile software development philosophies
  • Adapt 10 different requirements gathering (elicitation) techniques to Lean, Agile, and Continuous Delivery software development
  • Express business needs and wants in User Story format to optimally support Lean and Agile software development philosophies
  • Reduce the time wasted on miscommunication between Stakeholders of IT initiatives
  • Drill-down into Features and User Stories to identify and express Test Scenarios in Given-When-Then statements to facilitate testing
  • Identify 17 Qualities and develop Given-When-Then (GWT) scenarios for them

Who Should Read this Book

How organizations develop and deliver working software has changed significantly in recent years. Because the change was greatest in the developer community, many books and courses justifiably target that group. There is, however, an overlooked group of people essential to the development of software-as-an-asset that have been neglected.

Many distinct roles or job titles in the business community perform business needs analysis for digital solutions. They include Business Analysts, Product Owners, Product Managers, Test Developers, Project Managers, Requirements Engineers, Subject Matter Experts, Agile Teams, and Business or Customer-side Teams. This book will help these groups discover, capture, clarify, and confirm the kind of IT requirements that solution providers need to deliver the right digital solutions for the business.

Chapter Overviews

Chapter I: Requirements in a Lean and Agile World

presents how Agile, Lean, and DevOps approaches influence the discovery, expression, and analysis of business needs.

It defines requirement constructs in Lean and Agile environments and compares them with conventional requirements forms. By comparing how these constructs change the communication process in IT efforts, we build a mutual understanding of how Lean and Agile affect your requirements discovery and analysis process.

Due to the extreme emphasis that many organizations place on User Stories, we offer an in-depth description of what they are, how to express them, and some guidelines in how to make sure they do their job well.

Chapter II: Story and Feature Discovery in Lean and Agile

introduces several tips, tricks, and techniques for getting User Stories or Features from Stakeholders. User Story Discovery or Requirements Elicitation help people recognize and express what they want from IT. This section will guide those responsible for leading the business community through the process of discovering their needs and wants.

Chapter III: Conversations Are the Core of Lean and Agile

exposes the problems with human communication and offers several ideas on how to resolve them. These techniques are invaluable for conducting effective conversations between developers and the business community. We also introduce listening techniques that will help you get more out of conversations. 

Chapter IV: Lean Business Analysis: User Stories and Features

explores the timing of analysis in a Lean and Agile environment using the Agile method “Scrum”. We explain “Just in Time (JIT)” and “Just in Case (JIC)” principles and how they improve communication by avoiding waste.

We also introduce several approaches for ensuring that your User Stories, Features, or other textual requirements are clear, correct, consistent, complete, unambiguous, verifiable, and at the level of detail that the developers need when they are ready to code. You will learn how to remove ambiguity and subjectivity from your User Stories and Features at the last responsible moment.

Finally, we define User Story Splitting approaches that ensure that each story is small enough for a developer to code during the current iteration while delivering value to the user community.

Chapter V: User Story Decomp / Feature Drill-Down

presents techniques that are excellent tools for increasing understanding at the lowest level of detail. This lean approach to User Story splitting helps developers and Product Owners better understand complicated and complex Stories. We show you how to extract solution-level Features (Functional, Data, and/or Quality Requirements) from User Stories, Features, and other requirement types.

Missing Quality Requirements (a.k.a. Non-functional - NFR) is a major cause of pain for developers. Due to the critical nature of Quality Requirements, we present common types that you need to define. In addition, we offer questions you should ask the business community throughout the development process.

Chapter VI: Lean Acceptance Testing: A User Perspective

explains the fundamental basis of Acceptance Test Driven Development (ATDD) and Behavior-driven Development (BDD) from the business or user viewpoint. This chapter shows how to express Acceptance Criteria in Gherkin Scenarios, Outlines and Examples using the Given-When-Then (GWT) format.

To assess the outcome of a User Story, you also need test data. To reduce waste and minimize the number of Scenarios or Examples, we will talk about Test Data Engineering methods.

Chapter VII: Lean Analysis Reveals Gherkin Scenarios

introduces techniques for identifying potential Scenarios from a wide variety of requirements types). Finding and writing the right Scenarios for Acceptance Testing is one of the more challenging tasks and is a significant percentage of the testing effort.

We show you several different techniques for identifying Scenarios based on a variety of sources, including User Stories, Features, Decision Tables, Problem Statements, Use Cases, and other artifacts. We will show you how to use the results of User Story Decomp (introduced in Chapter V.) to identify critical Scenarios.

Chapter VIII: Implementing Lean and Agile Practices

offers guidance on how to integrate these novel and game-changing ideas into your organization. Change is often painful and time-consuming and will only be successfully completed if the reward is high enough.

The transition from learning to doing is the crucial step in implementing a change and it is the one where many falter. The problem is most often simple insecurity. Without many years of practice doing something a certain way, we lack the confidence that the technique will succeed.

Bottom line, you will only reap the rewards of lean and agile philosophies if you implement them in your organization. That takes courage and conviction. We offer some ideas that will help.

About the Author

Tom and Angela Hathaway
Tom and Angela Hathaway

Tom has been in business analysis since long before it was called business analysis. He has over 30 years experience in the fields of information technology, methodologies, and business analysis. In his writings and lectures he strives for enlightening while entertaining. As a facilitator, he achieves results through inclusion and synergistic group-building. He has taught thousands of students business and systems analysis skills since the '80's and has facilitated hundreds of requirements discovery sessions under a variety of acronyms (JAD, ASAP, JADr, JRP, Requirements Discovery Session, User Story Workshop, etc). 

Angela and Tom Hathaway founded BA-EXPERTS in 2011. As a team, Angela and Tom have trained, consulted, mentored and coached thousands of business analysts around the world for organizations from small businesses to Fortune 100. Hundreds of current and past customers include TIAA-CREF (Financial), Cathay Pacific (Airline), Manitoba Telecom Services (Telecommunications), Starwood Hotels and Resorts (Hospitality), government agencies, and a myriad of organizations spanning all sizes and industries. Our training, consulting, and mentoring efforts have saved our customers around the world millions and can help your organization improve its business analysis practices.  

Table of Contents

CONTENTS

PREFACE

I. Requirements in a Lean and Agile World

   Agile and Lean Philosophies

     Agile and Scrum

     Lean and Kanban

     DevOps and Continuous Delivery: New Kids on the Block

     Testing in a Lean and Agile World

     WagiLeanFall or WaterKanScrumBanFall?

  Capturing Business Needs in Lean / Agile

     Traditional Software Requirements

     Agile or Lean Requirements Concepts

  User Stories Are Stakeholder Requirements

     The User Story Paradigm

     A Well-Formed User Story Template

     INVEST in Your User Stories

     User Stories Define the Business Need

II. Story and Feature Discovery in Lean and Agile

  Common Elicitation Techniques and Challenges

     Asking Questions

     Analyzing Documents

     Using Models and Examples

  Tracking Progress with a Question file

     What Is a Question File?

     Using the Question File

  Identifying Stakeholders

     Basic Stakeholder Discovery

     Using an Org Chart to Identify Internal Stakeholders

     Revisiting Types of Stakeholders

     Exercise: Stakeholder Identification

  Using Cynefin to Deal with Uncertainty

     Cynefin Is a Framework for Quantifying Uncertainty

     Simple Problems with Obvious Solutions

     Life Gets Complicated

     The Situation Becomes Complex

     How to Use Cynefin to Minimize Risk?

     Chaos Reigns Supreme

     Exercise: Cynefin Applied to Proposed Initiatives

  Finding Stories Using Business Problem Analysis

     Defining Business Problems

     Exercise: Defining Business Problems

     Problem Analysis Reveals User Stories, Epics, and Features

     Exercise: Lean Problem Symptom Reduction Applied

III. Conversations Are the Core of Lean and Agile

  Engaging with the Business Community

  Exercise: What Makes a Good Requirements Elicitor?

  Tips and Tricks for Effective Conversations

     Preparing and Planning

     Planning Productive Conversations

     Exercise: Comparing Types of Requirements Meetings

  User Story Conversations and Stakeholder Interactions

     Minimize Misunderstandings

     Nonverbal Communication

     Dealing with People

     Exercise: Problem People or People Problems

     Listening Techniques

     Prepare to End on a High Note

  Tips for Email and Chats

IV. Lean Business Analysis: User Stories & Features

  Timing of Analysis in a Typical Agile Lifecycle

     Just in Time (JIT) vs. Just in Case (JIC)

     Release Planning

     Sprint Planning

     Ongoing during Development

  Preparing User Stories for Release and Sprint Planning

     Who Needs Clarity, Anyway?

     What Are Ambiguity and Subjectivity?

     Revealing and Removing Ambiguity

     Ensuring a Common Understanding

     Exercise: Using Out-of-Box Thinking to Reduce Ambiguity

  5 Common User Story Splitting Techniques

     Splitting to Reduce Complexity

     Splitting Stories by Data Types

     Splitting Stories by Business Rules

     Splitting Based on Workflow or Events

     Splitting by Use Case Path

V. User Story Decomp / Feature Drill-down

  What Are Solution Requirements

  Finding Functional Features & Quality Requirements

     Capturing Functional Features

     Exercise: Functional Story Decomp

  Discovering Data

     Exercise: Data Decomposition

     Defining Data Accuracy and Algorithms

  Non-functional Requirements, Qualities & Constraints

     Types of Non-functional Requirements

     Splitting Stories with NFR’s

VI. Lean Acceptance Testing: A User Perspective

  ATDD/BDD Explained

   Acceptance Criteria as Given-When-Then Scenarios

     Scenarios

     Defining a Gherkin BACKGROUND

     Scenario Outlines

     Examples

     Exercise: Expressing Scenarios in GIVEN-WHEN-THEN (GWT) Format

  Engineering AGILE Test Data

     Minimizing Scenarios and Examples

     Exercise: Engineering Test Data

VII. Lean Analysis to Find Gherkin Test Scenarios

   From User Stories to Scenarios

     Step 1: Use the “WHY” in the User Story

     Step 2: Use the “WHAT” in the User Story

     Step 3: Use the Qualifiers in the User Story

  Business Rules Identify Scenarios

   Problems and Symptoms Are Great Test Scenarios

   From Use Cases to Scenarios

     What is a Use Case?

     Getting Positive and Negative Scenarios

     Exercise: Discovering Scenarios in Use Cases

  Find Scenarios Using Acquire, Abolish, Affirm, Avoid

  Functional Features Reveal Scenarios

  Scenarios for Non-functional or Quality Requirements

     Writing Scenarios for NFRs

     Exercise: Testing NFRs

VIII. Implementing Lean and Agile Practices

  About the Authors

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

80% Royalties. Earn $16 on a $20 book.

We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $13 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub