"I thought the speaker was very knowledgeable and informative. He was very personable and approachable. He kept it interesting and us involved." - Kristy Smith
"Randy had a good and effective teaching style. He explained the material clearly and in an organized manner, which made learning and understanding easy." - Linda Rodriguez
Do you find yourself challenged by user requirements? Perhaps you understand the important of good user requirements for software development and testing, but other people in your organization need to be exposed to best practices for user requirements. If so, this is the course for you!
This is a basic course in understanding the process of gathering, defining, testing and managing user requirements. You will learn the requirements process from start to ongoing maintenance.
This course is ideal for people who are just learning about the importance of user requirements, or for those who need a defined process for requirements management.
This is a practical interactive seminar which uses team exercises to reinforce the process taught in the class. Your instructor will be a certified instructor in the software engineering field. You will learn the terminology, process, and challenges of requirements management in the real world. As a result of attending this seminar, you should have a good working knowledge of user requirements and what it takes to gather, design, test and manage a complete set of user requirements for a project.
Gathering, Defining and Testing User Requirements will help you become more comfortable and confident in performing the requirements management process in just about any role on the project, including business analyst, user, system designer, project manager, QA analyst or tester.
You will emerge from this two-day session knowing how to define the right problem, talk to the right people, document the right needs, build the right system, and test the system using a defined baseline of requirements as the target. You will also leave with a knowledge of how tools can help you perform requirements management.
- Learn how to define and solve the right problem and avoid spending tons of money building the wrong system.
- Learn how to find problems in requirements before they ripple through the rest of the project, where they are much more costly to fix.
- Understand the key issues in gathering and defining user requirements.
- Learn how to design tests that adequately cover requirements and business events.
- Get the most out of your existing investment in user requirements and use cases and how to leverage that investment.
- Advance your career by reinforcing your software engineering expertise.
- Project managers
- Business analysts
- System designers
- Software engineers and developers
- QA analysts
- Test analysts
This course requires only basic IT knowledge or experience. Technical documentation knowledge or experience is not a pre-requisite.
This course is presented on an in-house basis only unless offered as a special public course. Contact us for information about how to bring this course into your organization.
Module 1 - Exploring Requirements
- What is Development?
- What is the Requirements Process?
- What Is A Requirement?
- What a Requirement Isn't
- What is Requirements Management?
- The Overall Objective
- Why We Aren't Very Good At Requirements
- Problems With Requirements
- Why Are Requirements Important?
- Where Defects Originate
- Where Testing Resources are Used
- The Relative Cost of Fixing Defects
- Case Study - Defining A Simple Requirement
- Assessing the Requirements Process in Your Organization
- Making Sense of Your Score
Module 2 - Problem Analysis
- Step 1 - Define the Problem to be Solved
- Step 2 - Understand the Root CausesStep 3 - Identify the Affected People
- Root Cause Analysis
- Fishbone Chart
- How to Describe the Root Causes of a Problem
- Context-free Questions
- How Can Context-free Questions be Used?
- The Sources of False Assumptions
- Step 4 - Define the Scope of the Solution
- Step 5 - Identify Solution Constraints
- Modeling Techniques
- Business Modeling
- System Modeling
- E-R Diagrams
- Process Flows
- Data Models
- Modeling Techniques
Module 3 - Techniques for Getting the User Perspective
- Getting the Right People
- Interview Techniques
- Defining Needs and Features
- Guidelines on Scope and Abstraction
- Preparing for the WorkshopBrainstorming Process
- Marketing the meeting
- Responsibilities of the Facilitator
- Sample Agenda
- Conducting the Session - Things to Pay Attention To
- Exercise - Brainstorming a Requirement Definition
- Tools for Storyboarding
- Helpful Hints for Storyboarding
- Use CasesJAD Sessions
- Use Case Components
- Use Case Model
- Sample Use Case
- Role Playing
- How to Role Play
- PrototypingDealing With Conflicts
- Types of Prototypes
- The Prototyping Cycle
- Exercise - Role Playing to Develop a Requirement Definition
Module 4 - Documenting Requirements
- IEEE/ANSI SRS Standard Document
- Major Topics that Should be Addressed in Requirements
- Desirable Attributes of Requirements
- Categories of Specification Statements
- Sizing of Requirements
- Testable requirements
- Readability of Requirements
- Common Problems with Requirements
- Techniques Used for Defining Requirements
- Defining the Problem to be Solved
- Statement of Work
- Risk Analysis
- Types of Prototypes
- Use Cases
- Use Case Components
- Four Phases of Use Cases
- Process for Writing Use Cases
- Business Rule Catalog
- Five Types of Business Rules
- Technical Methods for Defining RequirementsTools for Documenting Requirements
- Decision Trees
- Entity-Relationship (E-R) Diagrams
- Object-oriented models
- Data Flow diagrams (DFDs)
- Finite-state Machines
- State-Transition Diagram
- Books that Discuss Modeling and Requirements
Module 5 - Requirements Management
- Scope ManagementRequirements vs. Design
- Managing Expectations - Understanding Tradeoffs
- Tips for Managing Expectations
- Nine Steps to Conflict Resolution
- Refinement of Requirements
- Change ControlCase Study - Changing a Requirement
- Where Does Change Come From?
- Three Ways to Deal With Change
- How to Control Change
- Change Control Process
- Tools for Change Control and Requirements Management
Module 6 - Testing Requirements
- Ten Quality Measures
- Verification Methods
- Ambiguity Walkthroughs and Reviews
- Technical Reviews
- Why perform early verification?
- Exercise - Perform an Ambiguity Review
- Developing Test Cases from Requirements
- Exercise - Define Test Cases from a Requirement
- Requirements-Based Test Conditions
- Adding Traceability
- Tools for Test Case Design from Requirements
Module 7 - Dealing With Problems in the Requirements Process
- Scope Creep Solutions
- Excessive Change Solutions
- How to Get Cultural Acceptance of Requirements
- How to Start
- How to Start Earlier
- When to Stop
- Checklists and Templates
- Course notebook with slides, worksheets, checklists, complete examples and supporting text
- You will have the basic information needed to gather, document and test user requirements.