When setting off, the requirements that you have must consider not the ultimate goal of the endeavor itself but rather the ways of its achievement. At this stage, you've got to choose whether it is a risky way of dealing with a cheap team or it's a secure approach of working with more expensive and more dependable specialists that you prefer.
In the range of up to about $150 per hour, what you're primarily choosing from is the degree of risk and the amount of a headache that will be accompanying you throughout the project. This is not true for niche services such as machine learning or blockchain, which tend to be more expensive overall, but is applicable to more conventional projects focusing on mobile apps, web extensions, etc.
What you're expected to ask now is what makes cheap (say inexperienced) software engineers, project managers, QA engineers, designers and other team members risky and how their more expensive (say cooler) counterparts manage to do better. The answer would be the ability to do the following:
- Make accurate estimates
- Perform well
- Stay proactive
- Get stressed without rupturing
- Stay flexible and yet predictable
- Ensure the emotionally comfortable cooperation
Since none of that is, in my opinion, specific enough, explanations follow. But first, it's necessary to clarify why do hourly rates for seemingly the same team composition range so substantially.
Note, this is going to be fairly subjective and averaged, considering software development costs in typical outsourcing destinations such as Eastern Europe.
First, I consider what exactly you're supposed to get for the given rate, and then I apply each of the 4 analyzed teams to each of the afore-listed relevant team capabilities. $150 per hour team:
Reputable and experienced project management that has already failed enough to learn how to get things done. As a result, excellent risk management, critical thinking, analytical capabilities, a desire to always go an extra mile, etc. If they seriously screw up anything, the refund is likely to follow - the high profit margin combined with the value of reputation make that possible.
Full-time allocation of most specialists, which have already proved effective in a variety of industries. High skill, plenty of experience with different technologies, focus on the result that matter to you - no coding for coding.
Neither time zone difference nor language barrier exists. The best development practices, such as test-driven development
, high test coverage
, code review
, and automated build and deployment, are followed. Agile practices
are applied consciously, account managers are responsive. The brand, overall, is reputable and may be specialized in your business domain. $100 per hour team:
Such a team offers broadly the same as the one above does. However, their name is not as famous, their experts are likely less reputable and no specialization in your domain. $60 per hour team:
Management has either insufficient allocation or insufficient experience. As a result, poor risk management and more of a tactical, short-term and short-sighted approach to the development.
Overall, mid-range teams are all about luck - you either get almost like $100 software developers for less, or it's a vastly overpriced offer from the lower range.
Lack of focus on the end result, perceptible weaknesses here and there - English, Agile, development culture or simply attitude may be unsatisfactory. $30 per hour team:
The management is just sort of a secretary that doesn't guide the team but is guided by one. None or next to none experience, hugely overloaded - there can be a dozen of projects apart from yours that the given individuals are responsible for.
The team is green and, as a result, is constantly under the stress due to lack of confidence and understanding of how to do what you want them to. Never really look one step ahead, most of the modern software development practices are skipped through the lack of time.
The company, in general, is interested only in making money on you rather than actually implementing your ideas. A lot of hidden costs and the bloated team, which, in combination with the lack of experience, makes communication at all levels a nightmare.
Now, let's see how such teams manage in what matters to you, the client.