Think about this. Generally, you do not buy software anymore; you rent it as a software as a service model or otherwise. In addition, software companies are constantly upgrading their products, changing them out from under you. Just when you get used to how a system functions, they change the interface, features and functionality. And they seem do this at every opportunity. Make way for progress!
So what do you do? Over the past fifteen years, businesses have had to adjust to the cost of changing out computers and software as part of their regular operating expenses. To date, the biggest mass upgrade, and the one that caused the most disruption for businesses, was moving away from Windows XP. To this day, I still hear users complain that they don’t like Windows 7, 8 or 10 as much as they liked Windows XP. In addition to the physical costs, it takes time for your IT people to figure out how to support new hardware and for users to become proficient with the new versions.
On the software development side, the fundamental problem to solve is this: How do you build software that allows you to make a profit? To answer that, you must consider how much it costs to build, maintain, and support it versus how much revenue it delivers. Here’s an extreme example: The average high quality computer game takes 4-5 years to build, employing hundreds of people, with budgets often set at over $200 million … all for a game that sells for about $60 a copy. The software company counts on selling millions of copies just to break even. So those of us creating business applications, for which sales may be much less each year, have to control costs.
One of the toughest decisions during the software creation process is whether to build or buy components. If your coding team builds everything from scratch, you get the benefit of knowledge and in-depth understanding of every part of the software. But you lose velocity by doing most of the work yourself. You can also lose consistency across the look and feel of the application, which is a big turn-off for users. Most companies will purchase pre-built or commercial libraries that allow them to create a consistent look and feel. This allows you to concentrate on the business logic that the application needs to deliver.
Purchasing a commercial library has its own pitfalls. The upfront cost is much higher. Usually you’re paying for a license for every software developer. And there is often a yearly maintenance fee if you want support and upgrades to keep your code current (you do). There is still a learning curve, though usually not as steep. Your developers will have opinions on what approach to take, so listen to them and discuss the options before making a decision. Play to their strengths to minimize your risk.
Innovation remains as high in computer industries now as it was in the beginning. Because of the ever-changing landscape of technology, it’s all too easy to make a decision that results in exploding your budget. The solution, as is usually the case, is people. Hire good people, who are willing to tell you when you’re wrong. Tell them what they need to know, from the business perspective, to accomplish your goals, and then listen to what they say. Even if it’s not what you want to hear.