EC: Getting and Writing IT Requirements in a Lean and Agile World
Learn Business Analysis Techniques for Discovering Requirements, User Stories, Features, and Gherkin (Given-When-Then) Tests
Duration: 4.5 hours lecture plus 19 exercises
Format: Online course
Author: Tom and Angela Hathaway
What is this course about?
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 Cases and Test Scenarios (Gherkin – Given/When/Then)
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 should take this course?
- Product Owners
- Business Analysts
- Requirements Engineers
- Business- and Customer-side Team Members
- Agile Team Members
- Subject Matter Experts (SME)
- Project Leaders and Managers
- Systems Analysts and Designers
- AND “anyone wearing the business analysis hat”, meaning anyone responsible for defining a future IT solution
What Can You Do After the Course?
You will learn how to:
- 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)
- Drill-down into requirements, features, user stories, and functions to identify and express test scenarios in Given-When-Then 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
Detailed Course Outline
Introduction to the Course
- Course Description and Learning Objectives
- Instructor Bio
Requirements in a Lean and Agile World
- Agile and Lean Philosophies
- Communicating Business Needs in Lean and Agile Environments
- Cynefin A Framework for Quantifying Uncertainty
- Exercise: Cynefin Applied to Proposed Initiatives
- Analysis in Lean and Agile Environments
Requirements Discovery for Agile and Lean IT Projects
- Common Elicitation Techniques and Challenges
- Tracking Progress with a Question file
- Exercise: What Makes a Good Requirements Elicitor?
- Tips and Tricks for Effective Conversations
- Exercise: Comparing Types of Requirements Elicitation Meetings
- Identifying and Interacting with Stakeholders
- Exercise: Stakeholder Identification
- Conducting the Conversation
- Non-Verbal Communication
- Dealing with People
- Exercise: Problem People or People Problems?
- Listening Techniques
- Exercise: Listening Techniques Applied
- Success Criteria for Effective Communication
- Business Problem Definition
- Exercise: Defining Business Problems
- Problem Analysis Uncovers Requirements and Features
- Exercise: Aristotlean Problem Symptom Reduction Applied
Writing Business and Stakeholder Features and Requirements
- User Stories Are Stakeholder Requirements
- Reducing Complexity Increases Comprehension
- Exercise: First-cut User Stories
- User Stories Deliver Business Value
- Relevance of Features, Requirements, and User Stories
Avoiding Ambiguity and Subjectivity
- Misunderstandings Kill Projects
- Causes of Requirements Ambiguity
- Exercise: Commonly Used Terms Can Be Ambiguous
- Revealing and Removing Ambiguity
- Ensuring a Common Understanding
- More Ambiguity Reduction Techniques
- Exercise: Using Out-of-Box Thinking to Reduce Ambiguity
Finding Test Scenarios in a LEAN, AGILE World
- Test Scenarios Are the Ultimate Requirements
- Writing Test Scenarios in Given-When-Then (GWT)
- Exercise: Expressing Scenarios in Given-When-Then Format
- Engineering AGILE Test Data
- Exercise: Engineering Test Data
- Decision Tables Identify Scenarios
- Exercise: Using Decision Tables for Test Scenario Identification
- Symptoms Are Great Test Scenarios
- From Use Cases to Test Scenarios
- Exercise: Discovering Tests Scenarios Using a Use Case
- More Test Scenario Identification Techniques
- Functional Solution Requirements Reveal Scenarios
- Exercise: Functional Decomposition
- Data Defines Test Scenarios
- Exercise: Informational Decomposition
Dealing with Non-Functional Requirements (NFR)
- Common Categories and Characteristics of NFR
- Discovering Non-Functional Requirements
- Recognizing Constraints
- Exercise: Testing Non-Functional Requirements (NFR)
From Showtime to Go Time!
- Bonus Lecture Where Do You Go From Here?