I couldn't agree with you more, however I would like to point out the reasons why the bureaucracies exist and why we pay so much more on government programs than private ones. Having worked in both sectors I understand what's going on and the advantages and disadvantages on both sides.
The reason government programs are so costly is accountability. Unlike private organizations, government institutions are nothing more than organizational structures. Therefore their setup must assume minimal competency at each point in the decision tree. Because of this decisions are split up into sub responsibilities with each sub responsibility being sent off to separate nodes in the tree. Those nodes each send their assessments (most of the time a simple pass/fail type system) up the chain where someone else signs off. Funding allocations are determined on how effective the whole unit is and the point of the process is not only to produce an item, but to additionally produce an accountability trail that is thorough enough that any failure can be re-examined and the root causes for failure can be brought out and blame can be properly assigned. When government partners with industry the bureaucracy doubles, because the government part of the process has to justify all the changes, expenses and performances that the industrial partner makes. On the gov side the motto is "Trust But Verify". The partner has to keep nearly identical records in case they fail and the funding they've been provided gets clawed back.
The fact that this problem gets in it's own way is an issue, but the thought behind it isn't a bad one. There's something to be said about having a trace for the thought process behind development. That said, currently despite that every decision and discussion is documented and recorded, the volume the government produces acts most effectively as camouflage and the sheer volume of reporting makes it difficult to track back to root causes when stuff goes bad.
To increases efficiency, you must assume more liability at each node in the tree. You improve competency at each node, and things move faster. Making nodes more competent, you can eliminate redundant nodes and stream line the process. On top of that they're only preforming half the function in that they aren't producing the same accountability trail that is required in government work.
I'm not saying that the government way of doing things is correct, but I would say that there is a philosophy behind it that isn't totally worthless, even if the implementation is screwed up. I'm willing to bet that if SpaceX exhibits a failure, you'll have to turn to one of their senior engineers to understand and what went wrong and why. And if you're going to invest lots of public money into the system, there should be some assurance that if that happens, you don't just get a "shrug, idontkonw" in return. There should be a way of confirming that what he says the day after the failure is consistent with what he said before the failure.