People who have done software have heard such complaints: the demand changes too fast, the software system often needs to be modified, and they have been working overtime for several weeks ......
How can we solve this problem?
First, the root cause of the problem is that the demand is constantly changing.
Many people have such experiences. When capturing requirements, according to the customer's explanation, they made a record and then developed the software. The customer said that many places do not match their meaning, it must be modified.
Let's analyze the problems in the capture requirement process.
The customer probably knows little about the software and does not know what you need.
For example, a business process, from business logic to software implementation, may have problems. This is the business transformation that needs to be carried out in the informatization process, because the content that can input computers and output results must be content that can be formally processed, this is also one of the reasons for many employees to resist informatization, because informatization will lead to the weakening of human factors, and their work process will be completely transparent.
In this way, we must let customers know what you want to know. How can this problem be achieved?
For product projects, if you are not a customer, you need to solicit extensive comments. The demand questionnaire usually plays a role in fully understanding the customer's needs.
Specific customers need to communicate with them directly.
To communicate with customers, pay attention to the methods and do not blindly discuss them. Below are some effective methods.
I. Fully prepared before the meeting
Generally, the preparation time for the problem list is much longer than the meeting time. Generally, customers will lose enthusiasm and patience after talking to you for two hours. This is a common feature of most people. Therefore, full preparation is very important.
If you capture requirements from customers, the customers usually say, what kind of system do I need, and then I can use it to do this, that, and that ......, then I don't know what to say. At this time, you must come up with a list of questions prepared in advance and ask questions about each function point of each major function. Non-functional requirements cannot be ignored. For example, if the customer needs the system to run continuously for at least a few hours, the response time range of the system when a number of visitors access the system.
If you do not conduct a comprehensive research on the information and forms provided by the customer before the meeting, you may not be able to fully investigate the customer's needs. You may need to consult with him repeatedly, in this way, you will leave the customer with a low productivity impression. He will gradually get bored with you and lose confidence in your future performance.
2. Enable the customer to speak
It is critical to ask questions from customers and guide them to express their needs.
Some people usually ask the following question: "What is your workflow ?", This is a classic and ineffective problem.
When you ask a question to the customer, you can change your mind first. If someone asks you this question, how can you answer it? Is it a good answer? If you think this question is not easy to answer, you need to change the question.
When people talk about things they are very familiar with, they can't end up talking about anything. Why can't they talk to you about what the customer does every day?
Ask the right questions and ask the questions that can enable the customer to open the conversation, and you will win.
At this time, the preparation work in front of you is particularly important. You need to focus on the features of the software they are going to do, some of the questions, don't worry, need to be in-depth, and meticulous, pay attention to the operational habits of how they handle these things, because they need to change their habits, A New Method for adapting them to your software usually reduces customer satisfaction, and even requires you to make changes.
Your conjecture and assumptions about some features must also be asked if the customer doesn't need them at all. Sometimes, the customer is embarrassed to say that your thoughts are unnecessary or wrong, at this time, you must be sensitive and be brave enough to deny yourself. This will reduce unnecessary development work and leave the customer with a good impression that you respect the facts.
3. Never waste customers' time
When talking to a customer, pay special attention to the fact that the customer's time cannot be wasted, which makes him very boring. This is the biggest taboo to capture the demand.
Once you make such a mistake, it will be difficult for you to meet him again. He may not want to meet you again. Especially for leaders in enterprises, they are generally on a daily basis. You should feel very honored to be able to take time out to meet with you. Therefore, we must cherish the meeting time.
This is also a problem that many people often complain about. "Customers often don't have time to see me. What can I do?" If you encounter such problems, you must reflect on yourself, have you ever made such a mistake? You must not make it again next time.
4. Persons who can answer questions correctly
Different people need to be asked for different questions. Many of them are small operation-level questions, and many are global problems, this requires that you be sure to find out what questions to ask.
Many people who capture requirements complain that "Customers cannot answer these questions and they do not know how to do it." If you encounter such a problem, you must reflect on it, did you ask the right person?
Some of the customers are large cadres, some are middle-level managers, and some are operators. For operation details, be sure to ask the operators who are responsible for the operation. They will know how to perform the operation in each step. If you ask the cadres these questions, you are often dismissed for reasons such as being too busy at work or having to get rid of it.
For global problems, the answers provided by operation-level personnel are usually not authoritative. Even if they have answered you, you must go to the cadres to confirm and start development, otherwise, you will regret it.
V. Make full use of the prototype
Prototype has a good effect on improving the customer's awareness of the software. It enables the customer to have an intuitive understanding of the software. In the face of prototype, they can better put forward their ideas and opinions, especially for customers who do not know the software.
Modify the prototype, confirm it again, and finally obtain a stable prototype. These work will make the demand more stable and reduce the repeated modification or rework in many implementation work.
Vi. Fully utilize the demand confirmation MEETING
The demand confirmation meeting is usually attended by all stakeholders (stakeholders). This is a rare opportunity to confirm the needs, therefore, we must cherish it.
In such meetings, we must first discuss global issues (related to everyone) and never discuss questions that interest some people. In that case, people you are not interested in will walk away, so you will not be able to find anyone when you want to ask their questions. You can discuss issues related to individual departments or personnel at their sole discretion.
In addition, we must find a solution to some different problems, and find a solution that everyone can accept for problems related to the interests of the majority.