First, a little bit about where I work.
My employer is in an “old-school” industry, doing things in a “new-school” way. That means that they rely on IT to help get things done. Guess where I work. You got it IT.
In many software shops, each project has a definite start and end. The typical end of a project is when the software goes into production. That type of project is typical when doing work on a contract basis.
For an in-house development team the project never “ends”. There are always changes and enhancements to be made. The end of a project is when the last user stops using it.
That led me to think that in-house software development is closer to building an assembly line (of custom automobiles) than it is to building a bridge.
When designing and building a bridge, there are certain constraints, just as there are when building an application with an “to production” ending.
There are different constraints when building applications with an “into production” approach. You have to remember that the assembly line that you build will have to be maintained and modified as it is used.
| To Production | Into Production | |
|---|---|---|
| Location | Close to building materials and construction labor | Close to product materials, product shipping and operating labor |
| Land | Just enough to fit the factory and the construction equipment | Enough land for employee parking and keeping open the option of future expansion |
| Assembly | Use the fastest method of assembling the factory and the production line with the latest equipment available. (Welds and rivets) | Use a reasonable method that allows for future expansion and flexibility, both in the facility and the production line, using equipment proven to be reliable (Bolts) |
| Planning | Focus on this factory. Once a skill is no longer needed, they are off the plan. | Focus on every factory. Once a skill is no longer needed here, what are they working on next. “When can I get a skill from another factory we are building? I need them here.” |