In most startups, you begin with a hypothesis of how you are going to address a need, and hope to build a product or a solution that can fulfill that need and build a business out of it. The time to market is one among the many pressures weighing down on your mind. How do you execute in this scenario?
- Build: You can build everything on your own. Though you don’t know what to fully build yet, you will discover along the way.
- Buy: You can find other technologies that address certain problem in a generic way and bundle (integrate) those to create your product. 1
- Build and Buy: You can build what you think is the core competency that your startup is going to focus on, and buy/acquire the other peripheral components to create your full offering.
Sometimes building everything on your own is stupid, why would you want to waste your time and resources in solving problems already solved. And you can’t just buy everything and cobble together a unique product that is worth something. So you have to really come up with a Build and Buy strategy for your product to both be uniquely valuable and addresses time to market. Time kills startups.
So if you are in charge of building the product, you are bound to face all these pressures coming from your CEO, CTO, Marketing and Sales visionaries in your company. And this is where if you are not careful, you will end up building something that probably takes more time, is not elegant, and does not add any real value. And thus, if the product has no real value, how can you expect your company to establish itself as a viable business. The paranoid around you will start proposing ideas, most of them tend to be hare-brained, spur of the moment types coming from really loud voices in the organization. This is the time when you have to stand strong. After all, you are there to build a new product that offers a new and unique value proposition and change the dynamics in the market.
I have gone through this experience myself and wondered if I and our product team caved to these pressures and simply bundled what is out there already in the market, would we really be a product company or just another integrator? Where does innovation rank? Where is the IP that is going to make your company highly valuable and set us apart? As a product owner, you need to really think hard and have the courage, conviction and vision. You need to lead and convince others that what you propose to build will be more valuable than just cobbling together a piece of other technologies. At JackBe, we established very early on that innovation was going to be the key value my team was going to live (or die) by, and as such, we went against the opposing forces time and time again to innovate and really build the core technology and IP that established JackBe as the market leader in enterprise mashups and real-time intelligence. Our product gained customer admiration, won several awards and eventually, the company was acquired by Software AG because of the value of our unique product and IP.
I am not saying that your complete product has to be 100% home-grown, every line of code written by your team. There are plenty of FOSS products for you to build your unique product or platform. And there may be commercial products or components that you might want to OEM and license to build your product. There is no need to build those from scratch. That would be silly and a stupendous waste of time and resources. The key is to identify what is core to your differentiation and what is commodity, and then build your core by leveraging the commodity components out there and that’s how you balance the forces and address the time-to-market. Some common commodity components to consider (I only mention a few to just illustrate the example)2:
- Server Side (Java Based): Application Server (Tomcat/Jetty/etc.), Application Frameworks (Spring, Akka, Play, etc.), Utility Libraries (Apache Commons, Apache Axis, Saxon XML Parser, etc.)
- Database Systems: RDBMS (Apache Derby, MySQL, etc.), NoSQL (MongoDB, Redis, etc.)
- Visualization: Fusion Charts, High Charts, D3, NVD3, etc.
So my message to you is this. Don’t just bundle other COTS to create your product. It won’t help you to build a revolutionary new product. Instead make your own unique and secret sauce and mix it with what is commodity already to create a high value game changing product.
1 – Buy: For the purpose of this discussion, I am using ‘buy’ very generically. In some cases, you don’t really buy, but you can just acquire it via partnership. For open source products and components, you just use it (beware of what open source license they come with and their restrictions there upon. My favorite FOSS licenses are Apache 2, MIT, BSD. I tend to stay away from GPL (all versions) and LGPL.
2 – Free or Commercial: Note that some of the components are open source, and some are commercially available sold by other vendors in an OEM friendly license that you have to acquire from the respective vendor for a price.