Software is created by Architecture, made by Development, and kept useful by Maintenance. It seems it is as simple as that.
Simply does not necessarily means easy. Management (hopefully) knows what it needs and why it needs it. Business analysts formalize that and deliver requirements to the Architect. Who then develops the blueprints and explains WHY is future software conceived as it is.
Then there is the proverbial “project steering committee” that tries to check if the future software will be fit for purpose, and if not it asks management to rethink the details to change the requirements to refine the architecture.
After that fast and tight bravado, developers decide how are they going to build the thing and then can deliver the Proof Of Concept (aka POC). Which is then checked yet again is it going to be FIT for purpose.
If not, the whole manage/require/architect triangle loop is run once more, back to developers who can hopefully start developing the thing without yet another POC.
After a while binaries (the software executables) are deployed into the testing. Results are fed yet another time, to the project management, who can decide if a release is going to be made. Or the whole tight loop of decisions will have to be run through once more and the next testing be done.
Eventually, everybody is happy with the testing, and binaries are deployed as a release under the jurisdiction of the maintenance.
The whole controlled labyrinth race might be repeated for years to come. If the software is very successful that is.
(ps: the title is a counter-homage to the ridicule of IT marketing)