So you’re hit by a great idea and the entrepreneur-you awakes. You circle it around. Your friends think it’s magnificent, you are encouraged further by few VCs that find it intriguing and an angel is even willing to minimally ceed you for a minimal viable product (MVP). The plan looks good, but few months later you are still nowhere with the implementation. There turns to be a substantial obstacle ahead: You just can’t hire a critical mass of developers that are capable of bootstrapping it. How come?
The software industry is in constant boom. The Moor’s law is good proof of this trend, doubling the computational resources needed to run the produced software year in and year out. New software paradigms arrive each year and the entire economy rushes to implement them: Virtualization >> Cloud >> BigData >> Fog and IoT >> AI ….resourceful embankments each of them an universe on its own. The everything-as-a-service paradigm and the commodity Cloud computing resource opens infinite opportunities. Pleiades of software startups and ideas strive to explore them. There is one thing that is slowing this boom though – the well-educated engineering force to support it. Given the ever growing software production needs, we still have roughly the same number of technical universities and computer science graduates as 2, 3, even 5 years ago, not to mention experienced engineers.
How then your young startup is supposed to find engineers capable of turning your sophisticated innovation in state-of-art software? In this market, you are competing with universe of startups and tens of thousands of well established and funded companies that lure engineers with social benefits, flexible working time, unlimited vacations, luxurious offices and what not.
On the other hand, as author of the idea, you probably don’t want to just outsource your baby to a bunch of random engineers with doubtful credibility and capabilities, some strangers from the other end of the world, hardly able to comprehend their culture, with unclear processes and lack of guarantees contrasting the bold claims they make out of the blue.
The model of partnering with experienced engineering company specializing in boosting startups has its advantages, even over an internal development: you get quality engineering processes, people, product and project management, with less risk in case of financial difficulties. Ultimately you get the efficiency of engineers that have years and years of experience on such projects.
Whether you have the finance but can’t compile your team or are not washed by surplus of capital, don’t panic! There are professional engineers on the market, a cohesive group of freelancers, small or even medium software shop that are enjoying to collaborate with fresh startups. Why? Don’t know for all of them, but we at DataStork do it because it’s challenging, hence fun. Novel ideas, noble and bold, are full of technical challenges, often vague requirements, limited budget and rapid time-to-market leave no space for errors and trials and this is where professionals shine. You just need to understand how to recognize shops capable of delivering your idea.
Ask yourself: What are the most important qualities that a team should possess to implement my idea: relevant domain and technical expertise, proven proficiency and efficiency, be excited about the idea? What you need to avoid probably is: remote-only team with distant culture, cocky statements, costs vagueness hidden by agile methodology terms, lack of transparency on the exact team members and processes. In two words, don’t search to outsource as this is what you will get, rather look to “up” your startup with pros that serially boost startups, i.e. up-source.
Here are some key characteristics of up-sourcing teams.
The up-source team would be willing to understand well the idea in a series of live meetings and Q&A sessions, before jumping on the offer and implementation. The team would then provide you with a release plan of clearly defined milestones and firm total estimate that would guarantee your precious resources are spent for maximal market impact. The up-source team would give you a timeline with frequent incremental releases (e.g. every 2 weeks). With such release cycle you are in control. The risk of mis-implementation is mitigated since the team is legally bound to supply you fully functional production-ready code, every 2 weeks.
If this team is confident in its processes and quality there won’t be a problem to offer you concise legal contract that crisply explains the processes and gives you quality and cost guarantees. Look for agreements that do not charge on work associated with bug fixing. Everybody claims high-quality, so look for measurable assessment of the quality, e.g. 4, 5 or even 6 on the 6-Sigma scale, depending on your budget and practical needs.
Of course it is not always possible to articulate all possible functionalities that your software needs to have. At this early stage, you might not even have a clue about them. Hence the total estimate and cost guarantees would be taken as understanding of the current vision. The vision would often change with the evolution of your idea and startup. If your engineering partner is experienced, it will guide you through the inception phase while the vision is forming and compile for you a software specification of clearly defined goals, functional and non-functional requirements, described along with estimates and priorities; and laid down in a work-break-down (WBS) structure with logical milestones. The specification should be clearly separated on functional and technical part, whereas the former describes what your system needs to accomplish and the latter depicts by what technical means it will be accomplished. Lack of separation is a sign of lack of maturity.
Should the vision change, you should follow the concisely described change-management procedure in your legal contract and work with your engineering partner to update the estimates, specification and the release plan. Well written requirements are like state-of-art legal contract: easy to read, concise and sharp on the success/failure criteria. Given such specification with estimated and prioritized list of functionalities will let you fit your effort to the available budget. Pick the right balance between product richness and time-to-market. An experienced team would advise you, for an optimal release path, to choose only the critical features, just like you would do when your funds are about to deplete, still keeping an eye on the good user experience and the wow-effect. As the saying goes “if you did it perfect, then you are late”.
Watch out in the estimation phase. A serious partner would not throw estimates out of the blue, but will analyze and consider your idea from all aspects. Well grounded and professional estimates are done after the problem is well understood and the team speaks “your language”. Surely estimates carry uncertainty, but for experienced architects that know how to systematize requirements and choose suitable architecture, the uncertainty should fall within fixed error rate not exceed 20%, e.g. 3 man-months plus/minus 2 weeks.
Experienced engineering team will be able to provide you with references of similar projects so that you can cross-check their ability to deliver. Experience varies across domains, but generally if your idea requires state-of-art engineering and technologies, then look for at least 10 years of average team member experience. For example BigData engineering requires 5 years hands-on classical databases and 5 years on NoSQL to start with, less than that and you will get sub-optimal or over-designed solution.
An up-source team would specifically turn your attention to the post-MVP period and take care of how you transition to your own internal development. It would offer a smooth transfer-of-information plan with enough education, on-site mentoring, even help in forming your internal team when you are financially savvy. Such team would explain that writing software in state-of-art modular fashion following best practices for clean self-documented code, providing frequent incremental releases with product-ready end-to-end functionality is the key to the successfully boosting your idea to orbit and eventually ensures easy transition to the next phase of internal team development. Up-sourcing works the same was as a rocket booster smoothly transitions power to internal engine when the lower orbit is reached.
Experienced engineering partner would take care of the technical side of your intellectual property in systematic way. It will turn your attention to reasonably priced patent options ordered in long-term IP protection strategy which evolve both in strength and costs with your company progression.
If such teams are experienced in bootstrapping startups they should be efficient enough so that their service comes at reasonable price for fresh startup as yours. Avoid cosmic as they yield lack of expertise and efficiency. Avoid ridiculously low rates as well as they usually yield straight forward scam, junk software or at least compromises in key aspects of it.
We touched on some problems of the startup sourcing and the model of startup up-sourcing/boosting. We went through handful of key characteristics of good startup up-sourcing shops. It takes years and years of experience though to be able to recognize ripe from rotten apples in the software services industry. Hopefully you now have some more hints for your checklist.
To sum it up an experienced team of engineers, keen to boost your idea is somewhere there, take your time to discover it, to feel it. When you find it, you will feel it. It should feel as a long-term partnership that speaks your “language”, is passionate and cares about your idea, still acts in cool-headed systematic way and provides guarantees about its claims. Stay away from murky waters that you can’t visit live at least twice a month, especially stay away from hot-shots throwing promises about one-shot software miracles.
Don’t outsource, up-source! Good luck!