Please wait...

The process of software development in the Novtahprom Co

If you can estimate approximately the task that you want to develop with our help, and the cost of this task does not exceed 150 thousand rubles, then you may not need to delve deeply into the details of the development process.

If the project is large enough, and you decide to cooperate with us, then you need to set up for a long-term collaboration, and for this you need to have an idea about the development process.

In our work, we use the Unified Process or UP. This is an iterative process used to develop object-oriented systems.

If possible, we try to organize the work so that we can start operating parts of the system before it is fully completed.

A unified process involves a development cycle consisting of four phases:

  • Inception
  • Elaboration
  • Construction
  • Transition

Each phase consists of one or more iterations.

The duration of a single iteration can be from one to four weeks. For different phases of the process, the duration of one iteration may be different. The specific duration depends on many factors. The optimal iteration duration is determined for a specific project in agreement with the customer. Each iteration is completed by creating (together with the customer) a final document and a plan for the next iteration.

Next, a brief description of each phase.


The goal of the initial phase is to investigate the problem, set initial SOFTWARE requirements, and answer the following questions:

  • What is the overall vision of the project? (it must be the same for the customer and the contractor)
  • Is it possible to implement the planned project?
  • What is better to develop or buy a finished product?
  • How much (approximately) will cost the implementation of the project 30 thousand-300 thousand or millions of rubles?
  • Is it worth taking on this project?

During this period, the customer will be required to actively participate in setting requirements and provide significant assistance in studying the problem.

The initial phase consists of one iteration, which lasts no more than one week, at the end of which the following documents should appear:

  • Vision
  • The initial version of the list of all use cases of the program or the use case diagram.
  • Full, detailed description of 10% of the most significant use cases.
  • Initial version of the additional requirements specification.
  • The tentative plan of development.

In addition, if the initial research confirms the feasibility of further work, we also need to create the following documents:

  • Plan for the elaboration phase
  • Plan for the first iteration of the elaboration phase


During the elaboration phase, work begins on creating the program code. At this time, prototypes can be created, and the most significant precedents can be implemented (perhaps not in full). But the most important thing for this phase is to adjust and clarify the SOFTWARE requirements, create a detailed plan for the construction phase, and specify the cost and timing of development.

The elaborations phase consists of no more than three iterations.

Completing the elaboration phase is the creation of the following documents:

  • New (updated) version of the additional requirements specification.
  • A description of all the precedents. In fact, in practice, it is not always necessary to describe all the precedents in full format. Some can be described in abbreviated form, and some can be omitted altogether. This question is agreed with the customer.
  • Progress report on the elaboration phase.
  • Detailed work plan for the construction phase.
  • Plan for the first iteration of the construction phase.


In the design phase, it is still possible to Refine and Supplement the requirements, but to a much lesser extent. The construction phase is intended for consistent implementation of precedents according to the plan. Ideally, each iteration should be completed with a ready-made release, which is passed to the customer for testing, and possibly for operation.

At the end of each iteration, an analysis of the previously passed release is performed, the test results are recorded, if necessary, the requirements are adjusted or supplemented, and a plan for the next iteration is drawn up.


This phase can consist of one or two iterations.

After the last iteration of this phase is completed, the final report of the program's commissioning is drawn up, and the work is considered completed.

Software development process

Inception Elaboration Construction Transition
Business modeler

After the program is put into operation, we undertake to correct all errors found in the code, which for various reasons were not detected during the development and transfer of the program, without additional payment!