How to take requirements
-
Requirement: is a condition or capability a system must have.
-
The requirements of a software-intensive system are dynamic. You must expect the requirements to change during the life of a software project.
-
System’s true requirements (STR): those that weigh most heavily on the system’s economic and technical goals.
-
Identifying the STR is a continuous process.
-
It is impossible to completely and exhaustively state a system’s requirements before the start of development.
-
As a new or evolving system changes, a user’s understanding of the system’s requirements also changes.
Activities of the active management of requirements:
- Eliciting, Organizing, and Documenting the system’s required functionality and constraints.
- Evaluating changes to the requirements and assessing their impact.
- Tracking and documenting trade-offs and decisions.
Why is important?
Offers solutions to the root causes of software development problems:
- A disciplined approach is built into requirements management.
- Communications are based on defined requirements.
- Requirements can be prioritized, filtered, and traced.
- An objective assessment of functionality and performance is possible.
- Inconsistencies are detected more easly.
- With suitable tool support, it is possible to provide a repository for a system’s requirements, attributes, and traces, with automatic links to external documents.
What are the “suitable tools” for requirements management?
Requirements engineering (RE)
- Software Engineering | Requirements Engineering
- What are the levels of granularity of functional requirements and why this is important
- IEEE Recommended Practice for Software Requirements Specifications
- Literature of requirements
- Read: Writing Better Requirements
- Get It Right The First Time: Writing Better Requirements
- Writing Better Requirements | Slides