This is the Part 1 of the Requirement Gathering Workbook by Rahul Parwal. We’d like to thank him for sharing his expertise with the community through this information-packed piece.
Here is a list of all the blogs in this series:
- Part 1: Understanding Requirements
- Part 2: Requirements in The Agile World
- Part 3: Exploring requirements
- Part 4: Testing Requirements
- Part 5: Dealing with Objections
The purpose of this Workbook | Session Notes | Summary Document is to help testers understand the importance of requirement gathering and how it can add massive value to the testing process. The document will provide insights and guidance on how to gather and analyze requirements effectively, with the aim of testing beyond the written requirements. The document will highlight the importance of exploring the requirements thoroughly, considering the perspectives of all stakeholders, and utilizing the tester’s own knowledge, experience, and insights to create a comprehensive and effective testing plan.
These session notes are the result of incorporating feedback and addressing questions raised by Chandra Pandey, Brijesh Deb, Sahil Kaushal, Mayuri Ubhad, Aravind M, Shoaib Ahmed, Balaji Ponnada, Apoorva Ram, Mayuri Ubhad, Jim, Ralf Roeber, and Anees Shaikh. Their insights have enabled me to tailor the workshop to address the most common and relevant concerns of participants. The notes serve as a reference guide for review, reinforcement, and further learning after completion of the workshop, organized by section.
- How we decide that we have understood the requirements as it is required? OR what all parameters should be considered to ensure that requirements are clear? OR how you can make sure not just you but your fellow testers are also clear with requirements?
Determining that requirements have been properly understood is crucial for the success of any project. However, in reality it often gets difficult to know if the requirements have actually been understood correctly as we mostly work with the requirement documents and multiple sources of ambiguities. The more time and resources spent upfront to understand and verify the requirements, the better the chances of success. This includes effective communication with stakeholders, thorough analysis, and proper documentation. The following strategies can help increase the odds of achieving this goal of understanding requirements fully:
- Technical Reviews: Technical reviews of requirements help to identify any gaps, ambiguities, or misalignments with the intended project outcome. This can involve subject matter experts, architects, testers and developers to ensure that the requirements meet the necessary technical standards.
- Project Reviews or Demos: Regular project reviews are a valuable opportunity to assess the status of the project and ensure that the requirements are aligned with the project objectives. These reviews also provide a platform for stakeholders to ask questions, provide feedback, and raise any concerns.
- Summary Reports: Regularly updated summary reports provide a high-level overview of the project’s progress and highlight any deviations from the original requirements. This helps to identify and address any issues early on, before they become significant roadblocks.
- Measure Communication: Effective communication is crucial to understanding requirements. Regularly tracking the effectiveness of communication channels and identifying areas for improvement can help ensure that all stakeholders are informed and on the same page.
- Measure Satisfaction – Take Feedbacks: Regular feedback from stakeholders is crucial to understanding their level of satisfaction with the project. This can help identify any areas where the requirements are not being met, and corrective actions can be taken to improve the overall project outcome.
- Include everyone who might object later: It’s essential to engage with all stakeholders who might have a direct impact on the project later. This includes end-users, customers, and stakeholders who might not be involved in the day-to-day project management but can have a significant impact on the project’s outcome.
In conclusion, ensuring that requirements have been understood correctly is essential to the success of a project. A combination of technical reviews, project reviews, summary reports, effective communication, stakeholder feedback, and engagement with all relevant parties can help improve the odds of success and looking beyond the explicit requirements.
- How to keep track of all the information we receive on daily basis related to the product/project? Some good tips and tricks to efficiently manage all the information gathered by the testers.
Note taking is an essential skill for any tester. It requires consistent practice to get good at it and once you get good at it, it will give you exponential results. It’s a powerful meta skill.
I would recommend you read this paper by Michael Bolton on this topic, i.e., Microsoft Word – An Exploratory Tester’s Notebook – 63.doc (developsense.com)
Here is a quick summary if you want to just have a high level gist of it:
- How to deal with situation when you are onboard for testing late in the project and there are many issues with unclear requirements?
When you are on board for testing late in a project with unclear requirements, it can be challenging to catch up with the project and ensure proper testing is performed. However, there are several steps you can take to address this situation:
- Get up to speed on the project: Start by getting a clear understanding of the project requirements, timeline, and goals. This can be done through meetings with project managers, stakeholders, and team members. Use context free questions to get this info. Refer to Context-Free Questions for Testing – DevelopSense
- Assess the requirements: Evaluate the existing requirements and identify any gaps, ambiguities, or inaccuracies. Document these issues and work with the project team to resolve them. You can use a query tracker to track and discuss these issues. Ex: Shared google sheet document or a OneNote notebook.
- Collaborate with the team: Work closely with the development team and other stakeholders to ensure that all requirements are well understood and properly defined. This can help you to ensure that your testing is aligned with the project goals and requirements.
- Focus on risk-based testing: In a situation where requirements are unclear, it is especially important to focus on testing areas that pose the greatest risk to the project. This can help you to ensure that critical issues are identified and addressed as soon as possible.
- Document your testing: Keeping a clear and detailed record of your testing activities and results can help you to demonstrate the value of your work and ensure that any issues you identify are taken seriously by the project team. Debrief your test notes with the team to get a feed for your next testing cycles.
By taking these steps and working closely with the project team, you can help to ensure that the project is properly tested and delivered successfully, even when requirements are unclear.
- When you are new in any domain and how to acquire more knowledge about that domain so that you will understand requirement better. Is it really necessary to have more knowledge in specific domain to understand project requirements correctly, with this can we achieve customers perspective while writing tests.
Acquiring more knowledge about a domain when you are new to it is important in order to better understand the project requirements. This can be done through various methods such as:
- Reading relevant material – Start by reading up on the industry, market trends, and any relevant technical material related to the domain.
- Interacting with domain experts – Speak with experts in the field to gain a deeper understanding of the domain and its challenges. Join communities or follow relevant handles on social media.
- Attending relevant trainings and workshops – Attending training, conferences, workshops and other events related to the domain can provide a wealth of information and also help you network with other professionals in the field.
- Participating in hands-on projects – Hands-on experience is a valuable way to gain knowledge about a domain. You can contribute to projects that are relevant to the domain or take on a personal project to build your knowledge.
By having more knowledge about the domain, you can develop a deeper understanding of the requirements, and better anticipate the needs and perspectives of the customers. This will result in more effective and comprehensive testing, and better products that meet the needs of the customers.
This concludes the Part 1 of the Requirement Gathering Workbook. Stay tuned to The Test Tribe blog for the upcoming parts. Till then, keep learning!