For many years, leaders have questioned whether it is better to make or buy software solutions to the many business problems they face. Pros and cons are weighed as they try their best to do what most cost effective and efficient for their businesses. It proves difficult, though, to accurately estimate the long-term consequences of that decision, which often leaves those on the front lines struggling to pick up the slack.
The pace of technology innovation is accelerating at an almost exponential rate, making it difficult for the average internal IT groups to cope with this pace of change. The struggle commonly lies in the fact that they not only they have to create the software internally - they must also maintain and upgrade it indefinitely.
Building the software has frequently won out 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, dramatically reducing their IT operational costs as well as their historical reliance on 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.
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 are you 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 / 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 software is adequately developed and customizable to address
- The software would be used throughout your organization and 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 feedack, 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 thatshould 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.