in reply to Re: "Bah! Scrumbug!" (Lessons from the scrap-bin)
in thread "Bah! Scrumbug!" (Lessons from the scrap-bin)
I will never, ever, accept the notion that most of what we do in commercial software-development actually consists of “boldly going where no man has gone before,” such that we have to construct lots of code ... only to throw it away and start over ... just as a method for figuring out what we are supposed to do.
Obviously, I meant the machine-shop as a parable, as an illustration, not strictly as an analogy. In this and in several other ways, I meant to level a large cannon at the notion that “writing of software is establishing the process.” It almost never is. We have done most of the things that we are doing, thousands of times before. We have smoked the mojo of one pundit after another who assures us, in the final analysis, that what we are doing is absolutely inevitable because what we are doing is so hard or so groundbreaking or whatever.
People “make things up as they go along” because, for example, they don’t perceive any value in planning what a database table is going to contain before they “just go ahead and build the damm thing.” It seems like an extra step...
“Why spend all that time with blueprints when you can just start sawing wood and nailing it in place? I mean, that’s all you’re actually going to do, anyway ... so why not just go ahead and do it? Why waste all that time drawing all those stupid pictures? ...”
I worked on a Perl app for a couple of months, then wrote all the code in a week. It was a matter of going page by page and writing each routine as-specified. And, mind you, it felt a bit strange not to be “figuring it out and...” But the code deployed, was used frenetically by lots of people almost at once, and it never had a single problem report logged against it. It works.
During that process, of writing that document, I was programming. There were several revisions, HTML mock-prototypes for screen layout, and lots of “discoveries” that would have represented a lot of code-rework had I been writing code at the time. But I wasn’t, and that made a huge difference. I applied the same principles to other team-projects for clients. Very, very consistently: the more work you put in up-front, before you write a single line of anything, the bigger the payoff will be. The experience permanently changed my outlook, in a very positive way. I know that it enabled me to study the business-problem more thoroughly. It let me select the best tool for a particular piece, not merely the first one that I stumbled upon. I was not “learning as I went.” First, I learned; then, I went. And, when I went, I went directly to the destination. The little light went on, and it never went out.
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: "Bah! Scrumbug!" (Lessons from the scrap-bin)
by JavaFan (Canon) on Dec 17, 2010 at 16:35 UTC | |
|
Re^3: "Bah! Scrumbug!" (Lessons from the scrap-bin)
by oko1 (Deacon) on Dec 27, 2010 at 00:52 UTC |