Over a million developers have joined DZone.

Outsourcing is Cheap, Right?

DZone's Guide to

Outsourcing is Cheap, Right?

$15 per hour for a senior Java developer — is that cheap or expensive? It's cheap, right?

· Agile Zone
Free Resource

Learn more about how DevOps teams must adopt a more agile development process, working in parallel instead of waiting on other teams to finish their components or for resources to become available, brought to you in partnership with CA Technologies.

The Different Costs of Productivity

Let me put it this way: Right. What would you say if I told you this cheap Java developer hardly writes two primitive lines of code per day? You're paying $600 every week but rarely getting anything back. How cheap is this Java guy now? My point is that using hourly rate as a cost indicator is a very bad idea, whether with outsourcing or in-house teams.

I actually decided to write this after a short sales meeting recently with a prospect from Illinois. He wanted to hire Teamed.io for his Java project and seemed to like our approach. I explained how we work, how we control quality, and why and how we're different from everybody else. He seemed to be impressed. Then, he asked, "How much do you charge?"

I told him that we are also different in the way we bill for our work, because we don't charge for the time spent by our programmers sitting in front of monitors. Instead, we bill for results produced, merged, and delivered. I showed him this article about incremental billing. He seemed to understand the advantages of our approach, compared to the hourly salaries being paid by almost everybody else in the market.

How Much is That?

What could I do? I had to give him an answer.

I told him that our best Java programmers earn $30 to $50 per hour and we add our margin on top of that, in the amount of 100 percent, for management. In the end, "one hour" will cost him $60 to $100. He ran away.

What did I do wrong? I think I know what it was. I didn't explain to him that, under different management, programmers deliver very different results in the same 60 minutes. By "very different", I mean dramatically different. Let me demonstrate the numbers (I actually did that already almost two years ago, in my How Much Do You Pay Per Line of Code? post, but will try again from a different perspective).

Take a look at yegor256/takes#430, a feature request in the Takes Framework, one of the projects we're managing. Let's see how much the project paid for the work done in this ticket:

  • 15 minutes to me for creating a new ticket
  • 30 minutes to @hdous for fixing it
  • 52 minutes to @pinaf for code review
  • 20 minutes to @ypshenychka for QA review

Assuming that an average price "per hour" is $50 ($25 for developers and $25 for our management), the total cost of this new feature was $97.50 (117 minutes).

Look at these two tickets again. #430 is the feature request and #493 is the pull request with two new Java files and code review comments.

Four people worked on this feature. If you put them all together in an office, full-time, with the same hourly rate, they will cost $800 per day (I'm not adding any management costs!). Now the question is whether they will be able to create eight new features every day.

Measuring Return on Investment: Results per Dollar

If you're a manager, you know the velocity of your programmers. If you're a programmer, you know how much code you can write in a day. Now, honestly tell me if you find and solve eight bugs per day with that level of complexity, detailed code review, and precision of documentation? I seriously doubt it.

In that How Much Do You Pay Per Line of Code? post, I actually did a comparison of a co-located project, where I was an architect, with a distributed one, where I also was an architect. My numbers tell me that a traditionally managed team is at least 10 times less productive than a team managed by Teamed.io under XDSD principles.

My point is that asking "What is your hourly rate?" is just as wrong as asking How Much for This Software? if we're talking about software developers motivated by results, not office slaves.

Instead, we should ask: How much can you do for $100?

As you can see, we can easily demonstrate how much we are capable of delivering for $100. Can you and your team do the same?

Thus, your ROI while working with an outsourced team mostly depends on their results per dollar, not dollars per hour. The first metric is difficult to calculate, and only the best teams will be able to dod so. The second metric is absolutely misleading, but anyone will give it to you.

An outsourced team is expensive when its results per dollar are low, no matter how big or small its dollars-per-hour rate is. To the contrary, a team is financially very efficient if its results per dollar is high. It doesn't really matter what the value of the second metric is.

P.S. I'm going to show this article to that prospect who ran away. Maybe he will come back :)

Discover the warning signs of DevOps Dysfunction and learn how to get back on the right track, brought to you in partnership with CA Technologies.

work environment ,outsourcing ,team collaboration ,budgeting

Published at DZone with permission of Yegor Bugayenko, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}