Eliciting and Managing Requirements for Successful Software Development

Course:   BAREQ
Duration:   3 Days
Level:   I
On our website at:   http://www.verhoef-training.com/courses/BAREQ.html
 
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.

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:

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.

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.