Tips & Tricks on How to Develop Software for Startups

Startups are newly-founded companies with little or no operating history and are mainly targeted at groundbreaking solutions’ production. Though lately this definition has changed a bit and still changing, adjusting to current market and business goals. Today new company isn’t necessarily a start-up, so how to distinguish them from the established ones? Based on the research findings, there are two key characteristics that help to discern startups: high degree of uncertainty and rapid development.

In the US startups are a significant economic force and according to “The Kaufman Index 2016: Startup Activity. National Trends” there are about 550 000 new businesses set up every month during the year. However, based on “U.S. Startup Outlook 2016” by Silicon Valley Bank, 95% of entrepreneurs admit that it is challenging to find talents with a necessary set of skills.

Shortage of skilled staff report

50% of respondents described “Access to talent” as a #1 public policy issue, followed by cybersecurity (36%) and healthcare costs (33%).

U.S. Department of Labor declared that by 2020 there will be an essential shortage of IT skills that is around 1.4 million of IT job openings. Meanwhile, according to Gartner, universities and colleges won’t be able to fill even 30% of these vacancies. As another example, Canada needs 182 000 candidates to fill ICT positions by 2019, based on “ICT Labour Market Outlook 2015-2019”. This is one of the reasons why most of startups outsource their IT needs offshore. Based on “Global Outsourcing and Insourcing Survey 2014 and beyond” by Deloitte, IT Outsourcing (ITO) drives over 60% of the whole sourcing market.

Software development for startups differs from engineering for more established companies in many ways. Startups are dynamic, innovative, uncertain and quickly evolving. All these features have a direct impact on web application development process.

Tips on how to develop software for startupsWhat are the specifics of software development for startups? - Tips & Tricks.

  • Chosen framework should be scalable, multifunction and user-friendly. We suggest using mature (enterprise-ready) frameworks due to several reasons: they come with multiple modules; they enable deployment in minimal time; they work right OOB (out-of-box). Based on real cases such strategy allows to save time. For instance, some of our clients insisted on Express.js usage and, as a result, we lost time writing modules and other features that are already included in mature frameworks.
  • Apply short iterations and make sure that every iteration has a specified final outcome. Scrum two-week sprints are a telling example: they provide project discipline, help to shape goals and rule out the possibility of random development.
  • In startups everything is aimed at reducing the time spent on development. Our case studies show that in the early stages technical requirements tend to change often. Statement of work is a dynamic document that is mainly based on market demands, hot trends and end-users’ expectations. Following this line of reasoning we don’t advise writing tests while shaping the final product. Early tests are a waste of time and so you will be able to cut development time.
  • Refactoring is an important phase of software development cycle and applied technologies should enable developers to make changes and add features quickly and easily. Compared to corporate complex solutions, where such technology heavyweights as Java and .NET are mainly applied, startups should give priority to lighter and more flexible frameworks.

Tips on how to develop software for startups

  • Technical debt or coding debt can appear due to fast pace of application development and business pressures. To apply the changes and decrease software entropy, it is necessary to allocate time for refactoring or to create an operational strategy that will fit your software development methodology (f.ex. one month of coding and two-week refactoring).
  • Startups don’t usually hire DevOps engineers and when it comes to rollout, they choose local servers. However, it is essential to address the possibility of server crash, further data unavailability, loss of data, etc. To ensure smooth deployment and continuous development process we suggest using Amazon Web Services (AWS).
  • Don’t forget about analytical tools and be actively involved in final program evaluation. Watch end-users behaviors, analyze the process and adjust application to users’ needs.
  • Don’t hesitate to release the product at the earliest opportunity. Current market is dynamic, so requirements change frequently and quickly. Certainly, the first version should be up and running, without any bugs, but it shouldn’t be polished up and honed to perfection. Speaking from experience, most probably the very first version will be redesigned after release, but you can let people choose a set of features, interface, etc. Allow end-users to become testers, consult with them and listen to their feedbacks.

Actual project experience: Founders of OpenBom started their project with requirements gathering and the first program release was tested by end-users. After testing users shared their ideas, suggested several key features that were released soon after. Such approach will help you to meet market requirements, fit with users’ needs, and ensure product’s relevance.

  • Grasp the thistle firmly: analyze problems, deal with them, and draw conclusions!

Actual project experience: Soon after release, Fixington founders faced a problem of incomplete booking tickets. The application was up and running, but users couldn’t complete some operations. As it turned out in some cases tradesmen couldn’t estimate a scope of work online, quote a price and, as a result, send invoice to a customer. So web app couldn’t draw up an order. Our team came up with a solution: in such cases tradespeople could call their customers, discuss services in details, create invoice and send it to a customer for payment. Such situations require out of the box thinking, but you should keep in mind that in most cases problems are solvable.

These days, startups often break new grounds, easily apply new technologies and gain valuable hands-on experience. They’ve already become a true economic phenomenon that offers numerous unbeaten opportunities and challenges at the same time.

DA-14 has a large practical experience of working with startups and we are really into each new project. Have an idea for startup? – Don’t hesitate to share it with us! Perhaps we are on the same page.

↑ Go up

Similar post