A question I have: do people working on DoD software ever get to use it themselves? I assume many of them don't (if they're working on, say, a weapons system).
This situation often (IMHO) makes it much harder to deliver high-quality software. No amount of surface-level UI testing replaces the knowledge you get from actually using a system yourself.