Author: Ray wins in this article is selected from: CCID February 24, 2003
Although the idea of software engineering has been accepted by most of the programmers, it is not easy to convert this ideological transformation into software development process. For the reason, there are many factors, such as many programmers lack specialized training, tape skills, light norms, including some computer professional scoped programmers also have this problem; if many companies only pay attention to the development results of software products , Do not pay attention to the development process, objectively affect the programmer's target orientation. Such a variety of China's software companies are difficult to make a new step, and they have no talk. The programmer is of course difficult to blame as a creator of software products. The following is just a few of the many problems in the development process, maybe you don't make such a fault, I still quote an old saying: "If you change it, you will not be able to add." One sin: I know that all everyone knows that before the development of a product decision, the feasibility of product development needs to be analyzed, and the market analysis is critical. In fact, the market analysis is not more than three points. First, the product to be developed is market demand. Second, the company has the ability to obtain this market, and the company can benefit from the product (not necessarily to make money, such as company strategic interests, etc.). It seems simple, I want to completely find out and pay attention to it, so many products market analysis is easy to "propagate all", such as the use of specific requirements of individual users or the open product market unlimited expansion ( Analysts yourself imagine), technology drivers to ignore user needs and costs (such as Jun Star Program), etc., so that there is no expected market effect after the product is developed. The market analysis of the product wants to be comprehensive and accurately and accurate is indeed very difficult, and the usual accumulation and rational analysis is required, and it cannot rely on the big luck. Two sins: Draw cats, you may have this experience. After the product is developed, users are always unsatisfactory, if they do not meet their usage habits, function settings are unreasonable. Therefore, the demand analysis of the product is so important, there is no correct demand, the software is developing well, the technology is advanced, but it is just a vase of the furnish. The second cause of programmers, especially system analysts, is "painting cats", and the user's request is misinterpreted. A good demand analysis is not simply recording each of the specific demand points of the user, but to inspect the motivation behind the user's specific request, string the dispersed demand point into an organic overall, based on demand Beyond demand. " A good system analyst is not only a software expert, but also an excellent domain knowledge expert and communication. Three sins: Good gift projects have been postponed as software development a must-have step. In developing planning, the project manager is often too optimistic. Each development phase calculates the development time according to the most optimistic estimation, but does not fully consider the specificity and unpredictability of software development, programmers may have such experiences. A very small bug may have to delay for a long time, making the development can't go. Therefore, the project manager should avoid "good news", because the project's continuous extension will crack down on the confidence and morale of the project member, long time, will make everyone a inertia: The project is postponed is normal. Of course, this does not completely blame the project manager, because in the country, many project plans are inverted methods, that is, first determine the timetable for delivery, and then push the test, implement, design, and analyze the time required. And the entire development is often those who have never actually developed products to take their heads.