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
Developing Requirements with Use Cases
3 Days
Testing Techniques for Tracing and Validating Requirements
3 Days
Writing Effective Requirements
2 Days
Facilitation Techniques for Requirements Development
2 Days

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.

Schedule For This Course
There are currently no public sessions scheduled for this course. We can schedule a private class for your organization just a couple of weeks from now. Or we can let you know the next time we do schedule a public session.
Notify me the next time this course is confirmed!
Can't find the course you want?
Call us at 800.533.3893, or
email us at [email protected]