in reply to "Bah! Scrumbug!" (Lessons from the scrap-bin)

I wrote a lot of what has been tottering on the edge of "scrap" on my own initiative in the last two years at work. The scrap in the form of unused application stubs and experimental deployment changes to modernize a legacy codebase and tests to do the same. The rest of the team is becoming interested in doing things this way. The new tests, though not formally or automatically run, have made some major changes much smoother and faster in a couple of cases for the devs and testers who were interested enough to learn and apply them.

So what could have ended as scrap is now a prescient investment. If there had been a rigid process about how I spend time at work this would have never happened and we'd still be squarely in the Perl 5.4 era with no hope of climbing out.

Thompson's rule for first-time telescope makers: "It is faster to make a four-inch mirror, then a six-inch mirror, than to make a six-inch mirror."

- Programming Pearls, Communications of the ACM, Sept. 1985

We're not just cabinet makers, we're also tool makers. What seems like a piece of scrap might end up being the only socket that will fit a bolt only hinted of at the starting blocks. I learn constantly in this work. Throwaway prototypes are often the fastest path to gaining expertise enough to not make a dog's breakfast of the actual solution. There may be scrap on the pile but the imprint of what it is, what it took, what it might be able to do remains.

This doesn't mean I disagree with what you're saying. I liked a lot of it and found some of it sincerely rallying. I think you over simplified and conflated and a lot of opposing ideas in these discussions though. Process here, in software development, is not simple.

Related: Thinking about Thinking (mappers and packers).

I know, I know, just when you thought you were out, they pull you back in.

  • Comment on Re: "Bah! Scrumbug!" (Lessons from the scrap-bin)

Replies are listed 'Best First'.
Re^2: "Bah! Scrumbug!" (Lessons from the scrap-bin)
by SuicideJunkie (Vicar) on Dec 16, 2010 at 16:43 UTC

    I've been thinking along those lines: "Its not scrap... its a concept car and that clay model"

    Surely that exotic metals machine shop did a test run with cheap dummy material and then threw it in the scrap bin before committing a whole lot of decimal places worth of the real materials to that process, right?

    Isn't that why we have rapid prototype machines? Spit out a plastic widget and make sure it fits and works as expected before even thinking about spending 6 digits on tooling the steel parts.

    One problem that I've noticed happens a lot, is that in software that SHOULD be pre-planned scrap turns into the final product anyways. Who is willing to spend the time to make a practice run, put the prototype in a wind tunnel, and then go back and rewrite the real application with experience.

    When hardware is involved, nobody bats an eye at mockups and functional prototypes that are meant to be thrown out, and actually ARE disposed of.

      /me nods...

      Obviously in the engineering worlds there are places for concept-cars and prototypes.   It is perfectly valid, I think, for a group to say, “We are going to explore this strategy.”   And if we are doing it, knowing that we are doing it, and with a strategy in place for when we will be finished with that exploration and how we will evaluate its outcome, then ... that really is what we are doing.   But it is easy to try to use this appealing notion to excuse the desire to be “going somewhere” when someone does not, in fact, know where they are going.

      I do not mean to reject what you are saying.   But how often does what we are doing really demand a concept-car?   Very few of us are “boldly going where no man has gone before” any longer.   Millions of commercial applications have been constructed by now, and we are merely building another one.

      If you want to change your house, an architect will draw and re-draw plans for you just as many times as you will pay for the service.   But a professional housebuilder won’t proceed at all without those plans, and he will build what is planned (carefully cataloging all those change orders, and refusing any which represent a material change to the design, which must come from a licensed architect).   Yet, the the things that we do are many times more costly than a house.   Where is the engineering discipline in what we do, and why do we hear folks insisting that we do not need it?   We are not making magic.   And, we are not playing professional sports.

        To put it back in the analogy, building materials cost only a penny, and the builders themselves work for free. If the building falls over, you can rebuild it again and again at little to no cost.

        The architects on the other hand, account for almost all the cost and time.

        Which means that it is cheaper to quickly sketch the design freehand, and have the builders make a skyscraper based on the partial design every two minutes to observe how it falls down. Ten scrap buildings are cheaper than an hour of the architect's time. No sense wasting that time measuring, carefully drawing angles and lines and then inspecting the blueprints to be sure that the load bearing walls are actually attached to something. If it falls down, no harm is done and the sketch can be touched up a bit there. If it doesn't fall down, then everything is good and the sketching continues.

        Rather than exotic metals, consider what things would be like if the shop were making water fountain sculptures. There would be no harm in running water through those fountains while they're being shaped and aligned. Each piece is not only allowed to, but actually encouraged to vary from the others like it. Cheap materials are flagrantly wasted, but expensive time is saved

        Of course, it all starts to break down once the system becomes complex enough that it simply can't be done with sketches, eyeballs, estimations and hand-waving. After that fuzzy point of crossover, it becomes more expensive to sketch roughly and rework than it would have been to plan accurately from the beginning. Unfortunately, it seems to me that that point is also well on its way to complexity so high that it can't really be designed accurately, like a city rather than a building.

Re^2: "Bah! Scrumbug!" (Lessons from the scrap-bin)
by locked_user sundialsvc4 (Abbot) on Dec 16, 2010 at 18:06 UTC

    /me nods...

    You’re right... it is not simple.   And the exploratory ventures that you made, I would say, indeed are not “scrap,” because you knew what you were doing and chose to do it in a certain way ... to better ascertain whether it would be a good idea to move the project in a certain direction.   And it seems that your intuitions were, as you say, prescient.

    You are right, also, that I oversimplified ... because when one is making a point, and trying to do so in some semi-readable way, a single key idea needs to be presented clearly.   I hope that it did that.

    If we can just get away from the idea that “the world of business is like a sports team,” that will be a start (although I doubt it will ever happen).   Folks love to watch sports, for some reason, and it never seriously occurs to them that what they are witnesing is, in a real way, a staged theatrical performance.   It isn’t the real world at all.