What are the 3 deadly mistakes that you can do during requirements gathering?
First, let me tell you a secret. There are more than 3 deadly mistakes you can do during software requirements gathering. I will focus on the deadliest 3. So let’s start! At the moment you start interviewing the client for the software she needs to build, starts the software requirement gathering process.
1. We have a tendency to assume things. My advice: Assume nothing. Especially if you have experience in the domain, it does not mean that everyone follows the same processes or uses the same vocabulary. Check all the assumptions you make with the client to create a common vocabulary and be explicit with all your communications. Add the vocabulary to all documents that you create. If you are new to requirements gathering then listen and make sure you understand everything that the client wants. Ask questions to get clarifications and take notes.
2. The client usually omits to communicate to you some very fundamental tasks that perform daily. This is not done on purpose. They have become “automatic”, part of the daily routine. Ask to observe, if possible, the working environment, the people that will use the system. Go and talk with them. Make sure that you want to make their life easier. You will find more information and you may probably discover additional pain areas or missed stakeholders. Be careful how you communicate your interest for their jobs. You are there to help everyone, you are not there to criticize or comment in a negative way. You are there to help remove the repeated mundane tasks that they perform. Tip: Map the workflow and you will discover the missing steps.
3. Accepting imprecise language from the part of the client. For example, the client says “I want a beautiful design” or “The system has to be very fast” or “The system has to have a log”. All these statements are vague. The requirements have to be precise. It is the analyst’s job to make this happen. What is the definition of beautiful? What is the definition of fast? What to log? Be as specific as possible, draw screen mockups, discuss about responsiveness of the user interface.
The above 3 mistakes left unaddressed ensure the failure of your project.
Do you have more mistakes to suggest? Please feel free to add to the list.