As part of the article, I tried to give an overview of the "top level" of the application software development process. Each stage of the process, of course, needs a separate discussion with the obligatory consideration of the features of the developed software.
I note that the process diagram considered here is the result of a generalization of my personal experience in the development of various software tools. Like any generalization, my schema is an abstraction. And, like any abstraction, it has its limits of applicability. You can not thoughtlessly apply this scheme to a specific project. It is important to understand that each project has its own nuances that affect the organization of the development process. And therefore, for each project, the scheme presented here must be adapted, and in some cases it will be necessary to develop a fundamentally different approach.