One member of our Stack Overflow said this in a comment:
Regarding the situation when the requirements are not completely clear, this is the work of a business analyst, he is simply obliged to prepare a CTZ for which there is no digging, and this work sometimes takes even several years. Depending on the scale of the project of course. During the entire work of the analyst, wishes are constantly introduced, depending on the immersion in the process, in general, this work is quite difficult, but the output is high-quality products. Well, of course, no weekly releases, this is the biggest evil that has been invented in the West.
Interested in this question.
On the one hand, it seems to me that since Agile or SCRUM approaches are practiced, it means that they have a place to be. I heard about examples of successful outcomes, while before the use of Agile there were failures, and everything worked out great with them.
On the other hand, one really wonders if such a change in direction can produce a good product that works both internally and externally.
It is clear that if we are talking about something that is not at all complicated in its structure, then you can easily throw out some module and write another one. But if the project is complex, complex, with interconnected parts… Isn't it so that: first, some requirements are implemented -> then new ones come in -> part of what has been done breaks down -> something new is built on this crooked basis -> and in the result is a "crocodile"?
Also, with Agile, "seed capital" is probably needed, that is, some kind of ready-made framework, in which it remains only to add functionality. So?
Agile works only if the customer is ready to work this way.
The advantages are that he sees what is happening and is able to intervene / stop if he realizes that what is being done is not at all what he needs. On the one hand, such development may take longer due to the fact that the requirements change. But on the other hand, the customer eventually gets exactly what he needs, and not what the analyst thought according to his description.
But if the customer is not ready to work like this, then it is better not to get involved.