Current location - Education and Training Encyclopedia - Education and training - How to conduct demand analysis (textbook answer)
How to conduct demand analysis (textbook answer)
First, what is demand research?

Requirements research is the initial stage of application software system development, and its output "software requirements analysis report" is the input of design stage. The quality of requirements research is an extremely important stage of application software, and its quality determines the delivery result of a software to a certain extent. How to listen to and analyze users' needs from customers has become the most important task for researchers.

Demand research is to do preliminary work for the writing of demand specification, and obtain or extract it from the demand research table; It is the process of understanding what kind of programs are really needed in practical work, and then sorting out these requirements for the design department to develop and use for users.

Demand research, especially for projects whose contract amount has been determined, is actually a strategic art, just like diplomacy. It is based on mutual respect, equality and mutual benefit with customers, communicate with an open mind, keep our bottom line, strive for favorable conditions as much as possible, and win the understanding and respect of customers while completing the task.

Demand research, in short, is to talk and communicate with customers, record customers' ideas and needs, and finally organize them into user demand specifications for further demand analysis, system design and development. Because the following requirements analysis, system design and even development are based on the content of requirements research, the quality of requirements research directly determines the quality of software system, that is, the success or failure of the project.

Usually, when we mention a system, it always feels the same thing, but in fact, it may be different in different people's eyes. For example, according to the general software development process, there are the following:

1. Software that customers actually need.

2. The software that customers want.

3. Software after investigation by researchers

4. Software designed by designers

5. Software developed by developers

(It is important to pay special attention here that the software that customers actually want and the software that customers want may not be the same thing. )

If the above processes are misunderstood, it is likely that the software finally developed is quite different from the software actually needed by customers. This is usually the reason why the project fails or is not well done.

One more thing, in the above process, the later you leave, the greater the cost of correcting these deviations until you can't bear it. Then, ensure that the requirements you have researched are consistent with the actual needs of customers and what customers want, and ensure that this requirement can be realized in development, and it is easy to achieve. This is what every demand researcher tries to do.

Second, the characteristics of the project requirements research

1. The Requirements Specification was released hastily, and the quality was not high.

(1). Unrealistic project time limit (requirement research becomes a form)

(2) users are afraid of taking responsibility (ambiguous statement)

(3) the limitation of cognitive level (what are the expectations of the project? Misunderstanding of researchers, for fear of attracting additional demand)

(4). Under the pressure of the construction period, all parties compromised and signed (without winning wide support).

2. Most of the requirements came out after the requirements specification came out.

(1). The program is compulsory, which is related to the vital interests and compulsory attention (flow, ease of use and workload are all here).

(2) Gradually guide users' cognitive level, improve their enthusiasm for use, and put forward more functional requirements.

Pay attention to grasp the key points of these problems, avoid relevant mistakes in actual operation, guide customers correctly and well, and make demand research develop in a benign direction.

Third, the preliminary preparation of demand research

1. Identify research tools

Choose some auxiliary tools in the process of demand research, and choose the tools that you (the group) are familiar with. The tools should be universal and popular, because communication issues should be considered.

Such as: prototype, sketch, WORD, EXCEL, PPT, POWERDESIGNER, STARTUML, etc.

Only the prototype method is emphasized here. Prototype method is to build a rough system as soon as possible and realize some or all functions of the target system. The purpose of constructing such a system is to examine the feasibility of a certain aspect, such as the feasibility of algorithm, the feasibility of technology or whether it meets the needs of users. For example, in order to see whether it meets the requirements of users, we can use some software tools to quickly build a prototype system, which is just an interface, and then listen to the opinions of users and improve this prototype. The future target system will be developed on the basis of the prototype system.

There are three main types of prototypes: exploratory, experimental and evolutionary.

Exploratory: the purpose is to find out the requirements for the target system, determine the expected characteristics, and explore the feasibility of various schemes;

Experimental type: used to check whether the scheme is appropriate and the specification is reliable before the implementation of large-scale development.

Evolutionary type: the purpose is not to improve the specification, but to make the system easy to change, and gradually evolve the prototype into the final system in the process of improving the prototype.

There are two different strategies when using prototype method: discard strategy and append strategy.

Abandonment strategy: first, establish a model system with simple function and low quality requirements, and modify it repeatedly to form a better idea, so as to design a more complete, accurate, consistent and reliable final system. After the system was built, the original model system was abandoned. Exploratory and experimental types belong to this strategy.

Additional strategy: first build a model system with simple function and low quality requirements as the core of the final system, and then gradually add new requirements through continuous expansion and modification to develop into the final system. Evolutionary type belongs to this strategy.

2. Investigate the pre-project situation.

Object: pre-sales personnel, business personnel and project managers;

Content: oral or written materials (including publicity and commitment) such as bidding documents, bidding documents and contracts communicated with users.

For the understanding of Party A's industry, it is best to read some books on the industry and learn the knowledge in the business field.

Understand the background of customers and projects. If the customer has given an original requirement document like "Preliminary Idea of Software" in advance, then first understand this document, understand the customer's purpose, why do you want to make this software, what problems you mainly want to solve, what businesses are involved, etc. And the basis of these research preparations.

According to the initial user needs, analyze the possible difficulties and list them. Be aware of what you didn't know in the process of understanding the requirements before, so as to communicate with customers in time after arriving at the scene.

3. Establish requirements research specifications

A special design environment (document directory) must be established to serve this project, allocate certain resources and manage necessary documents.

(1). unify the tools used in the project.

(2) unify the project document template.

(3) List of other resources (materials, related websites, information telephone numbers)

4. Explain the customer's organizational structure.

What organization is the user unit, and which departments and personnel positions are involved in using this system? What is the relationship between superiors and subordinates? Establish an external contact address book for the project team.

Understand customer organizations, departments involved in software use, departments and personnel involved in research, who are key customers, etc. , and get the support of the upper level of customers as much as possible. It is easier to carry out demand research from top to bottom. The members of the customer demand team should represent customers of different user levels as much as possible.

5. Make the research plan of the project.

The purpose of research plan is to divide, evaluate and allocate resources for the sequence of research activities.

Consider the analysis time when making a plan. After the scheme is approved by the company's internal review, it will be submitted to the customer in time to let the customer fully understand the research scheme.

The contents of the research plan include:

(1). Investigate what? How to investigate? When will someone investigate?

(2) Define the division of labor of the project team (train our experts)

(3) the agreement that everyone follows in the investigation (such as: do you need to sign? When to hold a regular meeting, etc. )

(4) For the functional modules in demand, the customer has a clear and unique contact person.

Precautions:

After the project task book is issued, the project manager and researchers should carefully review the software scope in the contract. Although the scope of demand is only roughly written, this information is not important and is a basis for making a research plan.

After the scheme is formulated, it is best to hold a project kick-off meeting with the participation of relevant leaders and business departments, to determine the project team members of both parties, to determine the cooperator (the only contact person) and leader (the only coordinator) of the customer, to introduce the personnel arrangement, overall planning and demand research scheme of the project team, and to inform the customer of the itinerary and plan.

Fourth, the content of demand research

1. What needs to be collected in the demand survey

The readers of requirements analysis report include customers, designers and developers, and the readability of the document must be considered when writing. The results of demand investigation are as follows:

(1). Collect documents and reports that users need to generate; Applicable objects of forms and reports;

(2). Draw the business flow chart, and carefully check whether each path is complete and how to deal with the abnormal situation (system dynamic characteristics);

(3) According to the flow chart, collect the usage and operation data required for each step, and determine the type and scope of the data (static characteristics of the system);

(4) Drawing business entities and their relationships, and estimating the frequency and data volume of business entities;

(5) Assessing the possibility of demand changes in business processes and entities;

(6). User rights;

(7) Current situation of information system construction;

(8). Collect users' preferences and demands for system interface style, format and color;

(9) Understand the future hardware, operating system and network of the system;

(10). Collect system initialization data, or ask customers to collect and sort it out, and specify a time limit;

(1 1). Write a simple interface prototype (this step can also be completed after requirements analysis, and communicate with users again);

2. The results of the demand study

(1). Requirements specification

(2) Detailed prototype of the system

Five, how to do a good job of demand research.

1. What you must know before you do anything.

If you are unfamiliar with the customer's business, you should be fully prepared before the investigation.

If the project is an industry (major) you don't know, it's best to have experts-end users are best experts. To understand this major in research, you don't want to be an expert, but at least you need to know some professional knowledge (at least you need to know special vocabulary), otherwise you won't know what to ask or how to ask, or even what others are saying.

Corresponding professional materials are necessary, at least there should be professional introductory books and corresponding materials, and more in-depth materials are needed. Of course, the participation of experts is another matter.

If the industry is not very difficult, you can learn about the industry in a short time through the self-study of analysts, or you don't need experts, otherwise experts are necessary.

2. Use a variety of means to tap demand.

Pay attention to the preparation of research materials: research materials (rose diagram, Ppt, prototype preparation) are generally interested in graphical interfaces, and it is best to show things to users in the form of charts, which can be transformed into use case diagrams, user interfaces, process collaboration diagrams, state diagrams, etc.

The demand investigation process selectively determines the investigation methods, such as:

1). Talk to customers and ask questions to users;

2). Visit the user's workflow and observe the user's operation;

3). Send a questionnaire to users;

Users usually have no patience to answer essay questions, and should focus on multiple-choice questions and judgment questions.

4) Talk with peers and experts and listen to their opinions;

5) Analyze the existing software products and extract the requirements;

6). Extract requirements from industry standards and plans;

7). Search for relevant information on the Internet.

3. Consider the system function from the user's point of view.

1). Put yourself in the user's shoes and consider the applicability and user experience;

2). The user's language communicates with the user;

3). Summarize the previous implementation experience and put forward suggestions;

4). Summarize the previous implementation experience and guide the requirements;

* The above projects are also one of the means to minimize demand changes;

4.5W+ 1H method

5W: Why, what, who, when and where.

1h: how to abide by the system?

Why Law: Why users should introduce systems, how to help users by introducing new information systems, and how to achieve a final result in overall work efficiency? Why does the law require the project manager to make it clear at the beginning of the demand that this project is to improve the work efficiency of users? Improve the inter-departmental cooperation mechanism; System services to speed up customer response; Enhance the competitiveness of enterprises and so on. With such a "WHY" introduction idea, the project manager can make clear what kind of system users want to provide them with, and have a clear goal in the positioning and establishment of the system.

What law: with the overall goal, starting with the requirements of each business process, the second W law _ _-what law is promulgated and what does the system do? Aware of what? Put forward business process problems, process limitations, problems to be solved by the system, etc. On the basis of this "what", the system is divided into functional modules, and the process requirements, functional requirements and structural requirements of the modules are gradually defined. What laws can let us know the initial requirements of the system.

Who, when and where is the law: this stage is the stage of demand refinement. On the basis of what rules, subdivide the user requirements of the system: analyze who can or must operate this function at what time and at what stage, combine with the previous rules, make clear the process stage division of the system, record and analyze the details of system function realization, and at this stage, use cases of system requirements can be generated as the basis of the next stage design.

How to law: how to realize the system. On the basis of the above why, what, WHO, when and where, a very good basic framework of system requirements has been established. How to analyze the requirements of the system according to the needs of these users, how to analyze the requirements specifications and design and realize the next stage, that is, how to realize the system?

The introduction of 5W+ 1H law ensures the accuracy of system requirements to a certain extent, and enables project managers or demand analysts to carry out demand mining and research activities in an orderly manner. The users of this arrangement are also very clear in cooperation and know how to cooperate with project personnel.

5. Matters needing attention in demand research

(1). Investigate step by step as planned.

Make an agreement on the plan, objectives, time schedule and personnel involved in the research activities in advance, and adjust the plan appropriately according to the arrangement of users. The most taboo is to attend meetings with unclear objectives and unclear reporting personnel.

Proceed steadily according to the research plan discussed with customers in advance. If there are temporary changes in the site, such as the customers involved in the survey are temporarily busy, or the content of the survey changes, then determine the new survey arrangement with the customers in time and list the general survey order. Don't say where you want to go, the research content is chaotic, and there are likely to be omissions that cannot be discovered in time.

(2) Control the research process and promote the smooth progress of the research work.

Because the research work is actually chatting and talking with customers, it is likely to often digress, and customers' energy is generally not concentrated and distracted. At this time, researchers should be able to control the whole process, when to bring the customer's ideas back to the theme in time, and when to talk about other topics appropriately to adjust the atmosphere. All these require researchers to master flexibly, and in short, they should promote the research work as soon as possible.

(3) Listen carefully and record in time.

Listening carefully is to understand the complete expression of customers. Don't think you have understood anything. Be sure to interrupt the customer to express your point of view urgently, and then express your thoughts when the customer has completely finished speaking. Record the contents related to the customer's business, actual work and customer's ideas in time. Don't think that you won't record it if you understand it at that time. You must have the habit of taking notes. If you say a few hours, you can't remember many details.

(4). Understand the macro demand first, and then understand the detailed demand.

Follow the research process from the whole to the minute, from coarse to fine, from simple to complex. Whether you want customers to introduce their own business or talk about their own ideas, you should start with the overall big aspect first, and then start with the details. If you go into the details directly, you often can't grasp his main points and overall requirements.

(5). Dig the most primitive needs of customers, not just records.

What the customer tells you is only his understanding, and his understanding may be biased. And now some customers often tell you not the requirements but their design ideas, because they know more about software. For example, they just tell you, "If you do this function, I can come up with something." For us, we need to ask more questions, "Why are you doing this?" "What do you want to see the result? What is the purpose? " By analogy, you must find a way to understand the customer's original untransformed needs, because often what the customer tells you can't achieve his original purpose, and he thinks it can be achieved, so he will tell you the idea directly. If the demand researcher doesn't understand the most original demand and just records the customer's thoughts, then there will be something that can't solve the customer's actual problems.

This process can also help us narrow down the scope of demand. For example, customers begin to think about some functions, but after in-depth analysis and thinking, it is found that these functions cannot be realized because of some problems, or even if they are realized, the workload will increase greatly, which is much more complicated than originally thought. Then we can persuade customers to give up this idea on this basis. This is also a way to reduce functions when the contract amount is determined.

(6). Guide the potential needs of customers

Most customers don't have a complete plan or idea about what kind of software they want to make, and they often become clear in the process of conversation. In the process of research, the customer will not talk endlessly about his ideas, but ask the customer bit by bit. So ask what you need to master. In addition to the business you don't know, it is important to analyze and expand the customer's needs on the basis of what you already know, and bring out the needs that other potential customers have not said. For example, a customer wants to collect office supplies, which is very simple at first. Just fill in a collection application and approve it, but after careful analysis, it will lead to potential needs such as "item management", "category management" and "inventory management". If you don't consider these, then you and your customers will think that this function is very simple, and there will be problems in the estimation of completion time and workload. Prevent the situation of "I didn't expect this place to be so simple at that time and need to communicate with customers again" when designing or even developing the system.

Among them, if the potential demand is refined, it can be divided into two parts: 1) the system must; 2) The system is redundant. "Necessity" means that, like the above example, if the potential demand is not tapped, the demand that the customer has put forward will not be realized, that is, the seemingly simple and complicated problem is actually a complicated problem. "Unnecessary" means that it has little influence on the customer's needs that have already been put forward, and it is relatively independent, which is equivalent to the new needs learned in the process of communicating with customers again. For this part, researchers need to master it flexibly according to whether the contract amount of the project is determined, the workload and the relationship with customers. , and can be mentioned or not. But it will definitely increase the workload and complexity of the system.

(7). Avoid unreasonable demands of customers and requirements that are difficult to achieve.

What customers need is not necessarily what customers really need and want. Customers are never wrong, the only mistake is that we don't really understand the needs of customers.

When investigating, we should grasp the ability of the topic, distinguish useful functions, optional functions, useless functions and functions that cannot be realized, express our views in time, and make the conversation close to the topic.

In the process of investigation, customers will inevitably put forward some requirements that we can't achieve at all or are difficult to achieve even under the existing conditions. This situation requires not only the clever mind and quick response ability of researchers, but also good communication skills of researchers. You should be able to persuade customers to give up this method skillfully and let them understand, so that you won't think you are avoiding the problem and don't want to solve it. Generally, these methods can be adopted: 1) After the customer puts forward these requirements, he can immediately understand the real purpose of the customer's requirements, and then quickly think of another simple method to achieve this purpose of the customer. This is the best way;

2) If necessary, tell the customer directly that it can't be realized, and give reasonable reasons, especially when the customer says that such a system has already realized this way, such as what platform support they use, and the platform support needs to be paid extra.

3) Tell the customer directly that although it can be realized, it needs a lot of energy and cost, which the customer may not be able to bear. Of course, you must be able to tell the reason why the customer sounds reasonable.

These are not absolute, and researchers need rich software development experience, flexible mind and good expression ability to improvise.

(8) Pay attention to the coverage of demand research to prevent demand from being unrepresentative.

At the beginning of demand research, the only contact person defined by the customer is the head of each module! All we have to do is "take chicken feathers as arrows"! Find the right person to do good.

At the same time, it is also necessary to prevent only one customer from providing requirements, so that the actual software requirements become personal requirements. Limited by this person's level, the business knowledge he has mastered is in line with the leader's intention, which brings us greater demand risk, and a little carelessness will pave the way for the changes in software requirements in the future. In order to avoid this risk, on the one hand, researchers judge whether the requirements put forward by customers are appropriate or not, and whether they have too strong personal characteristics. On the other hand, at the beginning of the study, they tried to clarify the existence of similar risks with the upper level of customers, so that the person in charge of customers could avoid this situation in personnel arrangement, and at the same time let him know that this situation would exist, and once it does appear in the future, customers would not say it was our responsibility.

(9) Summarize and sort out the completed research contents in time.

Demand survey, relevant meeting minutes are forwarded in time, and the results are summarized in time, so that customers can listen to you and understand whether their demands are consistent.

After each investigation, we should sort out the contents of the daytime investigation in time, make up the urgent list that didn't come at that time in time, and conduct in-depth analysis and review to ensure that there are no missing problems, and list all the problems until the next day's investigation and ask customers.

The results of phased summary: under what circumstances? What person? What decision have you made? What happened?

(1). Beware of uncertainties.

What are the prerequisites for realizing a certain function? What work can't be carried out without preconditions? Clear division of responsibilities.

(2). Cost, cost or cost

High-level designers focus on designing software that "just" meets customers' needs and get the greatest benefits from developers and customers, rather than designing the most advanced software at any cost.

(3) Avoid only listening to the needs of some users and ignoring the needs of other users.

What is a successful demand survey?

1. Characteristics of requirements specification

Correct, clear, unambiguous, consistent (there is no contradiction between requirements), necessary (don't unnecessarily increase development cost), complete (don't omit necessary functions such as permission configuration), realizable, verifiable (provide delivery basis), clear priority (don't be dragged down by details such as UI), and explain "what to do" instead of "how to do it".

2. Covering all reasonable requirements in the contract.

Attitudes towards requirements engineering can be divided into three types: passive, active and dominant. Only the latter two can develop successful products.

In practical work, we can establish the correspondence table between contract and requirement specification, and the correspondence table between contract and software function. Always remind the business scope that needs to be provided.

3. Cost risk is controlled.

4. Tap the potential demand

Think from a commercial standpoint, find a way out for the project, and apply for more financial and material resources.

Seven, signature signature.

The demand analysis report we prepared will finally be shown to customers, so that they can recognize our analysis results. In fact, this process is very important, and it is equally important to customers and us. Confirm business requirements with users (by way of meeting explanation), and the user leader will sign it. This is quite difficult.

Eight, demand the ability of researchers

1. Familiar with customer business.

For the part of the business that customers mainly want software to solve, it is best to know as much as possible through some means in advance. Even if you can't go deep in advance, you should use the opportunity of research to learn as much as possible. After the research is completed, there is no reason why you are not half a business expert.

2. Familiar with software development

In the process of research, on the one hand, you should judge the rationality and difficulty of customers' demands at any time, and at the same time, you should provide customers with good implementation methods when their ideas are immature, which requires you to be very familiar with software development. Many times, a requirements researcher is at least an excellent software developer. Because as users use computers more and more and have a certain understanding of all kinds of software, they often directly put forward some functional requirements. For example, when a task is initiated, it needs to be sent to many people. Then what kind of impact this function will have on our design and development requires field demand researchers to make judgments based on their own experience, and then come up with a favorable way to persuade customers to accept it skillfully.

3. Smart mind and quick response

You should be able to understand the content expressed by customers quickly and comprehensively, and you should be able to think quickly and respond in time. At the same time, because the level of customers is also high and low, especially those who are not good at expressing, it is even more necessary for you to analyze the essence from the unclear expression.

For example, in the investigation of tax system early warning, customers themselves did not have perfect early warning rules in advance, and many of them were improvised at the investigation site. So after such rules are finalized, do you dare to design and develop such content? Then researchers need to quickly spread, expand, analyze and think in their minds according to their own business knowledge and the rules put forward by customers on the spot, find out whether there are loopholes in the rules and continue to discuss with customers.

4. Good at expression and clear thinking

Be able to clearly convey your ideas to customers, especially in some difficult places, and be flexible in making customers understand your intentions in all possible ways. When you explain for a long time that the customer doesn't understand, you must think about what you didn't explain clearly.

5. Be good at observing and summarizing

In the process of dealing with customers, you should be good at observing every detail, analyzing whether these details have an impact on your work, and summarizing them in time after each stage of research to help better carry out the next research. For example, observe the actual work content and workflow of customers during the research interval, talk about the relevant situation, observe whether customers are still using other systems, and understand the situation of other systems; Observe the key figures in the customer base; Observe customers' hobbies, characteristics and so on. After the day's investigation is completed, review and sort out the contents of the day's investigation in time to screen out the problems, so that it is easier for customers to understand clearly in the next day's investigation.

6. Be good at taking notes and writing fluently

It has always been emphasized that at the customer's site, you should remember as much as you can hear and see, and as much as you can remember, especially when the customer tells about his actual work, business content and methods, no matter whether he is useful after returning, don't forget it because he understood it at that time, even if he doesn't have time at the moment, then he should make it up in time afterwards. Many of these first-hand materials can help you and people who have not participated in the research to understand the business needs. To prevent it from appearing, 1) What was understood at that time but not recorded, some details were forgotten when I came back; 2) Although I remembered it at that time, what I wrote was too simple. When I came back, I couldn't remember what I remembered at that time.