I came across the following quote last week by Lewis Cirne, CEO of New Relic, during a Stanford Entrepreneurial Thought Leaders talk: “Every business is a software business.”
This got me thinking: If every business is a software business, does every business need a software development department? Of course not, and here is why.
Although I agree every business is a software business, not every business is a technology business. Technology runs every business but this doesn’t mean every business needs the most advanced, adaptable custom software—the kind of solutions that an internal software development team would be charged with creating and implementing. And keep in mind: this is coming from a software development guy.
Take for instance those little retail carts in the middle of shopping malls. Does software run their business? Sure it does. It’s how they handle inventory and charge their customers, manage payroll and payments, file taxes, communicate with mall landlords, and deal with many other aspects of their operations.
Do these companies also need an innovative custom software solution for their business? Probably not. Because of their relative size and simplicity, organizations like this will probably run as efficiently with off-the-shelf solutions as they would be with a custom build. If you can operate with off the shelf software as effectively as you would with a custom solution, you definitely don’t need to hire an internal development team. Your budget is better spent elsewhere.
But what happens when a custom software will cause a business to operate more efficiently than with a regular off the shelf solution? Should you hire an internal development team our contract out your solution? The answer to this question will depend on the number of changes that will need to be implemented to the custom build software solution after its initial deployment. Lets explain.
In the end it’s not a question of scale and spend. It’s a question of how much will a software solution evolve. If the business needs a custom built solution to operate more efficiently or differentiate itself from its competitors, what will determine the need for an internal software developer vs. a software development contractor will be the number of changes that will need to be performed to the solution in the future. If the custom solution will require small changes in the future it will be more cost effective to contract the changes. On the other hand, if the custom solution will require constant changes it makes sense to hire an internal software developer to perform the modifications.
So, we’re all in the software business. But we’re not all in the business of building and grooming internal software teams. And it’s vital that every business know the difference.