”A Business Requirement is a statement of need expressed by a user or stakeholder.”
The terms Business Requirement, User Requirement, Functional Requirement and just plain Requirement are generally used interchangeably.
Requirements can be
classified
into two major types:
- Functional – Capability
- Non-Functional – Constraint
A
Functional Requirement
is a requirement that will be satisfied by performing some function by the proposed solution.
A
Non-Functional Requirement
is usually some form of constraint or restriction that limits the users’ ability to achieve their needs.
Most Requirements that are being expressed or written are not real business requirements. They can contain
other information
such as system specifications, planning information, background information and generally useless information.
Our job, and the job of
Business Analysts
and
Requirements Engineers,
is to make sure only
Pure Business Requirements
are being captured and recorded.
Purpose of Good Requirements
Many executives fail to understand the purpose of writing and documenting good requirements. As a result, projects end up being late, over budget, and not delivering what the user wanted.
The purpose of writing good requirements is:
- To set the scope for the project
- To show what the stakeholders want
- To give stakeholders chance to say what they want
- To represent different viewpoints
- To check the design
- To measure progress
- To accept products against precise criteria
,
“Without good requirements, projects fail, are late, come in over budget, or produce systems that are never used.”
Writing Better Business Requirements, 2002
Methodologies and Approach
Requirements are developed using a structure approach called
Requirements Management.
The Requirements Management Process generally consists of 4 steps. These steps are typically known as 1) Gathering; 2) Analyzing; 3) Organizing; and 4) Validating.
The Gathering, Analyzing, Organizing and Validating steps are considered the Analysis part of the overall
System Development Lice-Cycle (SDLC)
approach to software development.
There is also an ongoing managing activity which ensures that the requirements are aligned with various modules and test scripts which are being developed as part of the project. The process used for managing this alignment is known as
traceability
and uses a
Requirements Traceability Matrix.
A good Requirements Definition approach can also be used to support the
Project Management
activities of the project.
Requirementing Steps
|