The complexity of software development lies in the quality, reliability, and cost issues faced by all traditional engineering disciplines. Writing programs containing millions of lines of source code is as complex as building an airplane: every line, like every part, must work flawlessly in real time.
Depending on the goals and characteristics of the project, the complexity and the corresponding price of the program are different, since not everyone needs a new «plane». You can order a program of different types, for example:
- order system software;
- order application software;
- order a web application;
- or order a mobile application.
Stage 1: Preparation for design.
Here organizational issues are resolved: the customer provides initial data, such as technical specifications (technical specifications), layouts and design, on the basis of which the scope of work is determined, the approximate cost and timing of the entire project, as well as the exact cost and deadline of the next stage. Next, a contract is signed and an advance payment is made that covers the cost of the agreed stage.
Stage 2: Design.
Very rarely, the initial data are necessary and sufficient, as a rule, their final formation appears as a result of the design. Namely, a TS is obtained with a formulation that is unambiguous and understandable for both parties, answering the questions:
1) «What are we doing?» — a clear description of the product, its functionality and users.
2) «How are we doing?» — approved architecture (programming language, databases, servers and frameworks).
3) «How to check the result?» — test plan and evaluation criteria.
Stage 3: Creation.
3.1 Design. The efficiency and speed of user interaction with the program directly depends on the design. That is why design, after technical characteristics, is the second most important component of a software product. The TS defines the design requirements. Here, not only beauty and compliance with style are important indicators, but compliance with the principles of simplicity and intuitiveness is also necessary, due to which minimization of the cost of performing an action by the user is achieved.
3.2 Encoding. Coding is often understood as software development in general, but as it has already become clear, this is only part of the job. For the program to work properly, the code must be clean, that is, sufficiently optimized, understandable and concise.
3.3 Testing. Each stage of the program development undergoes mandatory testing, the results of which are available to the customer.
3.4 Documentation. For timely and accurate actions aimed at identifying and eliminating errors, the creation of software is documented. All input data, work plan, list of tasks and costs, testing and reports on work are described here.
Stage 4: Support.
The conditions of this stage are negotiated at the preliminary stage and specified at the design stage. For those who want to buy software, these terms are also agreed, but based on the finished product.
You need to login to create comments.