
User-Oriented
Practices for Software Quality



2 Days
Register for the Online Version
Take the Online Demo
Now,
more than ever before, more
responsibility is being placed on software users to define and validate
the systems they acquire. This three-day course presents two important
sides of user involvement in software projects: gathering and
documenting user requirements, and testing from the user perspective.
The
instructor for this course will be a
facilitator and designer of many user acceptance tests in a variety of
project settings.
This presentation is for anyone who needs to understand and apply solid
techniques for user-oriented activities on a project.
This is
a basic course in understanding
the process of gathering, defining, testing and managing user
requirements. On the final day, we will discuss how to plan, perform
and evaluate user acceptance testing.
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 and user
acceptance testing.
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. In
addition, you
will know how to plan a user acceptance test that can be used for a
variety of projects.
This
workshop 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 three-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 and user acceptance testing. You will also
learn about how to deal with some of the most common people problems in
user acceptance testing.
Return on
Investment
- 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.
Who Will Benefit
- Project
managers
- Business
analysts
- End-users
- System
designers
- Software
engineers and developers
- QA
analysts
- Test
analysts
- Testers
The
program requires
only basic IT knowledge or experience. Technical documentation
knowledge or experience is not a pre-requisite.
Program Information
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.
Content and
Structure
Topics
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
- Five
Step Process
- Step 1 – Define the Problem to be Solved
- Step 2 – Understand the Root Causes
- 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 3 - Identify the Affected People
- Step 4 – Define the Scope of the Solution
- Step 5 – Identify Solution Constraints
- Modeling Techniques
- Business Modeling
- UML
- System Modeling
- E-R Diagrams
- Process Flows
- Data Models
- Problem
Solving Exercise
Module
3 - Techniques for Getting the User Perspective
- Getting
the Right People
- Questions to identify the right people
- Who is a Customer?
- Who is a User?
- A Short Process for Getting the Right People
- Interview
Techniques
- Preparing
for the Workshop
- Marketing the meeting
- Responsibilities of the Facilitator
- Sample Agenda
- Conducting the Session - Things to Pay Attention To
- Brainstorming Process
- Storyboards
- Types of Storyboards
- Tools for Storyboarding
- Helpful Hints for Storyboarding
- Use
Cases
- Use Case Components
- Use Case Model
- Sample Use Case
- JAD
Sessions
- Role
Playing
- Prototyping
- Types of Prototypes
- The Prototyping Cycle
- Dealing With Conflicts
- 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
- Tools
Used for Defining Requirements
- Defining
the Problem to be Solved
- Statement of Work
- Constraints
- Risk Analysis
- Types of Prototypes
- Use Cases
- Use Case Components
- Four Phases of Use Cases
- Facade -
Outline and high-level description
- Filled -
Broadening and deepening
- Focused
- Narrowing and pruning
- Finished
- Touching up and fine tuning
- Process for Writing Use Cases
- Business Rule Catalog
- Five Types of Business Rules
- Technical
Methods for Defining Requirements
- Decision Trees
- Flowcharts
- Entity-Relationship (E-R) Diagrams
- Object-oriented models
- Data Flow diagrams (DFDs)
- Finite-state Machines
- State-Transition Diagram
- Tools
for Documenting Requirements
- Books
that Discuss Modeling and Requirements
Module
5 - Requirements Management
- Scope
Management
- Managing
Expectations - Understanding Tradeoffs
- Tips
for Managing Expectations
- Nine
Steps to Conflict Resolution
- Refinement
of Requirements
- Requirements
vs. Design
- Change
Control
- 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
- Case
Study – Changing a Requirement
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
- Requirements-Based
Test Conditions
- Adding
Traceability
- Tools
for Test Case Design from Requirements
- Exercise
– Define Test Cases from a
Requirement
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
Module
8 - User Acceptance Testing
- What
is User Acceptance Testing?
- Methods
of User Acceptance Testing
- The
User's Role in Testing
- An
Overview of the User Acceptance Testing Process
- Working
Definitions
- The
User Acceptance Test Planning Process
- Setting
UAT Objectives
- Organizing
the UAT Team
- What
to Look For in Testers
- Defining
Acceptance Criteria
- Developing
Test Scenarios
- Developing
UAT Scripts
- Developing
Business Cases
- Defining
Functional Test Cases
- Building
a Test Cycle Matrix
- What
is a Test Cycle
- Why
Use Test Cycles?
- Building
a Test/Function Matrix
- Estimating
UAT Time and Resources
- UAT
Materials
- Finalizing
the Test Plan
- Execute
User Acceptance Tests
- Selecting
Test Tools
- Training
Team Members
- Manual
vs. Automated Methods of UAT
- Tracking
UAT Process
- The
Role of Regression Testing in UAT
- Documenting
UAT Results
- UAT
Pitfalls to Avoid
- Managing
Attitudes and Conflict
- Addressing
User Attitudes
- Addressing
Developer Attitudes
- Addressing
Management Attitudes
- Recording
Defects
- Writing
the UAT Final Report
Module
9 - People Issues in UAT
- The
Role of Testing in a Project
- Working with
Developers
- Working with Users
- Keeping Management
Informed of Progress
- Managing Expectations
- What Can a Tester
Reasonably Assess or Recommend?
Resources
- Checklists
and Templates
- Glossary
- Bibliography
Deliverables
- Course
notebook with slides, worksheets, checklists, complete examples and
supporting text
- You will have the basic information needed to
gather and define good requirements, and plan and execute an effective
test of a software application.
All
materials on this site
copyright 1996 - 2009, Rice Consulting Services, Inc.
Rice
Consulting Services, Inc.
P.O. Box 892003
Oklahoma City, OK 73189
405-691-8075