Skip to content

Chopper Shops

June 22, 2009 by Janusz Marcin Gorycki

Photo (c) Janusz Gorycki

I have been watching an episode of American Chopper the other day. I must admit that I am a bit of a fan of this show – not necessarily because of its main plot premise of a clash of personality between the father and the soon (which is rather cheesy and quite clearly badly acted instead of real), but rather because I like watching “how stuff is built” - in this case, how you can build a gorgeously looking motorcycles from the rusty pieces of metal, using not much more than a set of rather primitive tools.

It was an episode where the guys at OCC bought themselves a super modern, computer-controlled metal-cutting machinery of some sort. At the same time, they had to resort to making order with some misbehaving part of the motorcycle being constructed by whacking it hard with a big hammer.

Watching this show got me thinking: this sort of work is very similar to what I am doing every day creating software. I always cringe when I read somebody likens software development to a factory line. Even if it is an “agile” factory line – like the Toyota Production System, which a lot of people in the agile community hold in such a reverence to that they almost pray to it daily. Because, you see, software development, in teams big or small , organizations huge or microscopic, is always a chopper shop rather than a factory.

The dynamics of what we do is that of a craftsman at OCC or some other chopper shop – we use our skills and creativity to create custom products – each of them is different that the other, no two are alike. We do not create everything from scratch – we do reuse standard components obviously, just like they use standard engines and standard tires. But we put them together so that they become something new and (hopefully) exciting every time.

Now, the factory line is doing something entirely different – its sole purpose is to produce repeatable products, as similar to each other as possible, as fast as possible and as cheaply as possible. A long time ago during my high school days, I had a summer practice in a TV set factory. I watched with admiration how the factory line worked, it was pretty amazing even some twenty five years ago – but I can see no relation in a factory line to what I am doing right now as a software developer.

Now, what are the practical consequences of realizing that your team is a chopper shop? It makes you realize what are the most important thing you should put emphasis on. It becomes obvious that the quality of people is essential for your success. Tools that we use are not all that sophisticated and pretty much every team can afford the best ones available. Same with processes. They have to be simple because they invariably break down when you over complicate them. Nothing to it really – you should not believe when somebody claims that the successful software organizations use some awesome tools and methods – no, they use standard, if not sub-standard ones. It is all in the people, their skills, their talent, their dedication. Often times people with clashing personalities, ego trips, personal problems. Not ideal, not saint, not necessarily disciplined. Still, they are the most important ingredient what makes or breaks the success of your projects.

Additionally, you start to see “waste” in a different light. It is not necessarily a bad idea to spend time and effort on some task, only to decide to throw it away later. In one of the episodes of the American Chopper, the crew decided that the fuel tank they have been working on, does not look “cool”. They “wasted” two days on it. But they decided to redesign it from the scratch anyway, even with a deadline approaching. There was no big fuss over it – it was just the way things are when you try to be creative: there is a danger that your brilliant ideas you may have may prove to not work in practice. But you have to try them anyway, because otherwise you have to resort to safe, but uninspired and uninteresting solutions that nobody cares about. OCC would not sell a single chopper if they all looked like Yamaha or Harley-Davidson ones. The whole point is to produce something that is unique.

AttachmentSize
chopper.png67.6 KB

About the Author: Janusz is a software developer and team manager with over 15 years of experience. He has been working for a long time for multi-national corporations, mainly in the telecommunication and embedded systems industries, He is now a co-owner of SPARTEZ - an independent agile consulting and software development company

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <b> <i> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <br> <blockquote>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]".

More information about formatting options

By submitting this form, you accept the Mollom privacy policy.

Best of AgileSoftwareDevelopment.com