The first and most important question to answer when considering outsourcing is the services specialization of the provider. Even though somewhat of an oversimplification, software outsource firms are divided into those that perform IT services and those that specialize in product development. By their nature these are completed different kinds of outsource development firms – an IT services firm will not be able to do software product well and vice versa. There are many factors every entrepreneur must consider. How long will the team be together? When outsourcing software product development the assumption is the selected team will stay together for a very long time (years) as the product evolves.
By contrast IT development teams are typically assembled for a limited time and then disbanded. There is typically no need to keep teams together for extended periods. Software product development teams should be located in areas where employment turnover is very low – this is a primary reason why product development (versus IT development) has a low success rate in countries like India. What is the specification process? For many product companies product specifications can be quite fluid as they adjust to their market requirements. As a result, the product development team needs to accommodate changes to the product specification. Requirements may be a moving target. Product companies are better off working with outsource teams that are highly adaptable and creative. Quite often teams are required to take a minimum specification and develop a creative solution. By contrast, IT development teams rely on heavy specification – in fact many projects are developed under fixed bids based on detailed specifications.
Often Asian firms can be very successful in IT software development, yet challenged with software product development. The outsource company culture and processes simply don’t lend themselves to adaptive and flexible development. Eastern European and Latin American firms historically have had a strong focus on product development and as such are much more attuned to changing or undefined requirements. Indian outsource development firms can have as much as a 70% failure rate of product development projects where developers in Poland or Argentina have a very high product development success rate. Full range of services – an IT outsourcer will not have a wide range of services that a product company needs including branding, website development, collateral development, product design including usability, all the way through to product architecture, development and maintenance.
The second consideration is the technical specialization of your outsourcing partner. Hire firms that have development experience with your chosen technology or platform. For example, if the project is to utilize embedded Linux, don’t choose a Flex development firm. They won’t have the senior level guidance needed, won’t have a critical mass of expertise to draw from, and will have to recruit from scratch every time you need to expand the team.If the technology has not been chosen, make sure to select a full services firm that can take a raw idea and completely convert it to a product. Services required to be successful include product design, human factors, architecture, technology selection and development.Third, entrepreneurs must consider the size of the outsourcing firm. Do not pick a software product development firm that is too large or small. Typically a team of developers needed to develop a new product will start off as 3 to 10 developers. Many of the larger (in particular the IT services firms) will not look at engagements below 50 developers.
Even if the firm is willing to take the engagement you will always be “last man on the totem pole” – they will put their least qualified resources and move them around as needed for their larger clients. They will not care about your product – you are too small to worry about. On the other hand some product companies mistaking go with a company too small. There are many offshore developers working from their apartments with a couple of friends. They are cheaper as they lack company infrastructure. These teams do not have engineering processes or management to implement anything non-trivial. Recruiting is also a problem once they get past their immediate circle of friends they are unlikely to attract top talent. It is almost impossible for them to provide the full range of services your product needs including QA, maintenance, support and management expertise. Fourth, geography is important to consider. Some countries and regions are better suited for product development. If you are Fortune 100 company trying to implement a large IT project, some of the large Indian firms are great choices. If you are a Boston startup, India might not be a good choice based on attrition, high cost of labor, requirement for complete specification, and IP protection are issues associated with this development location.
Products requiring database or web development are great targets for development in Latin America. If you are planning to implement QA, as well as development, take advantage of firms that have development centers separate from their QA centers. For example, central Europe does not have a tradition of using separate teams to development versus perform QA, which can push out the product development timeline. By contrast, developing in Europe and performing QA in Latin America will enable 15 productive hours in a 24-hour period. This “follow the sun” model has increasingly become standard practice for many firms, including Neubloc. This gets us to the last point. There is an enormous advantage to picking a US headquartered firm. They will be agnostic as to location. They will pick a location that will increase product development success – not because of family or nationalistic ties. They will span geographies to implement the “follow the sun” model.
Fifth, IP protection can be a critical mishap if not considered when choosing a partner. Many countries/regions have homologized IP laws consistent with the US approach. Japan, the European Union and most of Latin America are safe IP protection bets – that last thing you want is to suddenly compete with a US company that has software remarkably like yours for a fraction of the price. Not only does this happen, it happens more often than you think. As a result there are many locations where the engineering talent is very high – such as the Ukraine and Russia- but may not offer you the protections you need to run your business.Sixth and final consideration, what is the added value provided by your selected outsourcing partner? US based companies that focus on software product development are oftentimes led by software technology executives. They will often have deep roots with venture capitalists, bankers, private equity firms and other technology companies. Implemented right they can provide significant added value by establishing business connections that help your company thrive. As a customer you should fully expect them to be an active partner and not a vendor. Notice price did not get mentioned as a primary criterion. It is possible to get developer resources for as little as $4k or as much as $8k per month through Neubloc and other providers. Concentrate first on the company that is the best fit for your company and remember that they need to be a long-term partner. Once you have made the decision based on other criteria, narrow down the choice based on price. Remember the developer in his garage with 3 of his friends for $4k per month is not necessarily your best choice but neither is a 100,000 employee IT development company at $8k per developer. If price is a major concern then look to outsource firms that are willing to work with you on a partial equity basis – your interests will be aligned and you will preserve your cash.