- Introduction to Requirements Engineering
- Framework for Requirements Engineering
- Requirements Engineering activities – Elicitation, Analysis, Validation, Documentation, Management
- Rationale for Requirements Engineering and the problems with requirements
- The importance of requirements planning and estimating
- The business rationale and inputs
- The business case
- Terms of Reference / Project Initiation Document (PID)
- Hierarchy of requirements
- Building the hierarchy
- Categories of requirements within the hierarchy
- General business requirements, including legal and business policy
- Technical policy requirements
- Functional requirements
- Non-functional requirements, including performance, usability, access, security, archiving, back up and recovery, availability, robustness
- Stakeholders in the requirements process
- Project Stakeholders
- Project Manager
- Business Analysis
- Developer
- Business Stakeholders
- Project Sponsor
- Subject matter expert
- End users and managers
- External stakeholders
- Customers
- Regulators
- Suppliers – products and services
- Requirements Elicitation
- Knowledge types – tacit and non-tacit
- Elicitation techniques
- Interviews
- Workshops
- Observation:
- Formal/informal
- Shadowing
- Focus groups
- Prototyping
- Scenarios
- Document Analysis
- Special purpose records
- Questionnaires
- Understanding the applicability of techniques
- Use of models in Requirements Engineering
- The purpose of modelling requirements
- Generating questions
- Cross-checking for consistency and completeness
- Defining business rules
- Modelling the business context for the system
- Developing a model to represent the system processing requirements
- Interpreting a data model
- Requirements Documentation
- Documentation styles and levels of definition
- Requirements Catalogue
- Identifier
- Name
- Description
- Acceptance criteria
- Source/Owner
- Rationale/Benefits
- Non-functional requirements
- Priority
- Related requirements/documents
- Author
- Version control/status
- Change history
- Requirements Analysis
- Prioritising and packaging requirements for delivery
- Organising requirements
- Ensuring well-formed requirements
- Removing overlapping requirements
- Identifying and negotiating conflicts between requirements
- Removing ambiguity
- Ensuring feasibility
- Prototyping requirements
- Verifying requirements
- Requirements Validation
- Agreeing the requirements document
- Types of reviews
- Stakeholders and their areas of concern
- Requirements Management
- Dealing with changing requirements
- The importance of traceability
- Vertical traceability (to business objectives)
- Horizontal traceability (from origin to deliver)
- Traceability and ownership
- Requirements Engineering support tools