Indeed, I even agree that the people that write software for the F-22 are engineers, and better use engineering practices to build their software. The requirements are probably pretty strict/well defined.
But there is plenty of software out there (maybe most software) like ERP/CRM, desktop/web applications, games, etc ... , where the technical parts are not that important, or aren't really the main problem. The main problem is to try to create the most clear representations of real life items (customers, business processes, human resources, etc.), and make them clear to other programmers in the source code, and to the customers (who most of the time aren't technical).
It's probably true that my theory doesn't make much sense for lower level/close to the hardware software development. But for high level things I still think I'm absolutely right ;).