In Search of Excellent Requirements – Gathering, Documenting, and Managing Requirements
Course Overview
This seminar emphasizes the practical techniques of Software Requirements Engineering. These techniques can reduce project risk by improving the quality of the software requirements, thereby increasing the likelihood of a successful project that meets stakeholder expectations. Small group discussions encourage participants to identify requirements problems they face on their projects and to analyze the impacts, root causes, and possible solutions.
Based on Karl Wiegers’s book, Software Requirements, 2nd Edition, this seminar covers the entire requirements engineering process and describes dozens of tested methods that can help any organization improve the way it gathers, documents, and manages software requirements.
Day 1 of the seminar introduces participants to the levels, characteristics, development, documentation, and prioritization of Software Requirements.
Day 2 of the seminar coaches participants in the processes of modeling and prototyping to verify requirements. The Capability Maturity Model is discussed, and the seminar concludes with requirements management and change analysis and management.
Who Should Attend
This seminar will be useful to business analysts, software engineers, managers, requirements analysts, user representatives, and stakeholders engaged in gathering, documenting, analyzing, or managing customer requirements for software applications.
Stakeholders who provide requirements to developers have found the concepts and techniques easy to understand.
Course Content
Day One
Introduction to Requirements Engineering:
- Introduction to seminar, objectives, participant expectations
- Define three levels of software requirements: business, user, and functional
- Describe characteristics of high-quality requirements
- Requirements development vs. requirements management
- Practice session: Small group discussions on requirements problems in their projects
Software Requirements Development:
- A requirements development process framework
- The role of the requirements analyst
- The customer-development partnership
- The vision and scope document
- Sources of software requirements
- Classifying requirements into categories
- User classes
- Customer involvement in the requirements process: the product champion model
- Gathering user requirements through use cases
- Event-response tables
- Business rules
- Documenting requirements: the software requirements specification
- Requirements management tools
- Software quality attributes
- Prioritizing requirements
- Practice Session: Requirements Review
Day Two
Software Requirements Development (cont).:
- Intent and structure of the CMM
- Requirements and the CMM
- Some process improvement principles and the learning curve
The Capability Maturity Model for Software:
- Define system function
- List and define system function steps
- Develop data flow diagram
- Define interface files/data bases
- Define inputs and outputs
- Develop entity relationship model
- Define security and privacy requirements
- Define environment requirements
- Define computer resource requirements
Software Requirements Management:
- Requirements management goals and practices
- Version management
- Change management
- Requirements change impact analysis
- Requirements attributes
- Requirements traceability
- Requirements and software risk management
Your Requirements Improvement Process:
- New requirements practices you want to try
Course Wrap-up:
- Evaluations

