Reading John D. Cook’s blog post about how much does typing speed matter in software development, the way John compares software development to writing a book and not typing the book text or composing music and not playing music, made me think about the usual comparisons made between software development and other activities.
Like John, I see software development as a creative activity comparable to writing a book (or any other text) or composing music.
Typing the book text or playing an already composed music might, at most, be compared to programming in its most basic form which is introducing a pre-written (or pre-developed program) into the computer (or system).
And that brings me to assembling cars. The function of a car assembly line is to assemble a pre-developed car using a pre-developed set of steps. It’s comparable to typing or playing music not composing the text or music.
That doesn’t mean that people working on a car assembly line are dumb and incapable of being critical or creative. They are just not supposed to act on their own at the assembly line. They have a strict plan to follow. Any input they have to the assembly process must fed the development of the car or its assembly process.
When I hear Lean software development dream sellers comparing software development to assembling cars, I can only think that:
They don’t know the first thing about car development and assembly
They don’t know the first thing about software development
All of the above
It’s not that I don’t think Lean principals can be used in the IT industry, or even software development in particular. It’s this silver bullet that solves all the problems of the universe that people that haven’t the faintest idea what I do want to force down my throat that bothers me.