Everyone wants to get a good deal for the money they spend. Whether you are buying a house, a car, or skilled software development talent, you want to get good value for each dollar. Just like avoiding poor quality in a car or a house, you’ll want to avoid cheap outsourcing. That’s why it’s important to understand what “goes into the deal” as you examine your options for outsourced software development.
Let’s use our car analogy. Is a $10,000 car a better deal than a $15,000 car? The answer, is of course, “It depends!”. Does the less expensive car have the same options? Is it in comparable mechanical condition? Is it the same make and model as the more expensive car? Naturally, a car that costs less, but has inferior, unacceptable attributes in comparison to the more expensive car is really not a good deal at all. We might say “it’s just a cheap car”.
At the same time, there are options for outsourced software development out there that, on the surface, appear to be good (maybe VERY GOOD) deals, because the hourly rate is so low. But beware, because that low-rate option may have poor characteristics which will NOT get you the solution that you want, on the timetable you need it delivered, and may ultimately be MORE expensive than other options. In other words, it may be what we call “Cheap Outsourcing”.
Outsourcing of software development is a proven way to reduce your costs of developing and deploying applications. There are some “good deals” out there you can take advantage of... and Accelerance would love to help you find those deals.
What determines an outsourcing rate?
The answer is really quite simple. COST ultimately determines the rate. Whether you are using a software developer who is an on-staff employee in Atlanta, Georgia or an outsourced, offshore developer in Chennai, India - there are common elements which will affect the cost of a developer.
- Wages. All software developers are paid a wage. If the software developer has marketable, in-demand technical skills and is proficient in software development, then the wage they earn will be competitive for where they live.
- Employee benefits. Though the particulars will vary, a programmer’s total compensation will have elements that include vacation, sick time, insurance, payroll tax, retirement contributions, etc. The cost of wages and benefits combined is known as “fully burdened cost”. According to the Bureau of Labor Statistics, US employee benefits typically account for 31% of the employee’s fully burdened cost. Wage and benefit expenses per employee will vary greatly by country - but the expense elements are there.
- Expense to supervise the employees. Regardless of the country, software development teams have to be managed. A supervisor will set the software developer’s work priorities, coach and guide regularly, have formal status reviews, oversee time reporting, and conduct performance reviews.
- Tools. In order to do their job, software engineers need computers, data center computing power, software development tools, and testing tools. All of these will be purchased or licensed by the company who directs the work of the software developers.
- Office space and furnishings. Usually a company will provide a common workspace (including office furniture, phone, internet, etc). for a software development team in a leased office.
As we said earlier, the elements that make up cost for a software developer are fairly standard worldwide. What will vary greatly is the cost of those elements. Is it less expensive to live in Waco, TX than San Francisco, CA? Absolutely! Can a lower cost of living and even favorable currency exchange rates with the US dollar make offshore or nearshore software development a more cost effective option? Of course! But be careful...don’t confuse software developer rates which are naturally lower due to economic conditions with “cheap rates” that are possible because you aren’t getting fullest value for the hourly rate you pay!
Are there “typical” outsourcing rates?
In our years of examining of global rates for outsourced software development, Accelerance has found that there is a continuum you can use as a guide. Internationally, rates can range from as low as $15 or $20/hr to as high as $300/hr depending on many factors. Based on our experience and global outsourcing relationships, Accelerance recommends that you discard any services offered below $25/hr. Regardless of location, we believe less than $25/hr is a glaring red flag that the provider may be a “Cheap Outsourcer”. Below, we will describe further why that low rate is a warning sign.
What makes “cheap outsourcing”?
As mentioned above, one clue for you that an outsourcing provider may be selling “Cheap Ooutsourcing” is a too-low rate (less than $25/hr.) But regardless of the rate, here are ways that a provider may cut corners to inflate their profit margins, while delivering to you a substandard software solution.
- High turnover. If the software outsourcing provider is not investing in their company (and their software engineering staff) then you will see that staff turnover is high (just a few months or less than 2 years). Staff longevity is always important as a quality attribute - and it is CRUCIAL to you if you plan to engage the provider for a lengthy, complex project.
- Insufficient tools.You wouldn’t buy a car from a manufacturer that doesn’t equip their factories properly, nor should you buy outsourcing software services from a company that isn’t properly equipping their software development staff.
- Poor process. A “cheap outsourcer” will likely have poor internal processes. This can show up in very clear ways such as little-or-no industry certifications, where formal, well-documented process are required. Poor processes can also show up as they onboard new developers to your project or scramble to provide backfill of someone who suddenly becomes unavailable to your project.
- Limited Talent. A talent problem could show up many ways. Maybe they have a “shallow pool of talent” - so that high-level experts whose resume you saw will rarely - if ever - spend time on your project. Instead lower skilled developers may be working on your projects (beware of “bait and switch”). We also see where a provider has a few, properly skilled workers, but not enough to cover all customers’ commitments. Finally, some “Cheap Outsourcing” providers simply lack any of the real expertise you need - not just in programming skills, but also in industry vertical experience and/or specific functional experience (eBiz, finance, sales, manufacturing, etc.).
- Language Barriers. Good outsourcing providers know how important English language mastery is for any of their client-facing staff and other key members of their team. It would be disastrous for your business design requirements to be LITERALLY “lost in the translation”. Cheap Outsourcers will often fall short with English language skills
- Time Zones. Most people want to work during local business hours. A good software development outsourcer will have incentives (and a PLAN) for their key staff to be available for collaboration during US business hours - which could be the middle of the night in their country. You don’t want to find yourself in a situation when key design reviews can only take place late at night in the US.
Simply put - you get what you pay for. “Bargain basement” rates, likely means that the service provider is compromising quality of work output in some manner. Accelerance has produced an outsourcing cost guide to help you understand the differences and tiers you may encounter when examining rates for outsourced software development.
Outsourced software development can be cost effective. Offshore and nearshore software development can provide you with VERY cost effective rates for your next project. “Cheap Ooutsourcing” means you are not getting full value for what you pay. Sometimes, an outsourcing vendor will offer a poor quality service with a very low rate compared to the market. The ability to offer below-market rates will invariably mean the vendor is under-investing in his company, hiring lower-level developers, or both! In our experience you and your software development project will suffer risk in one or more of these ways:
- You project experiences delays because the vendor is managing high turnover of his teams,
- The quality of the delivered solution is lacking. The best development languages or tools were not used. Rigorous testing tools were not utilized to ensure the code is “production ready”.
- The outsourcing development team does not have the depth of expertise to guide you through critical design decisions during the life of your project. You may find junior level people doing most of the work, rather than the “superstar” whose profile was featured during your introductions to the outsourcer.
- The outsourcing team does not follow good, standard processes, which manifests itself through inconsistent code behavior: error/edit routines, user navigation, etc. Additional or replacement team members seem to have a long ramp-up time when assigned to your project.
- Speed and effectiveness is compromised because language barriers and/or time-zone logistics make communication between you and the outsourced software development team is problematic.