In the
previous article it was concluded that the software development industry is young and is affected by growth factors so that it is early to talk about the approbation and applicability of any techniques in the long term, and their choice is dictated by reasons often different from the stated ones.

If you look for analogies in terms of management, it may seem very similar to the production of software construction. Moreover, software development managers are often introduced to the management of the design and construction of buildings and engineering structures.
')
However, there is some substitution of the reasons for this dating. Yes, this area is somewhat similar, primarily by the presence of the concepts “requirements”, “design”, “project”, “construction” (construction), “quality control”, “man-hours”, “work”, “ terms, ”and the process itself develops from economic need and idea to a certain final product. But the main reason that construction is a good analogy is that it is a visual analogy.
(As an illustration, the photograph of the project by A. Gaudi "Sagrada Familia", the extent of which is beyond the timeline and budget, still cannot even be approximately estimated)
This is what the requirements look like, see they describe what we want to get, and this is how they are economically justified. This is how the design stages go, detailing the project from a common vision in a dozen of strokes and a polygon on the master plan to a layout, and then to each window sill and thickness of each rod in the reinforcement grid. All this costs such money here and the estimator will quite accurately calculate the budget with forks for saving or improving materials. Here we have different specialists, each of whom performs a specific type of work. So we clearly smashed everything into tasks and stages, and so the related tasks look and here we can count the time of specialists. It makes such an organization, it is - another. There are risks here, such as overdueing and going beyond the construction season, we take a calculator and consider them. And so on.
Do you know what is the strongest impression from the programmer’s design and construction process? All participants are surprisingly clear about what they are doing and it is extremely difficult for them to make fatal mistakes. In addition, already at the stage of an architectural project, the result is determined with only minor variations. This is a classic waterfall.
But construction refers to material production and this means that replication is limited only at the level of proven combinations of technical and economic indicators and design, which takes not very large 1% -15% of the cost (and a much smaller percentage of the volume in man-hours) works, and the rest of the creation process differs radically.
The objectives of such material production and product requirements are relatively simple to set, since the measurement of the material world is a fairly well-established area. 8 floors means 8 floors, with very few exceptions, a load of 150 kilograms per meter can increase to a limit of 300 kilograms or average operating 50 but not turn into ten tons per kilometer.
When people build a building, they are well aware that in what way and with what cost they want to receive. If only because they have been doing this for more than ten thousand years.
The field of construction and design of buildings is very strictly regulated, as soon as its scale becomes larger than the accomplishment of a country house. There are many more regulatory documents regulating the reconstruction of the Khrushchev Khrushchev building than the creation of a large banking system and they are much more specific. They explicitly say how you can do it and how it’s impossible.
Perhaps the closest can be unique engineering structures such as bridges, airports or power plants, but if you look at the life cycle of any construction project, it turns out that they only formally intersect the software development life cycle at several points, the contents of which differ dramatically.
It’s not very similar how the budget affects the process. If we have a small bathroom or a low ceiling, this does not mean that the architect is an idiot or the builder has a piece of roulette torn off. It's just a low-budget project, because a potential client is not ready to pay for more. (Do you often come across residential buildings with bathrooms that you cannot enter or have a ceiling with a height of one and a half meters? And a server that could not stand the load?).
And one more important point, how often does the architect design or does the builder build a building more than a country house in which he will live? Almost all houses are built to order.
I believe that software development is a unique area and it is possible to talk about “similar areas” of human activity only in order to simplify the understanding of certain terms related to the stages of development and management of it. Any more detailed comparison will reveal a lot of fundamental differences rather than an opportunity to draw parallels.
Nevertheless, methods of managing material production, whether construction or the creation of cars leaked and continue to leak into the area of ​​software design.
In the
next article, I want to consider what becomes the main stumbling block when transferring existing cascade techniques to software development and evaluation.