Comment Re:Cry Me A River (Score 1) 608
Software engineering has a tendency to enshrine ivory tower principles, that - although sound and logical, can end up making your project large, slow bloated and excessively encapsulated. I'm happy that NASA and the DoD both use it, those things need to be rock solid, but it just doesn't make sense for a lot of businesses where being first to market is more important than any code refactoring issues you might have 2 years down the track. Being slow to market might mean you don't even have a business 12 months from now.
Good programmers know when to lay on the engineering and when to pull out the stops and slap something together that does the job "just good enough". That's part of what makes it an art, not a science.
NASA/DoD does a form of Software Engineering based on Engineering principles from other disciplines, namely mechanical and electrical engineering. Much of what they do there doesn't really apply to Software.
What we need to do is define Software Engineering in a manner that is practical for everyone to do it such that no one has any kind of excuse not to do it. To me, it's a matter of doing software in a very discipined manner and has nothing to do with whether you've documented every function at 30 different layers for 10 different stake holders across 5 different organizations.