Eliciting and Managing Requirements for Successful Software Development
Course: BAREQ
Duration: 3 Days
Level: I
Course Summary
Have your software projects been suffering from the age-old
development problems of slipped schedules and ballooning
budgets? Has your development organization experienced
a variety of failed and canceled projects? Why do requirements
errors cost more to correct than any other class of error?
How can you best deal with requirements which the user
can express only in vague terms?
It is estimated that 85 percent of the defects in developed
software originate in the requirements. Once defects are
embedded in the requirements, they tend to resist removal.
They are especially difficult to find via testing. Therefore
it is crucial that training be required for requirements
analysts and engineers that explains how to reduce the
common types of requirements errors, including incorrect
assumptions (49 percent), omitted requirements (29 percent),
inconsistent requirements (13 percent), and ambiguities
(5 percent).
Defining a clear set of customer requirements is an essential
and important first step to successful software projects.
This workshop will provide participants with industry
proven methods for successfully identifying, analyzing,
specifying and documenting better user requirements for
software projects.
Requirements gathering is the cornerstone of any software
development project. Failing to obtain proper user and
system requirements can result in an ineffective software
project burdened by increased costs. In addition, many
requirement documents fail to capture the non-functional
requirements, the "ilities" that also lead to poor system
acceptance
In this course, you gain the knowledge and skills needed
to capture software requirements using clearly defined
processes. You learn to specify user and system requirements,
match the process to the size of your project and apply
quality and consistency tests to the requirements model.
This program is for anyone who participates in, or leads
teams involved in developing the business requirements.
Participants learn how to create Business Case and Business
Requirements documents. These deliverables will identify
what the project will do (and for whom) and what it will
not do (also known as in-scope and out of scope.) This
information is also needed by the Business Sponsors to
decide whether or not the project should proceed to the
next step, frequently known as the Functional Specifications.
The workshop follows and reinforces the IIBA BABOK (Business
Analysis Body of Knowledge), and the PMI (Project Management
Institute) Project Scope Management and other related
Knowledge Areas.
« Hide The Details
Topics Covered In This Course
The Importance Of Software Requirements And The Software
Development Life Cycle
- Defining and differentiating between requirement types
- Locating requirement sources
- Development approaches
Project Life Cycle
IIBA Body of Knowledge Relationships
What are Requirements?
- Types of Requirements
- Business
- Functional
- User
- Quality of Service
Enterprise Analysis
- The Business Case
- The Strategic Plan
- PMI's Planning Process
- Requirements Planning and Management
- Stakeholders
- Key Stakeholder Roles
- Sponsor
- The Requirements Team
- Project Scope
- Mission
- Critical Success Factors
- Objectives
- Constraints
- Risks
- Assumptions
Analyzing Stakeholder Input
- Identifying and prioritizing stakeholders
- Eliciting initial requirements from input documents
- Iterating requirements collaboratively
Applying the Requirements Process
- Elicitation
- Analysis
- Specification
- Validation
Requirements Elicitation
- The Elicitation Process
- Elicitation Methods
- Brainstorming
- Document Analysis
- Focus Group
- Interface Analysis
- Interview
- Observation
- Prototyping
- Requirements Workshop
- Reverse Engineering
- Survey / Questionnaire (Marketing surveys (paper, phone,
email, web)
Facilitation Skills for Business Analysts in Requirements
Definition Scenarios
- Effectively obtaining comprehensive, correct requirements
from the various stakeholders requires a number of skills,
including the ability to effectively ask questions, lead
and manage groups, resolve conflicts, and achieve consensus
from people with diverse interests.
Forming questions
- Wording and asking questions effectively
- Organization techniques for your questions
Requirements Analysis and Documentation
- Define Documentation and Target Audience
- Model Building
- Model Refinement
- Model Types
- "Swim Lanes"
- The Framework for Determining the Required Functionality
- Determining the Current or "As-Is State"
- Identification of Disconnects/Problem and Opportunity Areas
- Cause and Effect Analysis (Ishikawa / Fishbone Diagram)
- Gap Analysis
- Performance Metrics
The Use Case modeling approach to developing software requirements
- So what's a use case?
- How Use Case models help address common requirements definition
problems
- Components of a use case model
- Why use case models work so well
- Sample use cases
- Critical success factors in applying the use case modeling
technique
- How to apply a step-by-step approach to develop use cases
Creating Use Cases
- Diagramming scenarios with UML
- Use cases as behavioral requirements
- Identifying stakeholders and actors
- Naming and scoping use cases
- Writing scenarios
- Adding preconditions and guarantees
Iterating Use Cases
- Refining use cases with stakeholders
- Factoring common steps
- Discovering extension scenarios
- Verifying use case completeness
Producing Interface Models
- Storyboarding and prototyping
- Modeling interfaces with UML state diagrams and navigation
maps
Data and Non-Functional Requirements
- Representing data models with UML class diagrams
- Documenting non-functional requirements
- Addressing the "-ilities"
Generating use case tests from requirements
- Ensuring testability of requirements
- Extrapolating test scripts and test scenarios from requirements
- Relating requirements to system and UA testing
Performing requirements validation
- Achieving well-formed requirements through validation
- Reviewing requirements with walkthroughs
- Verifying requirements with inspections
Step-by-Step Guide to Performing Requirements Inspections
- How to perform requirements inspections
- Establishing entry/exit criteria
- How much time should be spent
- Using inspection checklists
- Who should participate
- Determining the outcome of an inspection
- Using inspection data for process improvement
Requirements Management
- Establishing and maintaining a common understanding of customer
software requirements is an essential element in software
project success.
- What are the core components of an effective requirements
management process
Managing Changing Requirements
- Developing a process for managing requirements
- Negotiating changes using a Change Control Board (CCB)
- Confirming requirements through a traceability matrix
What You Can Expect
At the end of this course, participants will be able to:
- Develop the project vision and scope
- Understand the concepts of Business Case, Enterprise Analysis,
and Business Requirements and Place them within the Project
Life Cycle
- Use the BABOK as a job aide when fulfilling the business
analysis role
- Apply a framework and for producing Business Requirements
for new and/or improved products, services, and processes
- Identify the potential stakeholders and roles needed within
the business and the business requirements project environment
- Work with sponsors to develop the Project's Mission, Scope
and "Critical Success Factors"
- Understand and apply several tools for creating Business
Requirements, e.g. elicitation methods cross-functional
process mapping, use cases, cost benefit analysis, ROI,
etc.;
- Develop software requirements using proven methodologies
- Develop a requirements data model
- Capture and categorize the non-functional requirements
- Validate requirements and generate use case tests
- Identify categories of stakeholders to work with on project
requirements
- Select among alternate methods for gathering requirements
- Identify user requirements
- Help the customer prioritize requirements
- Define unambiguous requirements
- Write clearer requirements
- Elicit and organize requirements information to set and
manage stakeholder expectations
- Select an appropriate development life cycle for your project
- Devise a method to trace the requirements through the entire
project life cycle
- Prepare to effectively elicit, analyze, document, review,
and manage requirements
- Determine appropriate modeling techniques to use
- Document business requirements using effective technical
writing techniques
- Create requirements statements that meet the characteristics
of sound requirements
- User Requirements Document (URD) Creation
- Apply techniques to thoroughly validate, confirm and manage
project requirements through visualization techniques
- Understand the use of the UML and determine what are the
components of a use case model
- Document the requirements with use case techniques
- Enhance and refine use cases using an iterative approach
- Determine how to incorporate use case modeling into the
project life cycle
- Draft requirements in an agile environment with user stories
and scenarios
- Review user requirements
- Model realistic business scenarios
Who Should Take This Course
This workshop is intended for project managers, project
team members, software managers, business and systems
analysts, quality assurance analysts, developers, and
consultants, and other software professionals who are
or will be involved in specifying requirements for software
systems and who want to learn how to successfully incorporate
use case modeling and other methodologies into the requirements
definition process.
This seminar is intended for anyone involved in managing
or undertaking software development projects. No level
of technical expertise is required for this course.
Recommended Prerequisites
There are no specific prerequisites for this workshop.
Training Style
Instructor-led, group-paced, classroom-delivery learning
model with structured hands-on activities and case studies.
The seminar can be tailored to your specific needs. Actual
organization examples may be used throughout the presentation
as examples or the instructor will use generic examples.
In addition, we further customize by going through the course
agenda with you and have you tell us which items you want
stressed and emphasized. There is no extra charge for
this customization.
« Hide The Details
Related Courses
Code |
Course Title |
Duration |
Level |
|
REQUSE |
Developing Requirements with Use Cases |
3 Days |
I |
Details |
TTVREQ |
Testing Techniques for Tracing and Validating Requirements |
3 Days |
I |
Details |
WEREQ |
Writing Effective Requirements |
2 Days |
I |
Details |
RQFAC |
Facilitation Techniques for Requirements Development |
2 Days |
II |
Details |
Every student attending a Verhoef Training class will receive
a certificate good for $100 toward their next public class taken
within a year.
You can also buy "Verhoef Vouchers" to get a discounted rate for a
single student in any of our public or web-based classes.
Contact your account manager or our sales office for details.