It's a mindset issue. In the military, a soldier is a tool to get a specific job done. The soldier must understand this and shed away his ego and any ideas he has about his "self."
He must understand that he is a cog and his only job is to be the perfect cog.
This could be applied to programming to increase efficiency, but I'm certain most programmers (and the HN crowd in general) won't be happy with what's to be expected of them.
The success of the mission rests on appointing a competent commander (CEO/Manager/Etc.) that'll make all the final decisions and having soldiers (employees) that can zero-in on doing exactly what the commander tells them to, even at the sacrifice of their comfort.
There's a lot of ego and self-identity in the programming world which collides with the very essence of the "military way of doing things."
Additionally, your software engineers aren't indentured servants. In the military, you often can't go home until a problem is fixed and if you quit, you go to jail.
The military burns through a lot of good people, most get out after their initial term.
I bet you can teach that without all the bad associations people have about the military.