Objectives

The most common problems encountered in the process of software development, consider:

Lack of transparency. At any given time is difficult to say what state the project and what percentage of its completion. This problem occurs when there is insufficient planning of the structure (or architecture) of the future software product that is often a consequence of the lack of sufficient funding for the project: the program is needed, how long it takes to develop, what are the steps, whether any steps to delete or save – a consequence of this process is that the design phase is reduced.

Lack of control. Without accurate assessment of the development process break down work schedule and exceeded your budget. It is difficult to estimate the volume of completed and remaining work. This problem occurs at the stage when the project, completed by more than half, to continue developing after the additional funding without assessing the degree of completion of the project.

Lack of monitoring. Inability to monitor the progress of the project can not monitor the developments in real time. With the help of tools, project managers make decisions based on data collected in real time. This problem arises in conditions when the cost of education management ownership of tools comparable to the cost of development of the program.

Uncontrolled changes. Consumers are constantly having new ideas on the software being developed. Effect of changes may be essential to the success of the project, so it is important to evaluate the proposed changes and implement approved only by controlling the process using software tools. This problem occurs because the end-user reluctance to use some software environment. For example, when creating a client-server system user makes demands not only the operating system on client computers, but also on the server computer.

Lack of reliability. The most difficult process – finding and fixing bugs in the programs on a computer. Since the number of errors in programs is not known beforehand, then not known in advance and the duration of debugging programs and the lack of guarantees no errors in programs. It should be noted that the involvement of evidence-based approach to designing software can detect errors in the program before its execution. In this direction a lot of work Knuth, Dijkstra and Wirth. Professor Wirth in the design of Pascal and Oberon by severity of syntax made mathematical provability Completable and correctness of programs written in these languages. Particularly large contribution to the discipline of programming has made Donald Knuth. His four-volume “The Art of Computer Programming is essential for any serious programmer’s book.

This problem occurs when the wrong choice of development tools. For example, when trying to create an application that requires a high level of funds by means of a low level. For example, when trying to create automation tools with the DBMS in assembler. As a result, the source code is too complicated and difficult to structuring.

Lack of quality assurance and reliability programs because of the lack of guarantees no errors in the programs until the formal delivery of programs to customers. This is not a problem related solely to software development. Quality assurance – is the problem of choosing the supplier of goods (not product).