2) The main responsibility of the Business Analyst is the gathering, analysis, documentation, and communication of requirements. A requirement is simply a functionality that a product or service must have in order to be useful to its users. For example, requirements for a customer relationship management system might be to allow users to update the leads and generate reports.
All the requirements are not of same level. Some might be high level requirements expressed by the sponsor and other might have lower level.
Requirement Analysis:
As soon as requirements have been identified, they must be analysed and prioritised to ensure that they are correct, not duplicate to each other, and that they are understood by all stakeholders. During analysis, the requirements must be broken into sufficient detail so that the project team can understood them correctly and estimate correct effort estimation and also assure that the requirements are indeed feasible.
Good Requirements:
A good requirement states something that is necessary, verifiable, and attainable. Even if it is verifiable and attainable but not necessary, it cannot be considered as good requirement. To be verifiable, the requirement must have something that can be verified by analysis, test, or demonstration. If a requirement is not attainable, there is no use of considering it. A good requirement should also be clearly stated.
Necessity. If we find any requirement is having less importance or does not have necessity to be included in requirement gathering than we can leave that requirement.
Verification. There are various requirement verification techniques which can be used to determine the criteria for acceptance. This step will help insure that the requirement is verifiable.
Attainable. The requirement should be realistic, based on available resources and existing constraints. If we are uncertain about whether a requirement is attainable, then we will need to conduct the tests to determine its attainability. Even if a requirement is technically feasible, it may not be attainable due to budget and constraints..
Clarity. Each requirement should be clear, concise, and simple. It is important that the requirement not be misunderstood it must be understandable. Simple sentences will most often suffice for a good requirement.
The requirement can be verified and also validated through different methods.
- MOSCOW
MOSCOW technique:
M stands for Must have, requirements necessary for the completion of the project.
S stands for Should have, requirements that are important but not essential.
C stands for Could have, requirements that just improve the experience but are not critical to the operation and functionality of the product.
W stands for Won’t be, requirements that are not important and will be left out. .
By prioritizing requirements with MoSCoW, we can prioritize the most important function first, which is the main objective of prioritization in agile methodology. Most importantly, products that are under M and S should be the priorities whereas, C is not that much of a priority. W is a feature which can be ignored or cancelled.
- SMART
The SMART method is also a priority-setting technique employed in multiple management fields to achieve consensus on what is most important to stakeholders and customers.
The idea is that every requirement must adhere to the SMART criteria to be effective. Therefore, while considering requirements each should be:
Specific: In order for a requirement to be effective, it needs to be specific.
Measurable: Making the requirements measurable makes it easier to track the progress.
Attainable: The requirement should be realistic, based on available resources and existing constraints
Relevant: The requirement should align with other business objectives to be considered worthwhile
Time-bound: The requirement should have specific time line to be completed.
- FURPS:
FURPS is used for validation of requirements in terms of quality.
Functionality: Describes the main function of the system, whether it is useful for the user.
Usability: It describes the usability of the system to the user.
Reliability: Describes how reliable is the system in terms of severity of failure, recoverability, and accuracy
Performance: Describes how efficient is the system.
Supportability: Describes how easy it is to maintain, service and configurable.