The thing is, most of online discussions, especially on YC are revolving around web-based CRUD to-do lists or something similar, whose complexity (something Dijkstra was very much concerned about) is close to zero.
Therefore "current pratices" cannot be used as a good example of software engineering in general, since most "engineers" are too busy dreaming of getting rich by implementing a high school programming project over a weekend and selling it to google.
I am fully aware that I do not represent the common "spirit" of this board by stating these views, but there is no way in hell you can do software for F-22's pilot's helmet can be done using "current practices" you're referring to. In fact, the best "current practice" (as some MBAs believe) is to outsource your typical CURD job to India. Hard to argue with that.
True, a lot of the applications developed today are crap. But a lot of the large scale applications can benefit the same way from test driven development, user stories and iterative development. The problem is a lot of folks overreact to agile and think it means doing no design or thinking at all. That's simply not the case.
Its 2008 and we are still getting interested/excited in CRUD frameworks for web apps?