Any software development life cycle begins with a requirements elicitation and analysis phase. In this phase, primary participants are stakeholders and a business analyst (sometimes, if required, more than one BAs can participate).
Role Of Testers
In this phase, stakeholders are the interested parties in the project, an individual or a group, who will be deciding the requirements of the system to be developed.
A business analyst elicits and gathers requirements after multiple discussions with the stakeholders using various techniques. This phase is critical for the success of the project as if the requirements are not communicated or defined properly, the direct impact will be on the remaining project cycle.
In traditional software development cycles, testers used to take a reactive approach and come into the picture only after requirements analysis phase i.e. their work will start once the requirements document is ready, and not before that. But now things are changing for the better.
The role of testers is not limited to the ‘Testing’ phase; they do not work in silos anymore. Testers are and should be involved in the initial phases of the project.
During requirements elicitation and analysis, a tester can be a crucial help to not only BA but also to the whole process.
Let’s look at some of the ways in which a tester can be a useful resource during this phase:
- For someone participating in the requirements elicitation and analysis phase, the most important quality to possess is ‘Analytical skills’. A business analyst is a suitable person for this job mainly because of his/her analytical and communication skills. Testers have the same analytical and logical skills developed over time as such skills are important during testing. If testers are involved in the analysis phase, they can be a good source of useful feedback and problem-solving ideas.
- Testers tend to think from both system and user’s perspective while testing the system. This trait can be useful while analyzing the requirements. They can suggest any improvement in the requirements if something does not look right for the end-user.
- Once the requirements document is ready, testers can be one of the best resources in the team to review the document because as the future users of the document, they are going to use this document as a base for creating and designing test plan, test scenarios, and test cases.
- While creating test scenarios, testers cover all the possible scenarios in the to be developed system. So, testers can help in identifying scenarios that may have missed in the requirements document.
- After designing test scenarios and test cases, RTM (Requirements Traceability Metrix) is created that maps all the test cases with their respective requirements in the requirements document. This step helps the BA and QA teams to identify any missing requirements or test cases.
- During this phase, testers will think from their perspective, how they will be able to test the whole system based on the requirements. They will also check whether the requirements are testable e.g. if for some requirement, ‘user-friendly’ word is used, it becomes very unclear as to what exactly the system requirement is. In such cases, testers can suggest clear detailed requirements.
- If any tester has domain knowledge of the system being developed, they can be helpful in the requirements elicitation and analysis phase with the domain-specific understanding.
The requirements gathering and analysis phase is the beginning of any project, if any mistakes are made during this phase, repercussions can be very time and resource consuming. It becomes very crucial to make the output of this phase as perfect as possible.
Testers with their various skills and nature of the job can be highly useful to the BA team in this phase. Their involvement will also improve their performance in the testing phase as they now have a better understanding of the requirements.