Requirements Characteristics - An Important Concept for CBAP® Certification
Requirements are the foundation for any system design. Quality requirements ensure that the system will meet stakeholder and business. It is important for business analyst to make sure that the requirements are of high quality.
Fortunately for us, BABOK provides a very comprehensive list of aspects that every requirement should meet to be considered as High-Quality requirements. Understanding requirements characteristics is essential for to ace the CBAP Certification exam.
In this blog, we will understand all the characteristics of good quality requirements, including worked-out examples of how the characteristic may be missing and how we make the requirement meet the required characteristic.
9 Characteristics of high-quality requirements
Atomic
BABOK Definition: Atomic: An atomic characteristic refers to a self-contained and capable of being understood independently of other requirements or designs.
This characteristic ensures that each requirement is complete on its own without dependencies on other requirements.
Example of Incorrect Atomic Characteristic
- The system shall require user passwords to follow the corporate password policy.
Example of Correct Atomic Characteristic
- The system shall require user passwords to be 8-16 characters long and include at least one uppercase letter, one lowercase letter, one digit, and one special character.
Complete
BABOK Definition: Complete: enough to guide further work at the appropriate level of detail for work to continue. The level of completeness required differs with perspective or methodology, as well as the point in the requirement life cycle where the requirement is being examined or represented.
A requirement is considered "complete" when it contains all the necessary information and details for stakeholders to understand and implement it without needing additional information. This characteristic ensures that there are no gaps or omissions that could lead to misinterpretations or require further clarification.
-
Example of Incomplete Characteristic
- The system shall verify user credentials to provide application access.
-
Example of Complete Characteristic
- The system shall verify user credentials to provide application access.
- When the User enters an invalid password/username combination, the system shall provide an error message.
- After three consecutive failed login attempts, the user account will be locked, and the user will receive an account lockout notification.
- Users with admin privileges are directed to the admin dashboard upon successful login, while regular users are directed to their profile dashboard.
- User sessions will expire after 30 minutes of inactivity, and users can manually log out of their accounts.
Consistent
BABOK Definition: Consistent: aligned with the identified stakeholders needs and not conflicting with other requirements.
A requirement is considered "consistent" when it aligns with and does not contradict other requirements, standards, or project documentation. Consistency ensures that there are no conflicts or contradictions within the set of requirements, making it easier for stakeholders to understand and for developers to implement.
-
Example of an Inconsistent Characteristic
- The system shall require user passwords to be exactly 8 characters long.
- The system shall require user passwords to be at least 12 characters long.
-
Example of a Consistent Characteristic
- The system shall require user passwords to be 12-16 characters long.
Concise
BABOK Definition: Concise: contains no extraneous and unnecessary content.
A requirement is considered "concise" when it is expressed clearly and succinctly, containing no unnecessary content. Conciseness ensures that each requirement is easy to read and understand without superfluous information that could obscure its meaning.
-
Example of a ‘Not concise’ Characteristic
- The system shall be capable of allowing users to create passwords that meet a specific set of criteria for security purposes, which includes but is not limited to having a length that falls within a range of at least 8 characters and no more than 16 characters, containing at least one uppercase letter, one lowercase letter, one special character and one numerical digit to ensure that the passwords are not easily guessable or susceptible to attacks.
-
Example of a Concise Characteristic
- The system shall require user passwords to be 8-16 characters long and include at least one uppercase letter, one lowercase letter, one digit, and one special character.
Feasible
BABOK Definition - Feasible: reasonable and possible within the agreed-upon schedule, budget and risk or considered feasible enough to investigate further through prototypes or experiments.
A requirement is considered "feasible" when it can be realistically implemented within the project constraints, including time, budget, technology, and resources. Feasibility ensures that the requirement is not only theoretically possible but also practical and achievable in the real-world context of the project.
-
Example of a ‘Non-feasible’ Characteristic
- The system shall prevent any unauthorized access attempts by detecting and blocking all potential hacking methods, including those not yet discovered.
-
Example of a Feasible Characteristic
- The system shall implement measures to detect and block unauthorized access attempts using current known hacking methods.
Unambiguous
BABOK Definition - Unambiguous: The requirement must be clearly stated to make it clear whether a solution meets the associated need.
Definition: a requirement is considered "unambiguous" when it is clearly and precisely stated, leaving no room for multiple interpretations. An unambiguous requirement ensures that all stakeholders have a shared understanding of its meaning and that it can be consistently interpreted and implemented.
-
Example of an Ambiguous Characteristic
- The system shall ensure passwords are strong enough.
-
Example of an Unambiguous Characteristic
- The system shall require passwords to be 12-16 characters long and include at least one uppercase and one lowercase letter, one digit, and one special character.
Testable
BABOK Definition - Testable: able to verify that the requirement/design has been fulfilled. Acceptable levels of verifying fulfillment depend on the level of abstraction of the requirement/design.
A requirement is considered "testable" when it can be verified through a set of defined criteria or tests. A testable requirement ensures that it is possible to determine, through inspection, demonstration, test, or analysis, whether the requirement has been met.
-
Example of a Non-testable Characteristic
- The system shall provide the highest level of password security.
- Observe the word, Highest Level – How do you test the same?
-
Example of a Testable Characteristic
- The system shall require passwords to be 12-16 characters long and include at least one uppercase and one lowercase letter, one digit, and one special character.
Prioritized
BABOK Definition - Prioritized: grouped, ranked or negotiated in terms of importance and value against all other requirements.
A requirement is considered "prioritized" when it has been ranked in terms of its importance and urgency relative to other requirements. Prioritization helps ensure that the most vital and valuable requirements are addressed first, guiding the allocation of resources and planning.
-
Example of a Non-prioritized Characteristic
- The system shall require passwords to be 12-16 characters long and include at least one uppercase and one lowercase letter, one digit, and one special character.
- The system shall support 2-factor authentication.
-
Example of a Prioritized Characteristic
- Must have a requirement
- The system shall require passwords to be 12-16 characters long and include at least one uppercase and one lowercase letter, one digit, and one special character.
- Should have requirement
- The system shall support 2-factor authentication.
Understandable
BABOK Definition - Understandable: represented using common terminology of the audience.
A requirement is considered "understandable" when it is expressed in a manner that is clear and easily comprehensible to its intended audience. This characteristic ensures that stakeholders, including business users, developers, and other project participants, can readily grasp the meaning and implications of the requirement.
-
Example of a Non-understandable Characteristic
- The system shall integrate multifactor authentication, and hashing techniques to enhance password robustness while ensuring cryptographic standards compliance and mitigating brute force attacks.
-
Example of an Understandable Characteristic
- The system shall require passwords to be 12-16 characters long and include at least one uppercase and one lowercase letter, one digit, and one special character.
Trust, you got the clarity on this important concept. If you still have any further questions, do comment below.
Adaptive US offers Success Guaranteed CBAP Training.
For more information, please visit our Free CBAP Training page.
You May Also Like
These Related Stories
No Comments Yet
Let us know what you think