Steve Mezak CEO, Accelerance, Inc.
Software plays a vital role in the ongoing success of modern day companies. That being said, finding, attracting, training and retaining skilled software developers can often be easier said than done for many companies. To complicate matters even more, the number of developers a company needs at any given moment can vary greatly, from tens to hundreds. This is why it often makes sense for many companies to consider outsourcing their software development.
As globalization forces a lot of organizations to constantly improve their competitive edge, outsourcing can reduce internal costs while allowing businesses to focus on core competencies and key processes. This is why hiring the right software development partner is a critical task, but not an easy one. Many companies find themselves at a loss when it comes to starting their search. The trick to finding one quickly and efficiently is to know the five key factors that will determine success:
Location: The good news – there are now world-class software engineers in just about every major urban center around the world – there are solid teams in Mexico and Canada, many countries in Central and South America, Vietnam and the Philippines, and India and Pakistan. But, be ever mindful that different locations can mean very different cultures with very different workflows and processes. The key is being able to find an outsourcing firm that not only meets your needs, but is also easy to work with during the planning stages of any given project.
Technical expertise: A second major factor is determining the level of technical expertise. You might need developers to work with ubiquitous technologies, such as iOS, Android or Responsive Web. However, other projects or companies might be looking for more niche or complex technologies, like embedded systems or data management. It’s important to find a firm that can satisfy your company’s particular technical requirements.
Company size: This is an obvious difference that is surprisingly often overlooked. Partner sizes can be broken into three main categories:
- Boutiques (less than 100 full-time equivalents or FTEs)
- Mid sized (101-999 FTEs)
- Large (more than 1,000 FTEs)
Each category certainly carries individual strengths and obvious challenges about which you’ll want to be well aware. For example, boutiques are agile and focused—you’ll get their full attention, but they may have trouble scaling if you grow beyond 25 percent of their team. So being able to accurately estimate your growth trajectory is important when working with a boutique. Conversely, large firms have the advantage of providing a wealth of resources, but it’s also important to keep in mind the scope of your assignment. Say, for example, that your project requires 10 FTEs or less. Bringing on board a large firm might not be ideal. If your project is small and requires significantly fewer resources, you might not be a large firm’s number one priority and would be better off rethinking your partner’s choice.
Business model: It’s important to choose a partner with the business model that best maps to your internal processes and development goals. Knowing from the very beginning how your partner typically works will be key in ensuring that you can be comfortable working with them. Some partners prefer to integrate developers directly into the company, so you’re responsible for managing them, the process and the deliverables just as if it was your own employee. Others work more independently on a project basis, where they deliver the product after you specify what you’re seeking. The most common model, however, is a mix of the two.
Configuration: The fifth and final factor in choosing an outsourcing partner for your software development needs is determining how an outsourcing partner’s business is configured. For example, some providers have full-time employees who are committed to the company and culture. On the other hand, there are providers that use a network of contractors. A third model consists of providers that have both a core team of employees, as well as a network of contractors. One of the main benefits of working with this type of partner is that you can get local developers who understand the domestic market and company better, while also getting offshore developers who might bring a new range of skills and expertise.
There’s certainly, no “one-size-fits-all” model when it comes to selecting the right software engineering organization. Instead, many factors must be carefully considered prior to selecting a partner. Doing your research up front will provide you with the best understanding of a potential partner’s scope and level of expertise so there are no surprises down the road. Investing time into exploring and evaluating the different options will ensure you can find a good fit for you and your company.