Introduction to Requirements Engineering
Framework for Requirements Engineering
- Identifying the Requirements Engineering rationale
- Planning and estimating requirements
- Identifying the business rationale and inputs
- Crafting the business case
- Creating the Terms of Reference or Project Initiation Document (PID)
Building the Requirements
- Categorising requirements within the hierarchy
- General business requirements, including legal and business policy
- Technical policy requirements
- Functional requirements
- Non-functional requirements
Stakeholders in the Requirements Process
- Project Stakeholders
- Business Stakeholders
- External stakeholders
Requirements Elicitation
Types of knowledge
- Explicit knowledge and ignorance Identifying tacit knowledge and ignorance
Eliciting requirements from stakeholders
- Planning elicitation meetings Choosing the right people to interview
Applying elicitation techniques
- Selecting the best interview methodology Constructing questions that deliver results
Requirements Engineering Modelling Techniques
Why model requirements?
- Generating questions
- Defining business rules
- Cross-checking for consistency and completeness
Modelling the business context for the system
- Developing a model to represent system processing requirements
- Interpreting a data model
Documenting Your Requirements
Documentation styles and levels of definition
- Writing standard requirements
- Employing user stories and use cases
Creating a Requirements Catalogue
- Identifying necessary attributes
- Writing a requirements description
- Non-functional requirements
Requirements Analysis
Prioritising and packaging requirements for delivery
- Analysing and prioritising business needs
- Allocating requirements
Organising requirements
- Optimising business value
- Evaluating dependencies between requirements
Ensuring well-formed requirements
- Removing overlapping requirements
- Identifying and negotiating conflicts between requirements
- Removing ambiguity
- Ensuring feasibility and testability
- Prototyping requirements
- Verifying requirements
Validating Requirements
Applying validation skills
- Selecting the best validation methods
- Validation checklists
Types of reviews
- Reviews, walkthroughs and inspections
- Stakeholders and their areas of concern
Requirements Management
Dealing with changing requirements
- Types of changes
- Frequency and magnitude of changes
The importance of traceability
- Vertical traceability (to business objectives)
- Horizontal traceability (from origin to deliver)
- Traceability and ownership