Thoughts on Customization and Convention
There is an epic balancing act in software today, fought between customization and convention. When to build, when to buy? When to create new solutions or reuse those already created? What are the pros and cons to either? I don't think that there is a quick answer that is going to always be true for any of these questions? Each situation brings with it too many diverse aspects. But, here are some of my observations.
- If you buy instead of build, expect to change your business processes to match the purchased product or expect to build onto what you have bought.
- Early standardization stifles innovation.
- Software comes in generations. In the beginning phase of a generation, it's the wild west because nothing is established. Somewhere in the middle, reuse is desired, best practices are assembled, and products become de facto standards. Toward the end of a generation, software developers begin to decide the standard is insufficient. A new generation begins when a large enough mass of mind share decides to again make the jump into the unknown of innovation.
- Customized solutions encourage innovation and project ownership.
- Convention can move you miles ahead, often much faster than starting ground-up, which can feel just as satisfying as a possibly more creative solution.
- Custom solutions and standard solutions both have bugs.
- Standard solutions, if the product of increased time and contributors, can be more thoroughly proven and solid.
- Build it and solve technical problems or buy it and solve political problems.
- Customized solutions incur greater risk because they ideas are often new and untested. Reward potentials are similar.
- It is easier to quantify costs of custom development -- it's x number of people working x hours on a product. It is hard to quantify the costs of buying a product -- support wait time, consultation time, business inefficiencies because of mismatched product.
- The best solutions are born from solving a specific, practical problem in real life as opposed to theoretical, invented problems for which a solution can be built and marketed.
- Priorities influence the build or buy decision. For instance, what's the value of R&D compared with business consolidation?
- Standard solutions tend to be standard, addressing a general need. Custom solutions can answer your problem as directly as you can make it.
- You own the destiny of your own custom solutions -- most of the time.
Well, there are some thoughts from my swirling cerebral cortex. It's not an easy problem. I have no answers. Being a creative person, an independent person, and a curious person I sometimes favor custom solutions. Being a practical, conservative, or tired person I sometimes favor a standard out-of-the box solution. Take my mutterings for what they're worth.