Thanks for the reply. Brief disclaimer: (a) I should probably explain myself somewhere other than in an HN comment, (b) I'm still learning many things myself, so I welcome any criticism someone more knowledgeable than me may have.
I feel that you're missing an important consequence of "failing fast". That consequence is something that struck me when I was reading Ries, but I don't think that one must read Ries to realize it. You write as if your peek from a systems perspective provides a ready answer to why "failing fast" could be a good thing, but it doesn't. Here is the best I can do to explain myself.
Startups are hard. People put a lot of work into them. Oftentimes, the work turns out to be in vain. The "in vain" part is precisely what makes startups hard. If the work one put into a startup was not in vain, then almost by definition doing a startup would become no different than holding a 9-5 job except with longer hours. Now, "failing fast" means that the moment when you learn that the work you did was in vain comes sooner rather than later. Thus "failing fast" reduces the amount of work you do in vain, which is generally a good thing. So far this is no different than the systems thinking and your analogy with compilation/runtime engineering process you describe.
Here is the crucial part though. By going somewhere and finding out it's a dead end, you learn something (gain information). Now fixing a bug early rather than late provides you with no new knowledge, so this is where the difference I'm talking about comes in. Think of knowledge that a certain directions are dead ends as if it was some surplus value. You accumulate that surplus value the more "dead ends" you try. If exploring dead ends had no associated cost (both timewise and monetary), it would be in your interest to explore as many "ends" as there are, in hope that perhaps one of them leads outside the maze, which would be a breakthrough. Note that it would never be in your interest to introduce as many bugs in a program as you possibly can. Coming back to startups, there is normally a cost associated with failure. If startups are run in a certain way, however, that cost is minimized, and then you find out that, at early stages at least, the benefits of exploring different directions may outweigh the risks.