Software demand (Chapter 3)

zhaozj2021-02-17  79

Chapter 3 Recommendation Method for Demand Project

1 0 years ago, I have been passionate about the research of the development methodology of software, and the complete set of models, techniques, etc. are used to solve project problems. But now I pay more attention to the application of "best way". The best way emphasizes the use of software tools into multiple subcles to apply to different problems, not to design or purchase a set of solutions. Even if you use a business method, you should also add those recommended technologies that are considered in the industry.

The word "best method" is worth discussing: Who can determine what is "best"? And what is the basis for this conclusion? One solution is to bring this expert to the successful and failed items in many different organizations (Browm 1996). Experts lead to efficient or even invalid methods in those successful projects, which lead to inefficient or even invalid methods. In this way, experts can find recognized key ways to receive effective effects. These methods are "best ways", the essence is an effective method that contributes to the success of the project.

The title of this chapter is "Recommended Method for Demand Engineering" instead of "best way." The following seven categories have been introduced more than forty methods to help develop teams to do demand work, and the recommended methods are listed in Table 3 - 1.

Table 3-1 Recommended Method of Requirements

-------------------------------------

Knowledge Skills Demand Management Project Management

-------------------------------------

• Training Demand Analyst • Determine Change Control Process • Select the appropriate survival cycle • Training user representatives and managers • Establish a Change Control Committee • Basic Plan for Determining Demand • Developers in the field of training applications • Change impact analysis • Consultation Compilation terms • Tracking each change affecting work products • Management requirements Risk • Boundation and control versions of demand documents • Tracking requirements • Maintenance Change history • Tracking requirements Status • Measurement Stability • Use Demand Management Tools

-------------------------------------

Demand development

-------------------------------------

Get analysis writing specification verification

-------------------------------------

• Writing project view and scope • Drawing association map • Adopting software requirements Specification template • Review Demand Document • Determine demand development process • Create development prototype • Description Demand Source • Writing test cases on requirements • User group classification • Analysis Feasibility • Each requirement Note on the label • Write a user manual • Select product representative • Determine requirements Priority • Record business specification • Determine qualified standard • Establish a core team • Create a model to create a demand tracking capability matrix • Determine usage example • Write data Dictionary • Convening an application development • Application Quality Function File Contact (JAD) Conference (QFD) • Analyze User Workflow • Determine Quality Properties • Check Problem Reports • Reuse ------------- ----------------------

Not all entries above is the best way, perhaps, not all of the systematic assessment. But in any case, I and many practices feel that these technologies are very effective (Sommerville and Sawyer 1997). Each of them gives a brief introduction in this chapter and gives a reference to the technical source in more detail.

Table 3 - 2 The methods in Table 3 - 1 are packetified in accordance with the priority order and implementation difficulty. Because the methods listed are beneficial, it is best to step by step, first from those relatively easy to implement, the project has a big impact on the project.

Don't think about all these methods for your next project. It should be considered to recommend some of these methods into your needs toolbox. No matter which phase of your project is developing, you can start using certain methods, such as changing management. Other requirements, such as demand acquisition, can be applied when your next project begins. Of course, some other methods may not be suitable for your current project.

Chapter 4 introduces some methods for evaluating demand engineering, and designing a step diagram of implementing demand methods improvement. Specific improvement methods are given in this and Chapter 4.

3.1 Knowledge Skills

Most of the software developers have no formal training for the skills required for efficient demand projects. However, many developers will always play a role of a demand analyst in a certain stage in professional life, working with customers: collect, analyze, and write demand documents. It is not possible to expect the developer's "heaven" in the information of the demand engineering. A certain training will help improve the capacity and level of demand analysts.

Because the demand is extremely important to project success, all project risk bearers should have a basic understanding of the importance, rationality and methods of demand projects. The project risk bearer (such as developers, marketers, customers, testers and managers) will conduct a summary of the day-to-day demand process, which is very effective for establishing a cooperative team. All participants will better understand what the challenges faced, and what you need to do for the entire team. Similarly, developers can also understand the terminology and some basic concepts in the application field.

1) All developers of training needs analysts should receive a basic demand engineering training. However, those who are responsible for collecting (C A P T U R I N g), writing documents, and analyzing user needs should be a one-week or longer training. Organize high-level demand personnel, through good information exchange, understand the application field and effectively apply maturity technology in demand engineering.

2) User representatives for training software requirements and managers participating in software development should accept training for demand projects, and development managers and customer managers should also participate in the training, development managers and customer managers. Such training will make them understand the importance of emphasis on demand, and the risk of ignoring demand. Some users who have participated in the demand seminars that I organized, they can understand the software developers later. 3) Let developers understand the basic concepts of the application to organize some discussions on customer business activities, terms, goals, etc. to help developers have a basic understanding of the application field. This reduces the rework of misunderstanding and engineering. You may have to arrange a user partner for each developer to explain business terms and concepts during the project. Product representatives should play such a role.

4) Write the project terminology to reduce communication, editing a dedicated vocabulary in the field of project applications, including those with multiple meaning and usage, but also those in the special field and There are different meanings in general use.

3.2 Requirements

Chapter 1 discusses three levels of demand: business, users and functions. In the project they come from different sources at different times, there are different goals and objects, and they need to write as a document in a different manner. Business needs (or product views and scope) should not include user needs (or use instance), and all functional requirements should be derived from user needs. At the same time, you also need to get non-functional needs, such as quality properties. You can find the details of the relevant topics in the following sections: • Chapter 4 - Determining the demand development process. • Chapter 6 - Write project views and scope documents. • Chapter 7 - Classify the user group and summarizes its characteristics, and select Product Champion for each user class. • Chapter 8 - Let the user represent the use of instances. • Chapter 11 - Determining quality properties and other non-functional needs.

1) Determine the demand development process to determine how to organize the collection, analysis, refinement, and verify steps, and write it as a document. For important steps to give certain guidance, this will help analyst work, and also make arrangements and schedules for collecting demand activities easier.

2) Writing a project view and scope document project view and range documents should include high-level product business destination, all instances and functional requirements must follow the business needs that can be achieved. Project view Description Enables all project participants to reach a consensus on the objectives of the project. The scope is a reference as an assessment or potential characteristics.

3) Classify the user group and summarize their respective characteristics to avoid negligent a user group demand, and customers who may use the product may be divided into different groups. They may differ in terms of frequency, use characteristics, priority, or proficiency. Detailed description of their personal characteristics and task status will help product design.

4) Selecting the product representative of each type of user for each type of user to choose a person who truly represents their needs as the representative of the type of user and can make decisions. This is the most easy to develop for the development of internal information systems, because at this time, the user is the staff around you. For commercial development, it has to establish a good partnership in major customer or testers, and determine the appropriate product representative. They must have been involved in the development of the project and have the right to make decisions.

5) Establishing a core team of typical users to convene similar products or your previous versions of your products, and collect the functional needs and non-functional needs of the current product from them. Such core teams are especially useful for commercial development because you have a huge and diverse customer base. The difference from the product representative is that the core team members usually have no decision.

6) Let the user represent the use of instances to collect them from the user representatives to complete the description of the tasks of the software to complete the required tasks, discuss the interactive mode and dialog requirements between users and systems. The standard template can be used when writing a document using the instance, and the functional requirements can be obtained on the basis of use.

7) Convening Application Development Contact Conference Application Development Contact (JAD) Conference is a wide-ranging, simple special seminar (Workshop), is also a good cooperation approach between analysts and customer representatives, and can The draft of the demand document is proposed. The conference can be paid in a close and concentrated discussion to put the partnership between customers and developers into practice (Wood and Silver 1995). 8) Analyze the process of observing the user's executive business task. Draw a simple schematic (best to use data flow graph) to draw when and how users get, and how to use them. Preparation of business process documents will help clarify the use of the product and the functional requirements. You may even find that customers do not really need a new software system to meet their business goals (McGraw and Harbison 1997).

9) Determine quality attributes and other non-functional requirements to consider the quality characteristics of non-functionality outside of functional demand, which will make your product reach and exceed the expectations of customers. These features include performance, effectiveness, reliability, availability, and the like, and it is very important to provide information provided on these quality attributes.

10) Through the question report to the current system, further improve the problem of demand customers, providing a lot of rich improvements and increasing features for new products or new versions, responsible for providing user support and help can collect demand The process provides extremely valuable information.

11) Cross-project reuse requirements If the functionality of the customer is very similar to the existing products, you can see if there is sufficient flexibility to allow for reusing some existing software components.

3.3 Demand Analysis

Requirement Analysis includes refining, analysis, and careful review of the collected demand to ensure that all risk bearers understand their meaning and find out where the errors, omissions or other indifferent places. Analysts determine if all requirements and software requirements specifications have reached the requirements of excellent demand in Chapter 1. The purpose of the analysis is to develop high quality and specific needs so that you can make practical project estimates and can design, construct, and test.

Typically, part of the demand is described in a variety of forms, as described in text and graphics. Analysis These different views will reveal some deeper issues, which is a single view> Unable to provide (Davis 1995). The analysis also includes communication with customers to clarify certain confusing issues and clear which needs are more important. Its purpose is to ensure that all risk assumes have reached a consensus on the project as soon as possible and have the same and clear understanding of future products. The following chapters discussed in detail on the tasks in demand analysis: • Chapter 6 - Drawing the system. • Chapter 9 - Creating a Data Dictionary. • Chapter 1 0 - Establish models for demand. • Chapter 1 - Create a user interface prototype. • Chapter 1 3 - Determines the demand priority.

1) Drawing system related map This associated map is a simple model for the boundaries and interfaces of the system and system external entity é. At the same time, it also clarifies the information flow and material flow through the interface.

2) Creating a user interface prototype When a developer or user cannot identify a demand, a user interface prototype - a possible local implementation - thus makes many concepts and possible things more decent. The user will make the project participant to better understand the problems to be solved by evaluating prototypes. Note To find out all the conflicts between demand documents and prototypes.

3) Analysis of the feasibility of demand in the permissible cost, performance requirements, analyze the feasibility of each demand implementation, clear the risk of interlinking to each demand, including conflicts with other needs, dependence and technical obstacles for external factors .

4) Determine the priority application analysis method of the demand to determine the priority of the use of instances, product characteristics, or individual demand. Determine which features or which type of product will be included based on priority. When the requirements are allowed, each change is added in a particular version and the required changes are made in that version plan.

5) The graphic analysis model for the need to establish model needs is a highly supplementary instructions for software requirements. They provide different information and relationships to help find incorrect, inconsistent, missing and redundant needs. Such models include data flow diagrams, entity relationship diagrams, state transform diagrams, dialog boxes, object classes, and interactions. 6) Creating Data Dictionary Data Dictionary is defined for all data items and structures used by the system to ensure that developers use unified data definitions. In the demand phase, the data dictionary should at least define the customer data item to ensure that the customer and the development team are consistent definitions and terms. Analysis and design tools typically include data dictionary components.

7) Use quality function to formulate quality functional provisioning (Q f D) is a high-level system technology that links product features, attributes to the importance of customers. This technology provides an analysis method to clarify those characteristics that are the most concerned. QFD divides demand into three categories: expectation, that is, the customer may not mention it, but if it is missing, it will make them dissatisfied; ordinary demand; excited demand, that is, it will bring a surprise to customers, but if it is not implemented Will not be blamed (z Ultne R1993; PARDEE 1996).

3.4 Demand Specification

No matter where you are from, no matter how you get it, you must use a unified way to write them as a visible document. Business needs To write a project view and range documentation. User needs must be written as a document with a standard using instance template. The software demand specification (Requirement Specification) includes software's functional requirements and non-functional requirements. You must clearly establish standard practices for each requirement and determine any convention in S R s to ensure that the S Ring is unified, and the reader will understand how to explain it. Several aspects about writing demand documents are discussed: • Chapter 8 - Record the business specification. • Chapter 9 - Adopting the S R S Template; NOTE for each demand. • Chapter 1 8 - Indicates the source of demand; create a demand tracking capability matrix.

1) Use the S r s template to define a standard template for writing software requirements documents in your organization. This template provides a unified structure for recording functional requirements and various other important information related to demand. Note that its purpose is not to create a new template, but use an existing template that can meet the project needs and suitable for project features. Many organizations are started using the S r s template described in I E E E E E E E E E E E E E E E E E E E EE. It is useful to believe that templates is useful, but sometimes appropriate changes according to project characteristics.

2) In order to make all project risk bearers understand why the SRS provides these features, it is possible to trace the source of each demand, which may be a use of instances or other customer requirements, or some High-level system requirements, business specifications, government regulations, standards or other external sources.

3) Provide a convention to provide a separate recognizable reference numeral or marker for each requirement to provide each requirement for S R s. This convention should be very sound, allowing addition, deletion, and modification. The demand for the label makes the demand are tracked, record the demand change and establish metrics for the status and change activities.

4) Recording business regulation business norms refers to what actions are made about the operation of the product, such as anyone who can take us under what circumstances. Write these into one independent part in S R s, or an independent business specification document. Some business specifications will lead to the corresponding functional needs; of course these needs should also be able to trace the corresponding business specifications.

5) Creating a demand tracking capability matrix to establish a matrix to connect each demand and implementation, testing its design and code section. Such a demand tracking capability matrix also links the needs and high-level needs and other related needs. Create this matrix during the development process, not to wait until finally replenish it.

3.5 Demand Verification

Verification is to ensure the accuracy of the demand, completely express the necessary quality characteristics. When you read the software requirements Specification (S R s), you may feel that the demand is right, but it is likely to have problems when implementing. When the requirements are written in accordance with the requirements, you may find the erliness in the description. And all of this must be improved, because the demand instructions are the basis for designing and final system verification. Customer participation plays an important location in the Requirement Verification, and Chapter 1 will further discuss it. 1) Review demand documents formally review the demand document is a very effective way to ensure software quality. Organize a group consisting of different representatives (such as analysts, customers, designers, testers), carefully examine S R s and related models. In addition, the informal reviews made during demand development are also beneficial.

2) Write a black box function test case based on the product characteristics required by the requirements based on the preparation test case. The customer has confirmed whether the desired requirement is reached by using a test case. It is also necessary to trace back the function demand from the test case to ensure that there is no need to be negligent, and ensure that all test results are consistent with the test example. At the same time, to verify the correctness of the demand model using test cases, such as dialog box and prototypes.

3) Writing User Manual Depending on the requirements of demand development, you can draft a user manual, use it as a reference and assistance of demand specifications. Excellent User Manual To describe all the functions visible to the user with a light-visual language. The auxiliary demand, such as quality attribute, performance requirements, and invisible functions to users, will be described in S R s.

4) Determine the qualified criteria to let the user describe what products meet their requirements and suitable for them. Establish a qualified test based on the scenario description or use examples (HSIA, Kung, And Sell 1997).

3.6 Demand Management

When you complete your needs, you will inevitably encounter changes in project needs. Effective change management needs to evaluate the potential impact of changes and possible cost fees. The Change Control Committee is negotiated with key project risk bearers to determine which needs can be changed. At the same time, whether it is in the development phase or in the system test phase, the status of each requirement should also be tracked.

The establishment of a good configuration management method is a prerequisite for effective demand management (Requirement Management). Many development organizations use version control and other management configuration techniques to manage code, so you can also use these methods to manage your demand document, and demand management is also a way to introduce a new management configuration method into an organization of the project. The following sections discuss various technologies involved in demand management: • Chapter 1 6 - Establish a demand reference version and a demand control version document. • Chapter 17 - Determining the Demand Change Control Process; Establish Change Control Committee. • Chapter 1. Chapter 1 - Effects of Demand Change Influence; track all work products affected by demand changes. • Chapter 1 9 - Using Demand Management Tools.

1) Determine the demand change control process to determine a process of change a selection, analysis, and decision-making requirements. All demand changes need to follow this process, and the commercial problem tracking tool can support the change control process.

2) Establishing a Change Control Committee organized a team consisting of project risk bearers as a Change Control Committee, which is determined which needs change, whether this change is within the project, and make decisions for this assessment to determine the selection Which, give it, and set the priority order of implementation to develop a destination version.

3) Change the impact analysis of demand changes should be evaluated for each selection to change to determine its impact on project planning and other needs. Clearly related tasks related to changes and evaluate the workload required to complete these tasks. These analyzes will help change the control committee to make better decisions.

4) Tracking all work products affected by demand changes When performing a requirement change, refer to the requirements, design templates, source code, and test cases, which may also need to be modified with reference to demand tracking capabilities. This reduces the opportunity to change the product due to negligence, which must be carried out in the case of change demand. 5) Establish a demand reference version and a demand control version document to determine a demand base, which is a snapshot of consistency requirements at a specific time. The following demand changes follow the change control process. Each version of the demand specification must be an independent description to avoid confusion of the script and benchmark or new and old versions. The best way is to use the appropriate configuration management tool to locate the demand document under version control.

6) Maintenance requirements change history records change the date of the demand document version and the changes made, and the reason, which is also responsible for updating and updating the new version number, etc. Version Control Tools can automatically complete these tasks.

7) Track the status of each requirement to establish a database, where each record is saved. Save important properties of each feature requirement, which includes status (such as recommended, passed, implemented, or verified), which can get the number of requirements for each state class at any time.

8) Measure the number of demand stability records and the number of changes per week or monthly change (addition, modification, deletion). Excessive demand changes "a alarm signal" means that the problem is not really figured, and the project scope is not well determined or the policy changes.

9) Using the Demand Management Tools Business Demand Management Tools can help you store different types of requirements in your database, identify properties for each requirement, track your status, and establish tracking capabilities between demand and other software development work products chain.

3.7 Project Management

Software engineering management methods are in nature closely related to the demand process. The project plan is based on feature, and the demand change will affect these plans. Therefore, the project plan should allow a certain degree of demand or expansion of the project. If you start, the demand cannot be determined, you can choose a software development method survival cycle to allow this uncertainty, and gradually implement it after understanding. More details on the Administrative Project Management Project Management) Method will be discussed in the following sections: • Chapter 5 - Write the risk of documentation and management and demand. • Chapter 1 5 - Project Plan Based on Requirements. • Chapter 1 6 - Record the development and management of demand development and management.

1) Selecting a suitable software development method Survival cycle classic waterfall method software development surveillance cycle is only applicable to the requirements of the requirements in the early stage of the project. Your organization should choose several different methods (McConnell 1996) in varying degrees of different types of projects and demand instructions. If the demand is not possible in the early days, it is unable to determine it, starting from the most clear and easy-to-understand demand, establish a robustly modified structure, and gradually add addition. Products that achieve part of the characteristics can be released as an earlier version (Gilb 1998).

2) The demand-based project plan will continue to change with the progress arrangement of the project development plan as the demand details continue to be clear, perfect. At the beginning, you can estimate the workload required for the development of the project view and the scope. The estimate of the progress arrangement is unreliable, but the estimate of the progress arrangement is very unreliable, but with the improvement of the demand. It is estimated that it will be continuously improved.

3) When the demand change, the negotiation project is approximately when adding new demands in the project, it is estimated whether you can use the existing resource quality and quantity. If you can't, connect the implementation and management of the project, negotiate a new, practical agreement (Humphrey 1997). If the negotiation is unsuccessful, the possible consequences and update item risk management plans will be linked to reflect new unfavorable factors for project success.

4) Write documentation and management related risks using free discussion methods and write project risk related to demand. Use various methods to mitigate or prevent these risks, implement these methods and track their development and effects. 5) Tracking the workload requirements of the demand project costs and the workload spent on the development and management activities. Using these data can evaluate whether the planned demand activity has reached the desired requirements and can provide better resources for future projects.

Next: • Back to Chapter 1 In the next step, you have clarified some issues related to the needs. The recommended practices learned from this chapter may help solve these problems. For each method of the proposal, it is necessary to find obstacles that may bring difficulties in your organization. • It is a good demand method to be confirmed in the previous step. In response to each method, point your project's ability: expert, skiller, hand or novice. If you are skilled in your team, you have to ask a participant of the project to learn more knowledge and will ask other people in the team.

转载请注明原文地址:https://www.9cbs.com/read-31259.html

New Post(0)