Why is the software development cycle always 2~3 times the estimated time?

Quora Featured: Why is the software development cycle always 2~3 times as expected?
Original link : https://www.sohu.com/a/132411358_355123

Software development cycle estimation: The
software development cycle estimation is a forecast of the time spent in the entire development process such as demand investigation, programming, coding, and testing based on the software development content, development tools, developers and other factors.
Software development cycle estimation is also one of the more difficult processes in software development, because software development involves many and extremely complex factors. Software development is a very complex project. It not only includes different processes such as requirement analysis, design, coding, testing, implementation, and maintenance, but also involves many factors such as development tools, developers, project management, and risks. Different factors will affect Cycle estimates have different effects.
When the project cycle is underestimated, it will cause underestimation of manpower, underestimation of cost budget, and too short schedule. Eventually, human resources will be exhausted and the cost will exceed the budget. In order to complete the project, it will have to rush to work and affect the quality of the project. And the project cycle is too long, it will also bring about the consequences of overestimation of cost, insufficient utilization of human resources and low efficiency. Therefore, an estimation cycle that is too long or too short is not good. The cycle estimation is the basis of subsequent development work. The impact of the quality of its completion will run through the entire project. This shows that the development cycle is correctly estimated. importance.

Factors of cycle delay
1. What is done when constructing the software framework does not and cannot fully cover business requirements, technical difficulties, etc., resulting in a big gap between the actual products.
2. There are differences in demand understanding, users express this, while programmers understand this, and customer needs are uncertain, increasing demands, and poor organization and coordination.
3. The project manager did not deal with the task time allocation. Some tasks are allocated for too long and time is wasted, and some tasks are allocated for too short a time to complete.
4. Some independent tasks have high consistency requirements, and it is impossible to add personnel to accelerate in parallel, because some tasks are very coherent in thinking, and if they are forcibly added, they will only be frequently interrupted.
5. Developers underestimate the possible problems in achieving their goals, and often underestimate the complexity of the problem. Insufficient risk awareness, unawareness of the risk, or the wrong response to the risk in a timely manner
6. The project is technically difficult, and the time taken exceeds the original estimate.
7. Programmers are mostly optimistic. Optimism is manifested in assuming that everything is working well, and the facts are often the opposite.
8. Human resources will also affect the estimation, which is manifested in several aspects such as technical level, understanding ability, communication ability, etc. The level of programming level, the speed of speed, the ability to adapt to the team, and the ability to maintain good communication with each member will all affect The development progress has an impact. Before the software development cycle is estimated, the technical level of the developers should be graded, and then revised according to the actual level of the project team, so as to reduce the error of the later development estimation. Evaluating the technical level of a programmer can be considered from several factors such as programming proficiency, programming speed, and ability to solve technical problems.

Guess you like

Origin blog.csdn.net/haha_7/article/details/109031581