What is the most frequently reported cause of software project failure–regardless of project size or type of software? Requirements challenges. Discover how leading-edge companies use requirements engineering to support successful software projects. Learn the three purposes of requirements and how to distinguish between requirements fantasies and requirements reality. Practice practical techniques for exploring user needs, capturing requirements, controlling changes, and building highly satisfactory software.

3-day seminar

Who Should Attend

Business analysts, requirements analysts, technical leads, project leads, project managers, program managers, developers, testers, and all others who want to develop better requirements.

Certification Information

21 PDU

PMI PDU Reporting Instructions

Software Requirements: What and Why

  • Requirements: fantasies and real world
  • What is a requirement?
  • Three purposes of requirements
  • Product and project requirements
  • Levels and types of requirements
  • Characteristics of good individual requirements
  • Characteristics of good sets of requirements
  • The Vision Statement as the top-level requirement
  • Requirements as a risk management activity
  • Knowing when you're done

The Requirements Process

  • Comprehensive strategies for defining requirements
  • Iterative elicitation, analysis, specification, and validation
  • Breadth-first approaches
  • Depth-first approaches
  • Spiral approaches
  • Tools: chartering workshop, collaborative development, risk management, parallel development

Requirements Elicitation

  • Who has requirements?
  • Eliciting requirements from people
  • Eliciting requirements from other systems
  • Eliciting requirements from the environment
  • Finding the decision maker
  • Incorporating business rules
  • Finding the abnormal and exception cases
  • Dealing with ambiguity
  • Tools: interviews, context-free questioning, brainstorming, JAD workshops, prototyping, task analysis, use cases, competitive benchmarking, document archeology, project charter, vision statement

Who Defines Requirements

  • The requirements engineer
  • Requirements engineering roles
  • Skills needed to develop requirements effectively
  • How the requirements engineer relates to the rest of the project
  • Checklist for requirements leads

Requirements Analysis

  • Classification and prioritization schemes
  • Requirements negotiation
  • Tools: prototypes, use cases, essential systems modeling, data dictionary

Requirements Specification

  • Characteristics of a good requirement specification
  • Models as specification
  • Guidelines for writing requirements
  • Picking the right model for the task at hand
  • Quantifying qualitative attributes
  • Writing effective use cases
  • Organizing the requirements
  • Achieving right-weight documentation
  • Putting it all together: The Software Requirements Specification
  • Tools: usability studies, prototyping, use cases, fit criteria, User Guide as specification, Planguage, context diagrams, information/class diagrams, data flow diagrams, decision tables, state transition diagrams, sequence diagrams, decision tables, data dictionary, project glossary, specification templates

Requirements Validation

  • What is the difference between validation and verification?
  • Validation techniques
  • Formal and informal inspections
  • Checklists
  • Creating test cases
  • Tools: ambiguity metric, prototyping, requirements reviews and checklists, usability studies

Requirements Management

  • Why requirements change
  • Role of a requirements baseline
  • Attributes needed to support well-managed requirements
  • Controlling change using corrective activity management
  • Status tracking
  • Tools: change control policy and change control board, traceability tools, version control

Special Considerations

  • Requirements in outsourced projects
  • Requirements in maintenance projects
  • Requirements in component-based systems

Steve Tockey

Steve Tockey is the Principal Consultant at Construx Software. During more than three and a half decades in the software industry, he has worked as a programmer, ...

Bob Webber

Bob Webber is a Senior Fellow at Construx with over 30 years of software experience delivering innovative products in telecommunications, entertainment and life ...

Earl Beede

Earl Beede, CSDP is a Senior Fellow at Construx Software, where he designs and leads seminars and provides consulting services on early project-lifecycle practices, ...

Eric Rimbey

Eric Rimbey is a Senior Fellow at Construx Software where he focuses on software design, requirements, quality, and testing. Eric has developed a wide range of ...