1 day

Lack of understanding what the customer desires in a project and not being able to document those desires is a major cause of project failure. We know this, but many people still struggle with writing good software requirements. 

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 as described in IEEE Standard 830-1998 - Guidelines for Software Requirements Specifications. You will learn what comprises a quality, testable requirement.

This course is ideal for people who are just learning about the importance of user requirements, or for those who need a defined process and format for requirements management.

This is a practical interactive workshop 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. From this workshop, you will leave with a practical understanding of IEEE Standard 830-1998 and how to tailor and apply it to your projects.

Return on Investment

  • Learn best practices in software engineering
  • Learn how to define quality software requirements specifications in your projects
  • Learn how to manage requirements in times of change
  • Understand the key issues in applying the standard
  • Learn how to tailor the standard to fit your own needs
  • Quit reinventing the wheel and use proven approaches that have already been fully described for you
  • Advance your career by reinforcing your knowledge of standards.

Who Will Benefit

  • Business analysts
  • System architects
  • Project managers
  • Software engineers
  • Testers
  • Test managers
  • QA analysts


  • The program requires IT knowledge or experience.

  • You will need to have a copy of the applicable IEEE Standards for your reference.

  • The courses may be completed in any order.

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

Module STDA - Introducing the IEEE Standards

  • Course Objectives
  • What is Systems Engineering?
  • What is Software Systems Engineering?
  • Why Should We Use Standards?
  • Basic Principles for Standards
  • ISO Compared to IEEE
  • How Standards are Developed
  • Organization of the SESC Standards
  • Clauses
  • Normative vs. Informative
  • What Is in a Standard?
  • What Is Not in a Standard?
  • Where Standards Can Be Obtained?
  • How to Tailor and Apply Standards
  • Final Thoughts
  • Other Resources

Module STDL - Foundational Concepts and Gathering of Requirements

  • IEEE 830-1998 Goals
  • The Structure of IEEE Standard 830-1998
  • Scope of the Practice
  • Why Are Requirements Important?
  • Benefits of Good Requirements
  • What is Development? 
  • What is a Requirement?
  • What is an SRS?
  • What a Requirement Isn't
  • Initial Requirements vs. SRS
  • Who Writes the SRS?
  • Types of Requirements
  • What is the Requirements Process?
  • A Process for SRS Development
  • Assessing Your Core Testing Competencies in Requirements Management
  • Getting the Right People
  • Who is a Customer?
  • Who is a User?
  • Who is a Supplier?
  • What is a Contract?
  • Interviewing TechniquesBrainstorming
    • How Communication Gaps Happen
    • Interviewing Pitfalls and Solutions
  • Pitfalls of Data Collection
  • Overcoming the Pitfalls
  • Context-free Questions
  • Examples of Context-free Questions
  • Storyboards
  • Use Cases
  • JAD Sessions
  • Role Playing
  • Prototyping
  • How to Have an Effective Meeting
  • Dealing With Conflicts

Module STDM - Applying IEEE 830 For Documenting Requirements

  • A Look at Features
  • Defining Features
  • Definitions
  • Guidelines on Scope and Abstraction
  • Attributes of Features
  • Natural Language
  • Semiformal Notation
  • Technical Methods for Defining RequirementsSemiformal Diagramming Techniques
    • Finite-state Machines
    • Finite-State Machine Example
    • State-Transition Diagram
    • Decision Trees
    • Flowcharts
    • Entity-Relationship (E-R) Diagrams
    • Object-oriented Models
    • Data Flow Diagrams (DFDs)
  • Formal Notation
  • Combination Approaches
  • Determining the Appropriate Techniques for Expressing Requirements
  • Books that Discuss Modeling and Requirements
  • The Purpose of the Standard
  • Nature of the SRS
  • IEEE/ANSI SRS Structure
  • Other Formats
  • Environment of the SRS
  • The Boundaries of SRS Development
  • Characteristics of a Good SRS
  • Ambiguity
  • Readability of Requirements
  • Incompleteness
  • Verification Methods
    • Ambiguity Walkthroughs and Reviews
    • Requirements-Based Test Conditions
    • What if the Requirement can't be Verified?
  • TraceabilityJoint Preparation of the SRS
    • An Example of Forward Traceability
    • Test Cases that Trace Back to Requirements
    • Traceability in Test Cases -  Requirement/Test Case Matrix
  • Tools Used for Defining Requirements
  • Defining the Problem to be Solved
  • Statement of Work
  • SRS Evolution
  • Embedding Design in the SRS
  • Tools for Documenting Requirements
  • Embedding Project Requirements in the SRS
  • Templates (Annex A)
  • Application to IEEE 12207 (Annex B)
    • Terminology Correlation
    • Process Correlation
    • Life Cycle Data
  • Generic Content ComplianceTailoring Specific to IEEE 830-1998
    • How IEEE Std 830-1998 Maps to IEEE/EIA 12207.1-1997
    • Specific Content Compliance
    • Compliance with Life Cycle Objectives
    • Summary on IEEE/EIA 12207 Compliance
  • Summary
  • Checklist for Documenting Requirements
  • Sample Requirement Document

 Module STDN - Requirements Management

  • Scope Management
  • Managing Expectations - Understanding Tradeoffs
  • Tips for Managing Expectations
  • Refinement of Requirements
  • Requirements Traceability
  • Change Control Process
  • Tools for Change Control and Requirements Management
  • Related Standards

Module STDO - Course Summary of IEEE STD 830 For Software Requirements Specifications

  • Course Summary
  • IEEE 830-1998 Goals
  • Why Are Requirements Important?
  • What is an SRS?
  • What a Requirement Isn't
  • To Summarize 
  • Other Resources


  • Glossary



  • Course notebook with slides, worksheets, checklists, complete examples and supporting text


  • You will have the basic information needed to gather, define, test and manage software requirements for your projects and organization.