Start-ups are promising, innovative and conducive to the ever expanding business environment. According to NASSCOM, India is gaining the third spot globally with the fastest growing base of start-ups. The growth rate has been almost 40% with more than 4000 being added every year since the beginnings in late 2014. Worldwide, US leads the way in the start-up ecosystem followed by Indonesia, UK, Germany, Brazil, Spain, Canada, and France.
While all start-ups require financial support to flourish, they also need a technology stack to build their applications for the user/customer. The technology stack is simply the software tools/programming languages used for building the pieces and eventually the entire application. With options galore, especially for a non-technical team, it comes with a fear of using the incorrect technologies that could have far-reaching consequences. Hence, it is imperative to use the best fit as per the knowledge of the team, resources, and finances.
Here are few tips on the basis of which the originator of the startup and the team must choose their technology stack −
Financial Models − The team must be aware of the projected income statements, assumptions, balance sheet, and the cash flow situation to be able to choose the technology stack.
Coding − When it comes to writing the code or buying, it’s better to buy, with of course the cash position allowing the same. You can use Daas (Database as a Service) or others such as WYSIWYG/CMS/CRM/HelpDesk solutions; else outsource, for eg. use Google Analytics. Once you have taken control of all software, decide the one you would like to work on.
Knowledge − It is advisable to work on technologies the team already knows rather than venturing into a new one. This saves valuable time and efforts. If the team works on the technologies already aware of, it aids in fixing bugs and providing the apt features to the users timely and efficiently.
Team − Most of the team members should be aware of mainstream technologies which will help in course of time. Analyze the proficiency you have and the one you can acquire. Some technologies like Ruby on Rails may be remarkable to use, but the expertise is not easily available. Also, the software must perform as per expectations and beyond. The stack of libraries/packages used by your team must work. Issues must be fixed at the earliest with none pending at all times. Performance issues could arise due to a fault in the application design, rather than technology; these can be resolved easily as the team of the start-up grows. Also, keep a track of what other companies are using. One should not feel segregated in the stack decisions taken.
Mobile or Web − More than 50% of internet traffic comes from mobile devices. In fact, in the US, 1/4th of the population uses the mobile for accessing the web. However, before deciding on the technology stack, assess the usage pattern of your consumers (would-be) and slowly scale it to web or both or remain on only mobile. For eg., if it’s only a mobile application, use Parse or StackMob as the back-end provider. In e-commerce, use Magento which controls 1/4th of the market share. Spree could be used too as it ranks (worldwide) in the top 50 as an open source project.
It is recommended to launch an app on mobile first as it has a simple user interface (UI) and will be time serve to a broader target audience of computers and mobile. Mobile Only approach must be taken if your product requires active user interaction, camera, GPS etc. In these cases, though Android users are higher in number than iOS, the feedback from iOS users is almost 4 times as much as Android users. Hence, create the application for iOS first, then move to the Android version. If your product is targeted for desktop users and not mobile, it is advisable to have a robust interface with access to uploading files like large images or spreadsheets (eg. SaaS products).
Take the decision based on the key constituents mentioned above. They will aid in reducing your time to market and significantly decrease supplementary work for every product. In the second part of this series, we give a recommendation for technology stacks to be used in various combinations.