Perspective on the difficulties in the software development process

Source: Internet
Author: User
Author: Tian Jianhai

1 Introduction
If you are a programmer, you may often be distressed by the inability to complete tasks on time. If you are a project manager, you may find it difficult to develop software that meets budget and schedule requirements. In fact, software projects are often heavily overdue or out of budget and still puzzle most software organizations. According to an American assessment, the average 28-month progress plan was delayed by 20 months in the 17 major DoD software contracts. A 4-year task that should be completed, 7 years has not yet been submitted, none of which has been completed on time. The deployment of the B1 bomber has been delayed due to software problems, and for the same reason, the 58 billion-dollar A12 aircraft program has been partially canceled. Why is the software crisis that lasted for twenty or thirty years intensified? Why is software development so difficult? This article tries to combine the author's experience to make an analysis of the difficulties of software development, and put forward some suggestions.
2 Difficult position
2.1 The enormous complexity
Most large software software products consist of dozens of or even millions of of lines of source code, such as: The WINDOWS95 operating system consists of approximately 11 million lines of code. Each line of code may affect other parts of the program, and each part may interact with each other. In the midst of such a vast and intricate system, every small error can cause the entire system to crash. Some large software, such as Windows, may be one of the most complex things that human beings have ever built, and the most complex buildings in ancient times cannot be compared with them.
2.2 Uncertainty of the height
A software project has a number of uncertainties from the outset. One: User needs are hard to determine. This is because it is difficult for software developers to know more about the needs of users, even before they see the product is not clear what they need, so from the beginning of the project development may have new requirements, resulting in the system structure is constantly modified, eventually unrecognizable. Second: Design is not entirely predictable. Sometimes, a scenario that is considered feasible at design time may not work, or the original design has a major flaw in its existence and is not discovered in time, or a technical difficulty unexpected at design time blocks the project's progress. From the design to the implementation of the reality is very large unpredictability. Third: The changing needs of users, if the initial user needs do not understand very clearly, the entire project may soon be trapped in the changing needs of the unable to extricate themselves. Its four: the uncertainty of objective conditions. In the course of the progress of the project, there may be a movement of personnel, there may be adjustments in resources, and there may be restrictions on such or such objective conditions that prevent the project from proceeding normally. In such a high degree of uncertainty, it is not only difficult, or even impossible, to accurately estimate a project at an earlier stage.
3 causes of delay in construction
3.1 Developers ' overly optimistic
Many developers tend to have everything going well, and this blind self-confidence is not right for project development. With the most optimistic estimates, most of the tasks may not be completed on time because there are too many uncertainties in software development. For the complexity and difficulty of the task, for the time of their own control, for possible incidents of interference and so do not have a clear understanding and estimates, even to their own schedule to make a guarantee, may often be unable to deliver on time.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.