When building a large software project of any kind, the question of build vs. buy is often the first debate organizations have. Valid arguments exist for both sides. Ultimately, the choice depends on a combination of a number of competing and overlapping factors, ranging from cost, timelines, technological maturity of off-the-shelf products, vendor skillset, software features, integration flexibility, development roadmap, support models, pricing models, and much more.
The Middle Path – Customizing Off-the-Shelf Platforms
In some cases, though, customizing an off-the-shelf platform offers the best of both worlds. By configuring, extending and ultimately developing on top of an existing platform, a stable and sustainable solution can be created that meets all needs for a fraction of the time, cost, and effort of building something from scratch.
What are some of the elements you should consider when making the decision between going with a purely custom-built application vs. going with an off-the-shelf software? Here’s what Kaltura has found in the context of our experience with other customers, and the results we produced for them.
Why Do Developers Sometimes Avoid Off-the-Shelf Software?
There are a number of concerns and misconceptions regarding off-the-shelf software. In general, developers worry that off-the-shelf software…
- …is not custom enough, i.e., cannot meet specialized needs. This is indeed true for highly specialized requirements. In our experience as a video platform provider, though, we’ve found that most organizations don’t actually need to reinvent the wheel. The video platform required by the vast majority of organizations is at its core a very standard request and already very well represented in consumer software, such as YouTube. Highly specialized requirements are not required here.
- …is too rigid and restrictive, i.e., cannot be modified, added to, or have built-in features removed, leading to either too many or too few functions. This is true for many off-the-shelf software products. Unique in the marketplace, though, the Kaltura platform is at its core open source. Kaltura built its proprietary products on top of an open source API, meaning there is no restriction to modifying, adding to, or subtracting from the platform. Other organizations have leveraged this capability through Kaltura’s Video-Platform-as-a-Service offering, allowing them to build their own custom video products and workflows based on the Kaltura APIs.
- …does not integrate with other systems. Again, Kaltura’s unique open architecture and native flexibility makes it so easy to integrate with that there even exists an open marketplace of other software applications integrated with the Kaltura platform.
- … provides no technological competitive advantage. If everyone has it, then what sets you apart from your competition? Simply put – unless you are building something with intrinsic value, such as a new algorithm for trading stocks, then what you need is something that works, not something that no one else has or could have. For most organizations, though, the unique advantage is not technology but content and reputation. The technological part of the offering should be seamless and invisible.
- …is slow to react to changes or new requirements. This is certainly true of “pure” off-the-shelf products. But as Kaltura maintains a hybrid approach, developers will enjoy the benefits of both a robust off-the-shelf offering, and also quick custom changes if required.
- …means you do not own the IP. This is true (apart from the additional custom work which you do own the IP for). For proprietary ideas, such as new mathematical concepts, not owning the IP could be a big issue. But again, the value of the most companies’ video platforms will come from the uniqueness of the content. It’s no more necessary to control the IP of the video platform than it is to control the IP for Word or Excel.
What Determines the Success of a Video Platform Development Project?
The elements that are vital for the success of building a new platform, especially a video platform, are:
- Budget. Quite simply, custom software is expensive. 99 times out of 100 the budget goes over; 90 times out 100 the budget goes over by multiple times.
- Technical complexity. Building great software is as much an art as it is a science. It is often compared to building a house, but in reality, building great software is akin to finding the cure for a disease. You know where you want to get to, but the road to get there is full of unknowns and surprises. Kaltura has spent 12 years with hundreds of software developers building its platform. That cannot be easily replicated.
- Timeline. Proprietary software takes a great deal of time to complete successfully and that amount of time is almost impossible to predict when starting (much like the cost). If you have strict timelines, then steer clear of a fully custom build.
- Reliability and Robustness. When software is custom built, it is tested only for a narrow set of requirements, and only by the end client. Off-the-shelf software on the other hand, is thoroughly tested out in the field by millions of end users from thousands of clients, making it far more reliable and robust.
- User Interface. Consumer off-the-shelf software, unlike custom software, competes for users. One of the big pulls for software is ease-of-use and graphical attractiveness. Such features, while considered, are not priorities for custom software as they are considered “nice-to-haves” rather than “essential”.
- Development Roadmap. Custom software is just that – built for a specific set of requirements. So once it is built, development stops unless more requirements are continually added. This makes custom software go stale very quickly. Off-the-shelf software, on the other hand, has a steady roadmap 12 to 18 months in the future with continuous development and releases of new functionality included. Kaltura has been noted by analysts for being a leader in innovation in the video space, constantly introducing new features and products which companies would be able to take advantage of as you choose in the future.
If your company’s competitive advantage truly rests on the nature of the software you use being unique, then it makes sense to develop things in house. But if what you want already exists and you only need some small modifications to create the perfect solution for your needs, it’s far faster, more cost-effective, and more robustly future-proof to choose an existing solution that can be easily modified to meet your needs.