What is a Requirement?
Software is everywhere in our lives today. From your online banking system to your microwave oven, software applications play a vital role in everyday life. Why do we rely so heavily onÂ software applications? The reason is that they achieve a goal or solve a problem for us. In other words, they have properties that fill a need for the user.
A Requirement is the description of the properties of a product that satisfy the consumer’s need.
Put a different way: A Requirement is a condition or capability needed by a stakeholder to solve a problem or achieve an objective (IIBA, 2008)
What is Requirements Analysis?
Requirements Analysis consists of the activities that are performed for the purpose of structuring the requirements that have been elicited from stakeholders during the requirements elicitation phase. After requirements have been gathered or elicited, the following requirements analysis activities should be performed:
- Categorizing the Requirements
- Evaluating Requirements for Feasibility
- Prioritizing Requirements
- Context Diagramming
- Modeling (Presenting the Requirements in Various Formats)
How to Document and Present Requirements
A Requirement can be documented and presented in many different ways.
It can be documented as a sentence, a business rule, a model, a prototype, a diagram, a table, a spreadsheet or any other mode that communicates the user or stakeholders’ need.
It is a good practice to define requirements using a combination of textual statements and diagrams or models (use cases, actors etc.) This makes the process of defining requirements more engaging to your users. It also helps clarify your requirements by revealing any holes in the requirements.
Characteristics of Excellent Requirements:
- Correct: Requirements should accurately represent the real needs of the users and stakeholders.
- Complete: Requirements must include all of the needed elements required to create the solution. This will include descriptions of functionality interfaces, quality attributes, constraints etc.
- Clear: They can be understood in the same way by all stakeholders without requiring additional explanation.
- Concise: They are stated simply in the minimal possible way to be understandable.
- Consistent: Requirements should not conflict with other requirements.
- Relevant: They are required to meet a business or user need or objective.
- Feasible: They are possible to implement.
- Verifiable: It should be possible to determine whether the requirement has been satisfied.
Who Should Handle Requirements Analysis?
The typical job title for a person who handles Requirements Analysis is Business Analyst or Requirements Analyst. However, there are many individuals who manage requirements, yet work under other job titles. Software developers, project managers, business managers, process analysts and many more other titles describe people who work with Requirements Analysis everyday.
Requirements Analysis is a process that requires a lot of skill and experience to master. There are many tools and techniques available to individuals who are involved in Requirements Analysis today. Not every tool or technique will apply in every situation.
To successfully analyze requirements,Â you will need to be trained on how to master and work with many different analysis techniques and different types of stakeholders. This way you can choose the right techniques for every requirements situation that you face.
Get More Information
This article is part of a series of articles on Requirements Analysis. Other articles in the series are:
Part Two -Types of Requirements: Business, User, Software, Functional, Non-Functional
Part Three – Requirements Elicitation Tools and Techniques
Part Four – Challenges with Requirements Analysis
Part Five – Best Requirements Analysis Practices
To receive the rest of the requirements analysis article series free, click here to request more information.