20 rules of demand analysis

xiaoxiao2021-03-06  110

For commercial users, they are hundreds of suppliers, and there are thousands of consumer customers. How to use the software management of intricate suppliers and consumer customers, how to do fine into a small piece of material, sales, adjustment, and stored goods, these are the reasons for commercial companies that require information management systems. The meaning of software development is here. It is the key to the success of the software development.

Manager: "We must establish a complete commercial management software system, including the import, sales, adjustment, deposit management of goods, is the chain business model of the headquarters - stores. Automatic ordering, supplier automatic settlement, vendor passed through communication Sweep bar code to achieve sales, managers can check with store goods and inventories at any time. In addition, we have to provide reports on commodity operations for the government department. "

Analyst: "I have understood the general structure framework of this project, which is very important, but we must collect some needs before formulating a plan."

The manager feels strange: "I am not just telling you how my needs?"

Analyst: "In fact, you only explain the concept and goals of the entire project. These high-level business needs are not enough to provide development content and time. I need to discuss the business of the business that will be used to use the system, and then you can really understand After you need the function and user requirements of your business objectives, you can find what is existing components, which is needed, which can save a lot of time. "

Manager: "The business person is in investing. They are very busy, there is no time to discuss various details with you. Can you explain your existing system?"

Analysts try to explain the rationality of collecting demand from the user: "If we are just guessed the requirements of the user, the results will not be satisfactory. We are just software developers, rather than procurement experts, operators or financial experts, we and I don't really understand what you need to do in the internal operation of this company. I have tried it. I didn't really understand that these issues began to coding. There are no people to be satisfied with the product. "

Manager insisted: "OK, OK, we don't have so much time. Let me tell you our needs. In fact, I am very busy. Please start development, and let me know about your progress."

Risk after hiding after the fog of demand

We see that a customer project manager and the analyst of the system development team discuss business needs. In project development, all project risk bearers are interested in the needs of the needs analysis. The risk assuments referred to herein include the customer's project leaders and users, development requirements analysts and project managers. This part of the work can be done, and it can develop a very good software product, and it will also satisfy customers. If the processing is not good, it will lead to misunderstandings, setbacks, obstacles, and threats of potential quality and business value. Therefore, visible - demand analysis has laid the basis for software engineering and project management.

Down the fog of demand analysis

A dialogue like this often occurs during software development. The demand for the customer project manager is in the case of analysts, like "watching flowers in the fog" and makes developers feel confused. So, we open the fog and analyze the specific content of the needs:

· Business Demand - Reflects the organization or customer's high-level target requirements for the system, product, usually in the project definition and scope documentation.

· User Demand - Describes the task that the user must be completed using the product, which is explained in an instance or scheme script.

· Functional requirements - Define the software features that developers must implement, allowing users to use the system to complete their tasks, thereby meeting business needs.

• Non-functional demand - describes the operations of the system to demonstrate to user behavior and execution, etc., which include products that must be complied with standards, specifications, and constraints, and specific details and constructs of operation interfaces.

· Demand Analysis Report - The functional demand explained by the report fully describes the external behavior of the software system. "Demand Analysis Report" has played an important role in development, testing, quality assurance, project management, and related project functions.

The previously mentioned customer project manager usually clarifies the high-level concept and main business content of the product, and has established a guided framework for after success. Other any explanation should follow the "Business Demand" provisions, but "business needs" does not explain many of the details required for developers to provide development. Next level demand - user needs, must be collected from users who use the product. Therefore, these users constitute another software customer, they know what tasks and some non-functional characteristics needs to be used. For example: the ease of use, robustness, and reliability, which will allow users to accept software products with this feature.

The manager layer sometimes tries to talk to the actual user, but usually they cannot accurately describe "user needs". User needs from the real user of the product, the actual user must participate in the process of collecting demand. If you don't do it, the product is likely to leave a lot of hidden dangers due to lack of sufficient information.

During the actual demand analysis, the above two customers may feel that there is no time to discuss with demand analysts, and sometimes the customer also wants analysts to discuss and write demand instructions to speak users' needs. Unless the demand encounters is extremely simple; otherwise it cannot be done. If your organization wants the software to succeed, you must spend a few days to eliminate the embarrassing place in the demand and some aspects that make developers feel confused.

Excellent software products are based on excellent demand, and excellent demand is derived from effective exchanges and cooperation between customers and developers. Only the participants of both parties understand what they need, and the success of success is to establish a good cooperative relationship.

Due to the fact that the project is increasing, all project risk bearers have a common goal, that is, everyone wants to develop an excellent software product that can achieve both commercial value and meet user requirements, and make developers feel excellent software products.

Need for customers

Customers and developers have a good way. The following recommendations 20 rules, customers and developers can reach the following contents through review. If you encounter a difference, it will be reached by negotiation to achieve mutual understanding of your respective obligations, in order to reduce the future friction (such as one request and the other party is not willing or not satisfying the requirements).

1. Analysts should use the expression that meets the customer's language habits.

The demand discussion focuses on business needs and tasks, so terms are used. Customers should teach analysts for analyzes related terms (eg, pricing, printing goods, etc.), and customers do not have to understand the terminology of the computer industry.

2, analysts to understand customers' business and goals

Only analysts can better understand the customer's business, in order to make the product better meet the needs. This will help developers to design outstanding software that truly meets customers and achieves expectations. To help develop and analyzers, customers can consider inviting them to observe their workflow. If you are switching a new system, development and analysts should use the current legacy system, which is conducive to how the current system works, and its process is available. s

3. Analyst must write software demand reports

Analysts should organize all the information obtained from customers to distinguish business needs and specifications, feature requirements, quality objectives, solutions, and other information. Through these analysis, customers can get a "demand analysis report", which reaches an agreement between developers and customers to develop product content. The report should be prepared in a way that customers think is easy to read and understand. Customers should review this report to ensure that the contents of the report have accurately express their needs. A high quality "demand analysis report" helps developers to develop genuine products.

4. Requirement of explanation of demand results

Analysts may adopt a plurality of charts as a supplementary description of the textual "demand analysis report", because the working chart can clearly describe certain aspects of system behavior, so various charts in the report have extremely valuable value; though they Not too difficult to understand, but customers may not be familiar, so customers can ask analysts to explain the role of each chart, the meaning of symbols and demand development work, and how to check the chart has no error and inconsistency.

5. Developers must respect customers' opinions

If the user does not understand each other, the discussion about the needs will have an obstacle. Common cooperation can make everyone "listen to it". Customers who participated in the demand development process have the right to request developers to respect them and cherish their time for success. Similarly, customers should also demonstrate their efforts to develop people's common goals for the project. 6. Developers should make recommendations and solutions for demand and product implementation

Usually, customers say "demand" is already a practical implementation plan, analyzers should try their best to understand real business needs from these solutions, and should also find out that there is an existing system does not match the current business to ensure The product will not be ineffective or inefficient; after thorough understanding things in the business sector, analysts can propose considerable improvements, experienced and creative analysts can also put forward some users have not found very much. Value system characteristics.

7, describe product use characteristics

Customers can ask analysts to pay attention to software easier while achieving functional requirements, because these ease-use features or quality properties make customers more accurate and efficiently. For example, customers sometimes require the product to "interface friendship" or "robust" or "high efficiency", but for developers, it is too subjective. The correct approach is that analysts understand which features have a negative impact on which characteristics is negatively influenced by inquiring and surveying the customer's "friendly, strong, efficient, and the specific characteristics included in the customer." Doing weighing to ensure reasonable payment.

8, allow reusability of existing software components

Demand usually has a flexibility, and analysts may find that some software components are very consistent with customer description. In this case, analysts should provide some choice of demand for developers to reduce new systems. Cost and saving time, without having to be developed in strict accordance with the original needs. So, if you want to use some existing business common components in our products, they are not fully fitted with the features you need, and the flexibility of a certain extent is extremely important.

9, require a real and reliable assessment of the cost of the change

Sometimes, people will make different options when they face better and more expensive programs. At this point, it is necessary to evaluate the impact of demand changes to help business decision-making. Therefore, the customer has the right to develop a true and credible assessment by analyzing the development personnel, including impact, cost and loss. Developers cannot exaggerate assessment costs because they do not want to implement changes.

10, system that meets customer functions and quality requirements

Everyone wants the project to succeed, but this not only requires customers to clearly inform the developer all the information required for the system "what", but also asks the developers to understand clearly and restrictions through communication, be sure to express your Assumptions and potential expectations, otherwise developers develop products are likely to be unable to satisfy you.

11, explain your business to the analyst

Analysts must rely on customers to explain business concepts and terminology, but customers cannot count on experts will become experts in this field, but they can only understand your problems and goals; do not expect analysts to grasp the subtle potentials of customer business, They may not know "common sense" for customers.

12. Take the time clearly explain and improve the demand

Customers are very busy, but no matter how customers are necessary to take the time to participate in the "Mental Summit" discussion, accept interviews or other activities to obtain demand. Some analysts may first understand your point of view, and afterwards find you still need your explanation, please patiently treat some demand and demand refining process, because it is a natural phenomenon in people's communication, not to mention This is extremely important for the success of software products.

13, accurate and detailed description

It is difficult to write a clear and accurate demand document. Since the problem of processing details is not only annoying and time consuming, it is easy to leave ambiguous demand. However, during the development process, this kind of fuzziness and inaccuracy must be solved, and the customer is precisely the best candidate to solve these problems. Otherwise, there is only to rely on the developer to correctly guess. This is a method for temporarily adding the "to-pending" flag in the demand analysis. This flag can indicate which is where it is necessary to further discuss, analyze or increase information, and sometimes it is also a "to be determined" because it is difficult to resolve or not handle it. Customers should try to explain the contents of each demand so that analysts can accurately write them into the Software Demand Report. If the customer does not accurately expresses, it is usually required to use prototype technology. Through prototype development, customers can repeatedly modify them with developers, and constantly improve the demand definition.

14, timely decision

Analysts will require customers to make some choices and decisions, including processing methods from multiple users or in selecting compromise in quality characteristics conflicts and information accuracy. Customers who have the right to make decisions must actively treat this, do it as soon as possible, do decide, because developers usually only wait for customers to make decisions to act, and this wait will delay the progress of the project.

15, respect the feasibility and cost assessment of developers

All software features have their cost. Certain product features of customers may not be in technology, or implement it to pay high cost, and some demand tries to achieve performance that is impossible to achieve in the operating environment, or attempts to get some fundarated data. . Developers will have a negative evaluation of this, and customers should respect their opinions.

16, the priority of the demand

Most items do not have enough time or resources to achieve functionality. Decide which features are necessary, which is important, is the main part of demand development, which can only be responsible for setting up demand priority, because developers are impossible to decide the needs priority according to customer views; developers will be for you Determine the priority to provide information about the cost and risk of each requirement.

Under time and restrictions, the desired characteristics can be done or have completed the views of developers. Although no one is willing to see that the needs of their hopes are not implemented in the project, after all, it is necessary to face reality, and business decisions sometimes have to narrow the project or extend the period of time according to the priority, or increase resource, or in quality. Find a compromise.

17, review demand documentation and prototype

The customer review demand document is a chance to bring feedback to the analyst. If the customer thinks that the "Demand Analysis Report" written is not accurate enough, it is necessary to tell the analyst as soon as possible and advise the improvement.

A better way is to develop a prototype for the product. This customer can provide more valuable feedback to developers, making them better understand your needs; prototype is not an actual application product, but developers can translate them, expand their successful systems.

18. Demand changes to contact now

Constant demand changes will bring serious adverse effects to the quality products completed within the scheduled plan. Change is inevitable, but in the development cycle, the more changes in the late stage, the greater the impact; change will not only lead to extremely high cost, but will be delayed, especially after the general structure has been completed, it needs to increase New feature. Therefore, once the customer finds that it is necessary to change the needs, please notify the analyst immediately.

19. Follow the process of handling demand changes in the development team

In order to reduce the negative impact of changes to the minimum, all participants must follow the project change control process. This requires not abandoning all proposed changes, analyzes each required change, considers, and finally make appropriate decisions to determine which changes should be introduced into the project.

20, respect the needs analysis process used by developers

The most challenging in software development is the collection of demand and determine its correctness, and the method adopted by analysts has its rationality. Perhaps our customers think that the process of collecting demand is not cost-effective, but please believe that the time to spend demand is very valuable; if you understand and support the analyst to collect, write demand documents and ensure the quality of its quality, then The entire process will be more smooth. What does "need to confirm" mean

Signing on the "Demand Analysis Report" confirmed, usually considered to be a sign-acting behavior that the customer agrees, but in practice, customers often see "signature" as a meaningless thing. "They want me to sign under the last line of the demand document, so I signed it, otherwise these developers do not start coding."

This attitude will bring trouble, such as customers who want to change demand or dissatisfaction with the product: "Yes, I signed the words on the demand analysis report, but I didn't have time to read all the content, I am I believe you, you are not let me sign. "

The same problem also happens only "signing confirmation" as an analyst of the completion task, once there is a need to change, he pointed to the "Demand Analysis Report": "You have signed it on the needs, so these It is what we have developed. If you want anything else, you should tell us earlier. "

These two attitudes are not right. Because it is impossible to understand all the needs in the early days, there is no doubt that the demand will change, and the signature confirmation on the "Requirements Analysis Report" is the correct way to terminate the demand analysis process, so we must understand what it means .

The signature of the "Demand Analysis Report" is based on a baseline of a demand agreement, so we should understand such a signature: "I agree that this demand document describes our understanding of the demand for project software, further changes can be found on this Dipped through the change process defined by the project. I know that the change may enable us to reissue costs, resources, and project stages tasks. "For demand analysis, a certain consensus will make both parties to endure future friction, these friction comes from The improvement of the project and the error of the demand or new requirements for market and business.

The demand confirmed that the true face of the fog, showing the demand, and draws the initial demand development work on both parties clearly, and helps form a continuous and good customer relationship and laid a solid foundation for the project. Foundation.