Startups often attempt to launch a product or service without full awareness of the options and developments in the tech industry.
As a result, they often miss out on the ability to capitalize on a new idea before competitors or fail to innovate when they approach design from only one angle.
For those companies who have taken the initiative to outsource their startup’s software product development, it hasn’t always been successful for a variety of reasons. But before you discredit outsourcing all together, take the opportunity to learn from these failures. Below are 3 unfortunate situations of software outsourcing gone wrong that we gathered from startup clients and individual entrepreneurs and how you can overcome them.
We’ll walk you through each scenario and provide tips for preventing those “horror stories” from happening to you!
1. Paying Stock for Code
Startups are always looking to save cash, especially if you are bootstrapping and self-funded. Entrepreneurs often try to use stock or stock options to fund software development. Not all software outsourcing companies will take stock because they have to pay their developer employees with cash. But if they do take stock there should be a reasonable vesting period, possibly dependent on the acceptance of usable code.
Not following the advice above caused a problematic situation for one entrepreneur. She hired an outsourcing company in exchange for a stock grant. When the code was being delivered, it was clear there were quality problems, forcing the entrepreneur to end the outsourcing relationship. That left the incompetent outsourcing company owning a significant portion of her company after they did nothing to help the company succeed. In fact they caused harm by wasting the entrepreneur’s time with their incompetent product development.
2. Bad UI Designed By Engineers Instead of UI/UX Experts
A startup company was founded to develop software to manage construction projects for franchises building and opening new retail stores. The founders had decades of experience in the construction management industry but no software development experience. They hired an outsourcing company in San Francisco that immediately took the description of the product functionality involving budgets, schedules and change orders and modeled the information in a relational database. After several months of work costing tens of thousands of dollars the database was finished.
Users could display information from the database in a browser and even store edited information. But there was no way to really demonstrate the intended full value of the application! There was no way to begin a construction project, create a budget and schedule and manage a workflow as building took place.
The startup wasted their initial seed capital on an engineered but incomplete solution that no one could use. The startup lingered for a few more months and then shut down when unable to raise additional funding.
Your initial customers will be scratching their heads about what button to push when if your startup hires a smart “rock star” developer, or even a team of rock stars, who are only fast coders but have little or no understanding of what makes a great user interface. It takes a diverse team of people to deliver great software. Although software engineers are creative, they are usually not the best people to design a user interface with a look, feel and flow that delivers a natural and intuitive user experience. Therefore a startup should outsource to a company with all the resources needed to design a great user interface, architect a complete solution as well as do coding and QA.
3. No Innovation Due to Cultural Differences & Poor Communication
Developing great software is a collaborative process. Startups may stay away from outsourcing because of the assumption that all details of the software functionality must be specified before outsourcing can occur. Many entrepreneurs have learned the hard way that sending incomplete specs offshore results in great frustration and not much code. The root cause of this is often cultural communication differences. The general rule is Westerners (Americans, Europeans, Australians, etc.) are more direct and Asians are more polite. To say no, or even to ask a question of the client, can feel impolite to Asians. Therefore not much effective communication takes place, even in the daily standup meetings.
Without Q&A and collaboration, some developers do nothing until they are told something new or just implement what is in the spec. One startup got back software for a video surveillance system that formatted the hard drive as soon as it was turned on. “That makes no sense!” the VP of Engineering complained to the project manager at the Asian outsourcing company. “I know” said the project manager, “but that’s what was written in the specification.”
Since developing software is a collaborative process, any professional software outsourcing company MUST solve all communication problems, no matter if they are caused by accents, culture or time zone differences. This is especially true if you are a startup where requirements are rapidly changing. You should take on some of the responsibility for clear communication too. If an Indian developer says, “That will be difficult” it usually is a polite way of saying “NFW!”
Are you saying you’ll NEVER outsource now? You’re mistaken! There are several tremendous benefits startups should consider before rejecting software outsourcing. In fact, only by outsourcing is it possible for some software startups to get off the ground.This is an excerpt from our latest ebook, “How to Avoid the 7 Most Common Startup Mistakes.”