Tuesday, February 13, 2007
Programming Aint Manufacturing?
The analogy between programming and manufacturing is highly flawed, and perhaps serves as the foundation of a number of counterproductive organizational ideas in technology oriented enterprises....
Manufacturing is the act of carrying out a repeatable process. The elements required to put this process into action -- human labor, capital investment -- are relatively expensive. Programming is the act of defining a repeatable process. Once you have the process, the required elements -- CPUs, RAM -- are extremely inexpensive by comparison.
You can see companies applying a programming-manufacturing analogy whenever they do any of the following:
Of course the keyword you should focus on is thoughtful which requires a focus on people, then process, then tools - in that order...
| | View blog reactionsManufacturing is the act of carrying out a repeatable process. The elements required to put this process into action -- human labor, capital investment -- are relatively expensive. Programming is the act of defining a repeatable process. Once you have the process, the required elements -- CPUs, RAM -- are extremely inexpensive by comparison.
You can see companies applying a programming-manufacturing analogy whenever they do any of the following:
- Farm out the programming labor to wherever it's cheapest.
- Split a big programming job up into a bunch of small parts, misunderstanding the opportunity for lateral efficiency in software. This is often carried us by those enterprise architect types
- Outsourcers who maintain a massive army of underskilled coders who are ready to be unleashed on your big project. This helps your sales pitch; you can bring the big corporate client into your office and tell him "We could have 40 Java coders on your project next week!"
Of course the keyword you should focus on is thoughtful which requires a focus on people, then process, then tools - in that order...