Correctly responding to demand changes

zhaozj2021-02-16  55

Understanding for demand and demand changes

Software demand is the most critical input of the entire software project. Compared with traditional manufacturers, the demand of software has the characteristics of fuzziness, uncertainty, variation, and subjectivity. It is not like hardware such as production vehicles, computers. Demand, is tangible, objective, can be described, detectable. Software demand is the hardest problem of software projects, and it is a key factor in success or failure of the relationship project, so it is important for the processing of demand analysis and demand.

Software demand changes will bring huge risks to the project, which will lead to increased costs, development cycles, decline in product quality and decline in team work efficiency, so demand changes should be avoided in software development projects. However, due to the relevant requirements of the government's related requirements, the adjustment of the user's market strategy, the development of the industry can lead to changes, and these factors are often inevitable. If there is only one truth during the software development, it must be that the change in demand is eternal, and the demand cannot be complete. Thus, for the demand change, it should be treated correctly, and the negative impact is reduced to the lowest.

Reduce demand changes

As mentioned earlier, demand changes are often inevitable. Usually, the project is expected to spend a large amount of pneumatic avoidance, and the final demand change will always appear. But this does not mean that the project developers should not do this, and the project developers should minimize demand changes to the needs of the software testing, the project developers should reduce demand changes before demand and change in demand and more. The risk is reduced to the lowest. Project developers do not try to eliminate demand changes before project design, so that it is often not expensive.

Compared to demand developers, customers may have insufficient understanding of demand, think they pay for money, programmers or software development companies to serve it, so customers often see demand changes as a play, with personal preferences Free changes in demand. Therefore, when the demand staff contacts the user representative or user sector, it should be attitudes to them, and they negotiate with them, especially if they should make them clear the pricing of the software should be related to the function of the software, and the demand will change The risk of risks should be borne by customers and project developers. By doing so, let customers have a good understanding and identification of the functions they need before the needs of the needs, rather than waiting until the programmer begins to encode, before it is proposed before the demand analysis, it can be proposed. .

After making customers understand the importance of reducing demand changes, demand analysts should take appropriate methods to communicate with customers to help them clarify their needs. Relationship between demand analysts and customers should not be just recorders and demand providers, and their relationship should be more of strategic partnerships. Although demand analysts and customers have the relationship between service providers and customers, they have a common goal: to develop software suitable for customer needs, so demand analysts should discuss with users in addition to the demand proposed by customers, and propose Some suggestions use the right tool to help customers ask for demand. At the time of demand analysis, try to convene demand seminars, invite developers and customers to discuss, allow any proposing needs at seminars, and organize these demands and regularly discuss them by customer representatives and demand analysts. The election function can make the demand for complete demand. At the time of demand development, developers use prototypes to inspire customers' thinking of functionality. It is not a good way.

Although the demand cannot be complete, it is also worth it when the project starts design.

Specification document

Demand documents act as a pivotal role in the development of customers and developers. Demand documents should be written in a certain format and specification, and should have integrity, consistency, baseline control, history and other characteristics. After the documentation is written, it should be handed over to the customer to review, and the baseline is determined based on the customer satisfaction. A full-specific demand document not only helps designers and codents to complete project development, but more importantly, it can be referred to as a phased result. After the change is changed, the corresponding document should also be generated, and the writing of these documents should also be written in the form of a specification. Demand change documents should also include baselines for the next modification, and should also contain historical records for new and historical documents for developers and customers to clear the current document content, in order to view.

Designed a good architecture

Development software is like building a house, the software architecture is like the planning of the house. Two-story high home homes and dozens of high-level commercial buildings are ideal. Similarly, the architecture used by large software and small software will also be different. Therefore, it is also critical to design a reasonable architecture for the success or failure of the project.

The establishment of the architecture is generally located after the end of the demand analysis, before the software design. The design of the software architecture is to analyze the entire system from the perspective of the structure, select the appropriate component, arrange the interaction between the components, and the constraints between them, form a system frame to meet user needs. When designing a software architecture, it should not only think about how to meet the needs of users now, but also appropriately take into account changes in demand.

The use of elasticity and scalable software architecture can effectively reduce the risk and maintenance costs caused by demand changes, and can adapt to changes in demand under the premise of the project range has not changed. The flexibility and scalability design of the architecture enables developers to make a combination and separation of each functional layer above such an architecture, or distributes each of the functional layers to jointly provide services on various servers, and thus quickly pair The demand change responds and has the same effect on the developed system.

The design of the architecture is in addition to considering the flexibility and scarability of the architecture, it should also be used to use loosely coupled structures, so that the degree of correlation between the various components in the structure may be as small as possible, so it can change in demand. The change in the time of a component produces as few effects on the other component.

There are many existing software architectures, including pipe-filter structures, B / S structures (including C / S structures), interpreter / virtual machine structures, blackboard systems, and architecture based on middleware technology. In the design architecture, the system structure that is suitable for the project needs should be selected, and then the architecture is relatively smaller from which the scalability is preferred, the components is relatively small. Architecture based on middleware technology is a good architecture than an extensibility. Adopt intermediate technology, the middleware is used as the user interface and the operating system and the network connection point, and the user provides services to the user, down the details of the operating system and the network. This hierarchical idea can adapt to the changes in the operating system and the network, and the scalability is very good. At the same time, it is possible to give a change in the middleware or change the reserved interface for the system to achieve functional requirements. Of course, the scalability is better than the architecture of the intermediate piece technology. The specific selection and application should be considered by the designer according to the actual needs.

Object-oriented thought

Demand is unstable, so there is no constant demand, but there is a stable thing in demand, this is the object. The world is consisting of objects, while the objects are lasting, such as animals, plants have a considerable time. Although objects are also changing, animals, plants are constantly evolving. But the object exists in a quite long period, and the existence time of animals and plants will certainly be longer than any company. The essence of object-oriented development methods analyzes the stable object of enterprises from the instability demand of enterprises, and organizes demand based on corporate objects, and architecture systems. The system thus derived is much more stable than the traditional system, because once the company's mode changes, it is only necessary to reorganize the stable corporate object. The three major characteristics of object-oriented (OO) ensures that OO technology can establish software systems that can be easily changed and reinforced with reusability. The package can narrow the problem, and the external change requires the impact of the system to define a certain class level or some type hierarchy, thereby changing a part of the system relatively simple; inherits can make changes based on the original technical foundation, very To greatly reduce duplication of development; polymorphism applications can change the implementation details of the system under relatively unified interfaces, thereby changing the behavior of the system.

Obviously, OO technology is an analysis and design method for enhancing software maintainability, robustness, and maintaining design stability, and can quickly react to demand changes to a certain extent, and relatively reduce costs required for demand changes. Therefore, the system and development system should be constructed in the system development process should be used to use object-oriented thinking.

Demand change control

As mentioned earlier, the demand change will inevitably happen, and how should the project developer respond when the demand change occurs?

Generally speaking, changes in demand typically mean that demand, the decrease in demand is relatively small, and the processing is relatively easy. When the customer puts forward new demand, the project developers should analyze the risks of these new needs to the current phase of the project, and they have obtained the cost of the need to achieve changes in change, including time, manpower, resources, etc., and discuss Is there any need to be changed and how to achieve changes under the minimum cost.

When the customer does want to change the demand change, the developer can develop a fast prototype to make the user experience to ensure that customers do to add these needs. After the customer and project developers jointly determine the change of demand, the project developers should sign a new contract with customers.

Project developers should decide when the project developers should decide when to implement these changes when they have changed their requirements and signed contracts or developers to change according to market and national policies. For those demand changes that have little impact and some priority, it can be implemented immediately in the project, and for the development of the development of the entire system, it is not very urgent needs to be in the next version. . Whether it is immediately implemented or placed in the next version, it should give new demand a sufficient development and test time to ensure product quality.

in conclusion

In the face of demand changes, in addition to reducing demand change and specification documents, from the perspective of analysis and design, by adopting a reasonable analysis and design method, we should also change our design and understand the needs of demand changes. Good control and management of demand changes, to achieve flexible response to demand changes, reduce maintenance costs and improve user satisfaction to a certain extent.

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

New Post(0)