The software factory - a useful model?

I believe in process and spent my early working years on the factory floor (managing a high-tech production line).  Consequently, its quite comfortable for me to fall into the common trap of wondering why we can't just build software the way we build cars - on a production line - maybe even using robots for some of the tasks!.  From a process, measurement and statistical control perspective, the production line model would surely help us develop software better, faster and cheaper? I was sitting in a conference last week listening to yet another speaker fall into this trap. Why is it a trap? Because before you can apply the production line model to software development (and complain about the shortcomings of software development groups), you need to do a little imagination experiment with me. First of all, I need to you to conjure up that standard production line video in your minds for me - you know the one - with  shiny car chassis steadily moving down the line while humans and robots attach parts, paint parts, test parts, etc.  Pick your favorite car and imagine it being assembled. With me?  OK, now I need you to consider that every car will be slightly different - some will have moon roofs, some will have two doors, some four and so on.  Well OK, these modern plants are very flexible and they can cope with a lot of that but the sophistication of the logistical process that supports the build has certainly jumped up a notch along with the industrial design engineering needed to make the production line work (quite separate from the design of the car!). Hmm, what would be the equivalent to that sophisticated logistics and industrial engineering in software development groups.  Well, in most SD groups, we have some tools to help us with configuration management and testing (if we are lucky), probably some code libraries and maybe even some formal processes. OK, lets get back to our mental picture of that sophisticated car production line. Now I want you to imagine that the same line that produces your favorite car with trucks flowing down it.  And buses.  And Formula 1 cars.  And tanks. I know what you are thinking - don't be stupid, Mike.  You wouldn't put all of those things down the same production line.  It wouldn't be cost effective.  Some of those things will never be on a production line - even if such a production line could be designed. Duh!

Written by Michael D. Harris at 18:03
Categories :



"It's frustrating that there are so many failed software projects when I know from personal experience that it's possible to do so much better - and we can help." 
- Mike Harris, DCG Owner

Subscribe to Our Newsletter
Join over 30,000 other subscribers. Subscribe to our newsletter today!