Re: Detail first? Or Big Picture?

Tech-Archive recommends: Fix windows errors by optimizing your registry




With regards to MMs last post I thought of a good analogy. If you're
building a garden shed then you can get away without planning. If the door
is in the wrong spot or the foundations sink then it's easy enough to pick
the thing up and fix whatever you need to fix. But if you build a house
then
you might later on find out you can't sub-divide (that's the word here for
build a second house on the same property) because you broke some council
rule. In order to sub-divide you might need to move the entire house over
by
20 feet.


I'm not so sure that analogy is entirely apt. With both
the house and the garden shed you really have to do
some basic planning. If the footings sink or the door is
wrong on the shed that's not a small problem. On the
other hand, no one would ever plan a house with the idea
that they're going to convert it to a duplex after it's
built. Both of those examples are dealing with the basic
plan for the structure, which is always required before
starting.

I interpreted MM's original description to mean that he
does do things like plan the door, footings, and general
layout, but then leaves room to be creative. That seems
sensible to me. I happen to make most of my income as a
carpentry/remodeling contractor. (I was hoping to gradually
transition into shareware/web design before my back gets too
old for carpentry, but I'm afraid it doesn't look like that plan
is going to work out.)

I see a lot of parallels between carpentry and programming.
Both involve an attention to numerous inter-related details.
In both cases I prefer to work "intuitively". I'm careful to
plan the basics, but I also leave room for changes
when I can.

For instance, if I remodel a kitchen that was
planned by an architect it will likely turn out to be interesting
and useful in ways I wouldn't have imagined, because the
architect spent a lot of time dealing only with the planning level.
On the other hand, I've also seen architects plan a great design
that, say, hinges on a support beam which doesn't exist. :)

Without the architect I have the space to have spontaneous
ideas like, "Hey, before I close up that wall...that would be a
great spot for an inset wine glass shelf....And I can back it with
the scrap of mirror left over from the bathroom. ... And, hey,
it would be easy to tap off that outlet to put in a small light that
can shine down through the glasses and play off the mirror..."
Things
can fall together that way. That seems to be the same kind of
fortunate coincidence that MM was talking about having a sudden
insight about a better way to do things. But it's not actually a
random coincidence. It's the creative result that bubbles up from
the mind after you've fed in all the parameters of an issue
and let it simmer for awhile.

It seems to me that while very large projects may require
some overview planning, the two approaches here really have to do
more than anything with personal temperament. Some people like
structure. Those people like to have planning meetings with
"whiteboards" and use phrases like "team player". They like to break
everything up into component parts and assign responsibility for
those parts. They like very well defined structure both in the work
and in the social hierarchy of the workers. Other people like to work
in a more "organic" or intuitive way. I usually start out with a basic
plan and a punch list. Then I go from there.

I liked Steve Gerrard's comment about final editing and tidying
up before one forgets the whole thing. I've noticed that I tend
to set up a sort of mental workshop as I work. I have a general
sense of the code layout and can jump around between modules
efficiently to make, say, the five changes that my last idea is going
to require. It's all in my head. To me that provides a thrill that
makes programming almost addictive -- running at full intensity
concentration for hours at a time, jumping around between modules,
creating mental punch lists that I hold in mind like so many
Post-it notes. ... Feeling like I'm cruising along at the
outer limits of mental capacity.
Once I set the project aside for a week or so it takes hours of very
concentrated poking around to regain my overall sense of the "code
terrain".

So I guess I fall into the "build a skeleton and then wing it" camp.
But I certainly see the value of planning. And some planning details
are especially critical. For instance, I always plan to write software
that runs on as many Windows systems as possible, back to Win95
if that's realistic. I always plan not to have 70+ MB of dependencies.
I always plan not to use a slow, bloated, Java clone with severely
limited OS support if I'm writing Windows software. But of course, those
aspects of planning are just common sense, really; too obvious to even
be worth discussing. :)



.



Relevant Pages

  • Re: Lisps future
    ... like lack of planning or lack of concentration on the task at hand. ... People who plan compulsively are usually the kind ... action taken for a given purpose does or does not provide feedback to ... best thought of as a systematic approach to respond to objections, ...
    (comp.lang.lisp)
  • Re: Detail first? Or Big Picture?
    ... building a garden shed then you can get away without planning. ... But if you build a house ... no one would ever plan a house with the idea ... Spot on with that "meetings" psyche! ...
    (microsoft.public.vb.general.discussion)
  • Re: Could someone please read this?
    ... I'm not *talking* about randomness. ... Not only without planning before sitting down, but without having the foggiest notion what was going on in the plot until well over halfway through. ... At some point you decide what to write, and that I call a plan. ... Making a decision what to write does *not* work brilliantly for *everyone* who writes, any more than writing every day works, or writing 50,000 words a week for two weeks and then partying for three months, or writing a book backwards works for *everyone*. ...
    (rec.arts.sf.composition)
  • Re: Storage building siding options...Hardiboard?
    ... I plan to build two simple swinging 2' x 6' doors for the ... Planning is the key. ... After I poured the cement for mine, it took about 3 weekends to get it finished. ... garage door and wiring inside took most of one of the weekends. ...
    (alt.home.repair)
  • Architect services to build an addition
    ... We are planning to build an addition and we are looking for an ... We are on super tight budget and want to minimize what we ... need to spend on an architect. ... possible mean he won't need to do it himself and even visit our house? ...
    (alt.home.repair)