delivers the requirements to you in a neat and structured way ready for the team to estimate and deliver a solution. However, in many cases it is up to the project team to work with the customer and users to extract, analyse and
document what the requirements are. In that situation you may want to use the following tips:
Agree the approach to managing requirements. First of all, agree with your team, customer and end users what the process will be for gathering, documenting and controlling requirements and who will be responsible for each part of the process. Formally capture the steps, tools and roles and responsibilities in a requirements management plan and get it signed off by the stakeholders.
Engage the right people. Make sure you talk to the end users and senior stakeholders who have the actual authority to sign off on requirements and who will ultimately be using the end product. They can tell you what they want and what they expect from the product you are building.
Be proactive. Do not sit back and wait for the customer to deliver a detailed, concise and well structured requirements document. In most cases you need to be proactive and work with the stakeholders and end users to help them structure and articulate their needs.
Organize a workshop. Workshops are a very powerful technique for gathering requirements. Set up an initial workshop to uncover the vision and high level requirements. Involve all major stakeholders and make it last for several days if necessary.
Describe the product vision. Take a top down view and capture the essence of the envisaged product to be developed. Determine the objectives, needs, wants, limitations and constraints. Document the vision and get the customer to sign it off.
Identify the users. Identify all the users who in one way or another will be using and interacting with the end product. Each user group is likely to have unique requirements to the product.
Specify what is out of scope. Specifically focus on and write down items that are out of scope. Make it as explicit as possible and clearly draw up the boundaries between what you will and what you will not deliver.
Analyze the problem. Agree with the senior stakeholders what the overall problem is that your product is there to resolve. Drill down and identify the problems behind the problem. Prioritize them and document them.
Break the requirements down. Break the high level requirements and products down into its constituent parts. Set up workshops in turn which focus on specific parts or components of the product and involve the necessary stakeholders.
Ask open questions. Engage all user groups, interview them and ask open questions about what they want from a specific component, product or sub-product. Ask them what the product will enable them to do and how they will be interacting with it. Focus on their needs and problems and how they will determine if the product works according to their specifications.
Be creative. Use a variety of techniques in addition to workshops such as, interviewing, storyboarding, brainstorming, role playing, and prototyping.
Verify the requirements. Play back your understanding of the requirements to the stakeholders to ensure they have been correctly captured and understood. Illustrate or demonstrate it in whichever way is the most effective and ensure the requirements get formally signed off.
Capture non-functional requirements. Capture all non-functional requirements which the users may not have thought of. This includes requirements around maintainability, scalability and performance. Seek to understand what will happen after the project completes and which requirements relate to the long term usability of the solution.
Organize the requirements. Depending on the size of the project you may not be able to define the requirements in one single document. Maintain multiple requirements sets; one for each of the products and sub-product you have identified.
Incorporate acceptance criteria and test cases. As you gather and document the requirements, simultaneously document how each product or requirement will be tested and what its acceptance criteria are.
Use a requirements traceability matrix. Keep track of all requirements and their associated test cases in a requirements traceability matrix. It helps you carry out completeness checks and track the progression of each requirement. Get the matrix signed off so that it serves as a baseline scope document against which you can track and control changes. On the RESOURCES page you will be able to download a requirements traceability matrix template.
If you liked this post, you may also like:
8 Tips for Managing Project Costs
Risk management is how adults manage projects!
10 guidelines for estimating project effort