WHAT IS REQUIREMENTS? TYPES OF REQUIREMENTS? WHAT ARE DIFFERENT TYPES OF ELICITATION TECHNIQUES?
REQUIREMENT: Requirement is nothing but the Need of the client. Which then passes through different phases of SDLC (i.e., Design, developing, testing etc.) Process and then nurtured into an application, which is then used by the client to solve its problem.
Types of requirements are as follows:
- Business Requirements
- Stakeholders Requirements
- Transition Requirements
Business Requirements: These are very high-level requirements, which are usually gather from business owners. E.g. BRD / FRD
Stakeholders Requirements: These are in depth information about the requirements or need. It serves as a bridge between business requirements & stakeholder’s requirements. E.g. URD
Solution Requirements: These are the characteristics of the solution that meets the business requirements & stakeholder’s requirements. This is further sub-divided into below:
- Functional Requirements: This describes the behavior or operations & information is that the solution will manage. E.g. FS- Functional Specifications; FRS – Functional requirements Specifications
- Non-Functional Requirements: These conditions do not relate directly to the behavior or functionality of the solution. These are usually taken care by the technical team. E.g. Peripherals, Performance, Quality etc.
Transition Requirements: These are training, Development, Installation of Applications to the End User. E.g. ADD – Application Design Documents
Different Types Of Elicitation Techniques
Brainstorming: Brainstorming can be done individually or in a group. Users or stakeholders can come up with ideas or requirements that they have seen or experienced. These ideas can be reviewed and the relevant ones can then be included in the system requirements.
Document analysis: This is helpful in understanding the current process & can provide the inputs for the new system requirements. Documents like user manuals, software vendor manuals, BRD, Features Documents, Functionality documents.
Reverse Engineering: If any existing system has outdated documentation, it can be reverse engineered to understand what the system does. This elicitation technique can extract implemented requirements from the system. There are two types of reverse engineering techniques.
- Black box reverse engineering: The system is studied without examining its internal structure (function and composition of software).
- White box reverse engineering: The inner workings of the system are studied (analyzing and understanding of software code).
Focus Group: A focus group is the End Users; these are the people who would be using the system in future upon project completion. The focus group is a means to elicit ideas & attitudes about a specific product, service or opportunity in an interactive group environment. The participants share their impressions, preferences & needs, guided by a moderator. There are two types of focus groups.
- Homogeneous Focus Groups: Based on similar characteristics.
- Heterogeneous Focus Groups: Different background people.
Observation: This elicitation technique helps in collecting requirements by observing users or stakeholders. This can provide information about the exiting process, inputs and outputs. There are two kinds of observations — active and passive.
In active (Visible) observation, the business analyst directly observes the users or stakeholders.
In passive (Invisible) observation, the business analyst observes the subject matter experts.
Workshop: Workshops comprise a group of users or stakeholders 6 or more in numbers working together to identify requirements. Workshops are used to scope, discover, define, and prioritize requirements for the proposed system. The client usually conducts these. They are the most effective way to deliver high-quality requirements quickly. Workshops tend to be of a defined duration, rather than outcome & may need to be briefly repeated in order to clarify or obtain further details.
JAD (Joint Application Development): Joint Application Development (JAD) technique is an extended session to the workshop. In the JAD session stakeholders and project team works together to identify the requirements. These sessions allow the business team to gather and consolidate large amounts of information. The JAD team includes business process owners, client representatives, users or stakeholders, business analysts, project managers, IT experts (developers, quality assurance, designers, and security).
Interview: An interview is a systematic approach to elicit information from a person or group of people in an informal or formal setting by talking to the person. In this case, the business analyst acts as an interviewer. An interview provides an opportunity to explore and/or clarify requirements in more detail. Without knowing the expectations and goals of the stakeholder’s it is difficult to fulfil requirements.
Prototyping: Screen mockups can support the requirement gathering process, when introduced at the correct time. Mockups help stakeholders visualize the functionality of a system. This can be an advantage to business analysts and stakeholders since this allows them to identify gaps/problems early.
Surveys/Questionnaires: Questionnaires are useful when there is a lot of information to be gathered from a larger group of stakeholders. This enables the business team to gather requirements from stakeholders remotely. The design of the questionnaire is very important, since it can influence the answers that people provide.