in reply to Interview Counterattack: "Show me a project-plan"
Interesting comments, Monks. I think that the general thrust of my comment was seen to be, as it was of course intended to be seen, as “somewhere in the middle of the usual two extremes.”
In way too many cases, computer software development devolves down to “we're making this thing up by the seat of our pants ("but of course it's gonna be great... no guts no glory..."). Dead soldiers had plenty of “glory”: it was the generals who screwed up.
No amount of dollars can pay you back for sitting in a hospital bed clinging to life after a heart attack, nor for walking into a divorce court with a man or a woman who's decided that you really do love your work most. (Neither one of which has ever happened to me, and this is why.)
And furthermore, these highly destructive work practices don't result in “better software.” I think they make our work-product much worse.
In my 25-odd years in this business, I've written a lot of great programs on paper. I've developed HTML prototypes using nothing more than a good text-editor, and thrown them away dozens of times in dozens of meetings. (That's what they were for...) I've written documents, and felt the same mental processes churning through my head that I've always felt when writing source. The idea took shape in my head and poured-out onto paper, and when sometimes-serious problems inevitably showed-up all I had to use was the “strikethrough” tool.
This is, I very-flatly assert, a distinctly better way. The software that results is much better. The work is completed faster because you land three-wheels-down on the correct runway and don't slide off the tarmac. Other workgroups complete their part of the task, in parallel to yours, because you've created an environment in which that sort of thing is possible.
Other “construction trades,” in fact all of them, routinely succeed in doing what the software development profession routinely fails to do. I think they're on to something. I think that when we run around bantering strategies with funky-but-upbeat sounding names like “agile” and “extreme,” all the while claiming that such things properly belong only to our storied ivory tower ... we're ... well ... we're just plain wrong. It's just not true. We're putting ourselves in harm's way by accepting it, and delivering inferior work. Literally, a “lose-lose situation.” I'm saying that what they're doing, and how they're successfully doing it, absolutely applies to us in every respect.