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.