26 minutes ago, Fulcrum.013 said:any algo can not be developed properly without complete research of field.
The problem is that product managers don't pay their development team to do research, they pay them to create a product that makes money. So the agile development process is a way to perform that research while creating the actual product, which makes managers feel less bad about funding research.
While doing research, you discover "there is no way this will work" and try something else.
Where do you store your research before writing software? In your head? What if you forget? On paper? Then why not in code right away? It's inefficient to make one copy of it first when it's going to be incarnated as software. Just start with the software and save half the time.
Why spend time looking for logical flaws in your ideas on paper when you can just test it directly on a computer and know for a fact what the results will be, and then immediately use your successful algorithms because you've already written them?
If you know everything you need to do ahead of time, you either have a very big brain or a very simple problem.