Getting And Writing It Requirements In A Lean Agile World

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

Last updated 2022-01-10 | 4.5

- 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 environments
- Support Lean or Agile teams by expressing business needs and wants in formats that optimally support all modern Software Development Methodologies (SDM)

What you'll learn

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 environments
Support Lean or Agile teams by expressing business needs and wants in formats that optimally support all modern Software Development Methodologies (SDM)
Reduce the time wasted on miscommunication between stakeholders of IT projects by recognizing and removing terms and phrases that can be easily misinterpreted
Drill-down into requirements
features
user stories
and functions to identify and express test scenarios in G-W-T statements to facilitate automated testing
Identify 17 types of Non-Functional Requirements (NFR) and develop Given-When-Then (GWT) test scenarios for them
Leverage the learning curve to incorporate the presented techniques into your job

* Requirements

* No technical background required
* Interest in the field of business analysis
* No additional materials are required
* The course has no prerequisites

Description

Meeting the Agile, Lean, and DevOps Requirements Challenge

Problem solvers are in demand in every organization, large and small, from a Mom and Pop shop to the federal government. Increase your value to yourself and to your group or organization by improving your ability to extract, express, and analyze business needs in formats that are supported by Agile, Lean, and DevOps philosophies.

The single 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

In this course, you will learn 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 express those needs in user story format, as features or requirement statements, and ultimately as Given-When-Then structures. This is the language that allows developers to deliver the IT solutions the organization needs.   

This exercise-rich, interactive requirements discovery workshop 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 solution providers need to deliver the right information technology solutions for the business.

Who this course is for:

  • Anyone wanting to learn how to communicate business needs and wants to Agile or Lean software development teams
  • Practicing business analysts, product owners, project leaders, and product managers who want to learn more about how lean and agile approaches affect their business analysis processes

Course content

8 sections • 57 lectures

Course Description and Learning Objectives Preview 03:47

This introductory section gives viewers a sense of how the class works, and what they will learn in this course. Students will also gain a feel for how the instructor presents the material to see if it matches their preferred learning style.

About Your Instructor Preview 01:23

This section introduces Tom and Angela Hathaway, the instructor and course developers. Learn why they are uniquely qualified to present this material.

Agile and Lean Philosophies Preview 09:13

The Agile Manifesto and Lean Manufacturing Principles have changed the IT landscape. This lecture provides a basic understanding of what these are and why they are important.

Communicating Business Needs in Lean and Agile Environments Preview 14:07

Over the past 70 odd years, every study of IT project failures has identified missing and misunderstood requirements as the major contributor. This section explains how Agile and Lean philosophies attempt to solve this seemingly intractable problem.

Using Cynefin to Prioritize and Analyze Features, User Stories, and Requirements Preview 10:35

Cynefin is a concrete, simple yet powerful weapon in your arsenal identifying and dealing with IT project issues. It has proven to be effective in many different settings. You will find it useful in determining which projects are more likely to succeed before you spend a ton of resources. It is also a valuable tool for assessing and prioritizing individual Features, User Stories, and literally any form of expressing a business need.

Cynefin Applied to Proposed Initiatives

This exercise will help you use the Cynefin framework to recognize risks associated with an initiative. It will also guide you to select a best-of-breed strategy based on your answer.

Analysis in Lean and Agile Environments Preview 12:21

When do you perform critical business analysis activities in Lean and Agile approaches and what level of detail do the activities need to achieve?

Common Elicitation Techniques and Challenges Preview 07:49

Eliciting requirements includes the simple process of asking questions but that is just the tip of the iceberg.

Tracking Progress with a Question file Preview 05:20

The simple act of creating and maintaining an open Question File from the beginning of the project through to the end keeps you abreast of your analysis progress and provides a detailed project history. This is the ideal format for a lessons-learned evaluation.

What Makes a Good Requirements Elicitor?

This exercise is designed to give you time to contemplate what characteristics or attributes you can name that would qualify anyone to be good at drawing out other people.

Tips and Tricks for Effective Conversations Preview 09:28

There are 5 fundamental approaches for eliciting requirements and each has its own pros and cons. In addition, each requires some level of planning, performing, and publishing.

Comparing Types of Requirements Elicitation Meetings

This exercise gives you an opportunity to contemplate the pros and cons of the 5 most commonly used business need discovery approaches.

Identifying and Interacting with Stakeholders Preview 09:22

Stakeholder identification is one of the more critical early project activities. Missing critical stakeholders early in the project always leads to missed delivery dates or failed projects.

Stakeholder Identification

This exercise gives you an opportunity to test your ability to identify initial project stakeholders based on a vision statement.

Agile Requirements: Tips for Stakeholder Interactions / User Story Conversations Preview 11:14

Although you have been communicating with other people since before you learned how to talk, finding the right tone and content of a requirements elicitation conversation can still be challenging.

Non-Verbal Communication Preview 05:47

The core idea of non-verbal communication sound trivial, but experience teaches us that words not spoken often contribute more to accurate understanding than everything the person says.

Dealing with People Preview 07:06

A comedian once quipped, "Earth would be such a lovely planet if it weren't for all the people." Whether you agree with that comment or not, it obviously is not a great attitude for anyone trying to elicit requirements. We all have issues with certain behaviors of other people, in particular when we are trying to achieve a specific outcome from our interaction. The good news is that there are ways of dealing with every behavior, if you only have time to think about them and plan ahead.

Problem People or People Problems?

Sharing ideas how to deal with difficult situations will give you an advantage when you are in the moment.

Listening Techniques Preview 12:01

Listening is an art, no doubt. When you are trying to elicit requirements, you need to apply powerful listening techniques to ensure that you get the right information out of the conversation.

Listening Techniques Applied

This exercise gives you the opportunity to test your ability to extrapolate requirements and user stories from a spoken vision statement. This vision statement is not the same one as the case study, so you will have to listen carefully.

Success Criteria for Effective Communication Preview 07:16

There are seven critical criteria for conducting effective requirements gathering conversations.

Business Problem Definition Preview 03:59

Before you can start to discuss solutions, you should make sure that you are looking to solve the right problem. This simple problem analysis approach will start you down the right path.

Defining Business Problems

Problem identification is not rocket science, but it can be a bit tricky. This exercise gives you an opportunity to test your problem identification skills

Problem Analysis Uncovers Requirements and Features Preview 04:50

Once you have a list of potential problems, the challenge becomes how to reduce the list to the essential or "real" problems and separate out solutions or symptoms. 

Aristotelian Problem Symptom Reduction Applied

This exercise gives you an opportunity to try your hand on distinguishing symptoms from problems and ultimately identifying the "real" problems.

User Stories Are Stakeholder Requirements Preview 07:42

The simple construct called a "User Story" is one of the best modes for expressing stakeholder requirements.

Reducing Complexity Increases Comprehension Preview 05:00

There is immense power in simplicity. Expressing your requirements in simple, single, complete sentences will dramatically increase the number of people who understand what it really means. A good User Story is not a Victorian novel but a trigger for a conversation.

First-cut User Stories

This exercise allows you to write your own role-focused and goal-focused user stories.

User Stories Deliver Business Value Preview 09:13

Unless the agile team knows what value a user story delivers, they have no way of determining its relative importance.

Relevance of Features, Requirements, and User Stories Preview 03:27

Given that projects are restricted by budgets, you should ensure that every request is relevant, meaning in scope, for your project before you spend time delving into details of the request. Your first question should always be, "How does this request contribute to meeting the goal of the project?"

Misunderstandings Kill Projects Preview 06:54

Recognize how ambiguity and subjectivity in requirement statements, user stories, features, etc. impede achieving a common understanding among all audience members.

Causes of Requirements Ambiguity Preview 05:57

Identify four common contributors to ambiguity that cause misunderstandings.

Commonly Used Terms Can Be Ambiguous

This simple technique will help you identify and replace ambiguous common terms in your requirement statements, user stories, and features.

Revealing and Removing Ambiguity Preview 07:58

Ensuring a Common Understanding Preview 07:34

Use desk checking, peer reviews, and peer rephrasing to discover hidden ambiguity and subjectivity

More Ambiguity Reduction Techniques Preview 04:41

Evaluate who is best suited to critique and revise your requirements, user stories, etc.

Using Out-of-Box Thinking to Reduce Ambiguity

This exercise gives you the opportunity to try the revisionist technique to identify and remove ambiguity in your user stories, requirement statements, features, and test scenarios.

Test Scenarios Are the Ultimate Requirements Preview 08:49

In spite of impressions, testing is the most time-consuming activity in the process of delivering IT applications. Unit, Integration/system, and acceptance testing consume about 45% of the total development time. This lecture introduces test-driven development techniques for improving the efficiency of the testing process.

What Are Scenarios and Outlines Using (Gherkin) Given-When-Then Format Preview 05:40

Modern test-driven development approaches rely on test scenarios expressed in the language of Gherkin which relies on Given-When-Then (G-W-T) structures. This lecture provides a basic explanation of the meaning of G-W-T steps.

Expressing Scenarios in Given-When-Then Format

Gherkin is a language that automated testing tools such as Cucumber understand and can execute. Expressing tests in Given-When-Then format requires a somewhat different way of thinking.

Engineering AGILE Test Data Preview 07:30

Test data engineering uses equivalence classes, boundary values, and probable error to limit the number of tests required to achieve confidence that the application works as intended.

Engineering Test Data

This exercise tests your ability to apply equivalence classes, boundary values, and probable error to engineer your test data.

Decision Tables Identify Scenarios Preview 06:04

Decision tables are a reliable analysis tool for ensuring that an application behaves as intended in all possible situations.  A bonus is that the decision table leads directly into test scenarios.

Using Decision Tables for Test Scenario Identification

In this exercise, you will be challenged to identify test scenarios based on a decision table.

Symptoms Are Great Test Scenarios Preview 03:28

Assuming you are able to perform basic problem analysis to distinguish symptoms from problems, the symptoms provide a treasure test of test scenarios for acceptance testing.

From Use Cases to Test Scenarios Preview 06:42

Commonly considered a development or analysis tool, use cases lay the groundwork for testing as well.

Discovering Tests Scenarios Using a Use Case

If you have a use case description, you can easily identify test scenarios as this simple exercise shows.

More Test Scenario Identification Techniques Preview 08:22

This lesson introduces 2 additional, lesser-known methods for identifying test scenarios that other approaches miss.

Functional Solution Requirements Reveal Scenarios Preview 06:16

Identifying the functions that the application must support or that people need to use the application leads inexorably to test scenarios for unit, integration/system, and ultimately acceptance testing.

Functional Decomposition

Learn how to extract functions from a user story, statement, epic, feature, or any other form of requirement.

Identify Given-When-Then (Gherkin) Scenarios From Functional Requirements Preview 04:42

Once you have identified the functions the application performs, you need to consider what data each function needs and what data it creates to fine-tune your test scenarios.

Informational Decomposition

Practice identifying data based on a list of functions.

Common Categories and Characteristics of NFR Preview 11:46

Non-Functional Requirements (NFR) are often the cause of IT project failure. It is not enough to know the application does what it should do. The question is does it do it well enough, fast enough, often enough? Learn the most common types of NFR that are often neglected.

Discovering Non-Functional Requirements Preview 07:39

Asking the right questions early in the process is key to determining which Non-Functional Requirements your project has to meet.

Identifying Given-When-Then (GWT) test scenarios for Non-functional Requirements Preview 05:56

Discover why constraints form a special category of Non-Functional Requirements and are the most challenging to test.

Testing Non-Functional Requirements (NFR)

Create Given-When-Then scenarios for testing that Non-Functional Requirements will be met by the application.