Apart from the concept stage, that's basically the recipe for any major piece of software developed from scratch. Replace concept with "contract negotiations" or "client demand specification", and you could just as easy make a new revenue management system with that formula (well, apart from the lensflares maybe).
It's still interesting to note that the structure is there in games development, by many programmers seen as the fun exiting branch of code.
Programmer input and creativity depends, I think, mainly on the culture of the company and the size of the project. Some give a healthy amount of autonomy in implementing specifics to the coder in question; On a project of any larger size, like a mainstream game, you cannot micromanage to that extent. Also you hopefully hired the programmer because he knows what he or she is doing, and can implement an effecient algorithm. On the other hand, you have X amount of work to be done, and you cannot afford to delay the process by running everything past the designers that someone thinks is a good idea. The designer (which can overlap with programming) have the bigger picture, and sometimes you just need to get stuff done, so others aren't held up. If your design is modular enough, you can go back and optimize later: The golden ruie of performance engineering (making stuff work faster/better) is to optimize the bottleneck. At the initial development stage, you likely only have a vague idea of where those are, so you don't want to spend too much time making the super-clever (and timeconsuming) solution everywhere, if the normal-clever works satisfactorily.