For many years, leaders have questioned whether it is better to make or buy software solutions for the many business problems they face. Pros and cons are weighed to figure out what is going to be most cost-effective and efficient for the business. It's important to remember that accurately estimating the long-term consequences of this decision can be difficult. This often leaves those on the front lines struggling to pick up the slack.
The pace of technology innovation is accelerating at an exponential rate, making it difficult for the average internal IT group to cope with this pace of change. The struggle commonly lies in the fact that they not only have to create the software internally, but they must also maintain and upgrade it indefinitely.
Building the software has frequently won in this debate in the past, but with the introduction of cloud computing, the tables are turning. Now even large global enterprises in both public and private sectors that have invested tens of millions of dollars in internal IT infrastructure are beginning to migrate to cloud applications. In fact, the Gartner Group sees the public cloud for the hosting of enterprise applications as the fastest growing IT market in the next ten years. The largest enterprise software companies in the world (IBM, Oracle, SAP, etc.) see their future delivery platform as the cloud, so their customers are rapidly retiring in-house IT environments. This dramatically reduces IT operational costs and historical reliance on an internal IT staff for software development and support.
In that environment, it's tough for internal products to compete with what can be bought on the cloud. Here are some points to consider when deciding if you should buy or develop software.
When deciding whether to buy software or develop your own, you need to think about three key points:
- What is the scope of the problem you are trying to address with this software, and how complex does your solution need to be to fit your business size and needs?
- Does your organization currently have (or can you hire) experts capable of building, maintaining, and supporting the solution?
- Is using the software critical to your business operations, or can you afford to wait while the solution is developed?
You should build your own software internally:
- For ad hoc applications specific to a single business process.
- You have a problem that is unique to your organization, and no available software adequately addresses it.
- To solve a siloed problem that doesn't affect other areas of your business.
- You have a strong IT department that will remain with the company for a long time with the resources to build, maintain, and support the application long-term.
Pros to developing your own software:
- You get total control over development and features.
- The software and its reporting capabilities meet your exact needs.
- You retain ownership of the software code.
- If your competitors don't have a similar application, developing your own could give you the upper hand.
Cons to developing your own software:
- Lots of time is required to determine the exact business needs, write the code, integrate with other business systems, and adapt to user requests after deployment.
- Your IT or HR staff is required to train users and support the application indefinitely.
- Staying current is challenging when business needs rapidly change and the applications integrated with your software release new versions that necessitate adaptations of your own software.
- Typically, your application will have lower functionality than a vendor's would.
You should buy your software from a vendor if:
- Use of the software is critical to your business operations.
- You have a common problem that available, customizable software can address.
- The software would be used throughout your organization and can integrate with other applications.
- Your IT department is not equipped to build the application, or maintain and support it long-term.
Pros to buying software solutions to business problems:
- Ready-made solutions, available when you need them.
- Greater flexibility and adaptability.
- Thousands of hours have already gone into developing the application and working out the kinks.
- Expert support and training are available to existing and future staff with no additional burden on your IT or HR teams.
- Typically, functionality is enhanced through customer feedback, anticipating your changing business needs rather than reacting to them.
Cons to buying software:
- Developer retains the rights to code.
- Product functionality is determined by vendor and may not fit your exact business needs.
- Rely on vendor's support to fix issues.
As you can see, there are a lot of factors to be considered when deciding to buy software or develop it internally. It's a decision that should never be taken lightly, so be sure to consider all of the variables before jumping in!
What are some pros or cons that you've found to developing your own software or purchasing it from a vendor? Leave a comment below to get involved in the conversation.