Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

Re: typical contractor rates / outsourcing

by tilly (Archbishop)
on Jul 22, 2008 at 19:03 UTC ( #699389=note: print w/replies, xml ) Need Help??

in reply to typical contractor rates / outsourcing

Anecdotes are a dime a dozen. You need more solid information. There is some very good information for you in Software Estimation: Demystifying the Black Art. I already said a lot of this in Interesting insights from Software Estimation: Demystifying the Black Art, but I'll pull out the relevant points.

On page 229 you'll find a chart correlating team size with productivity. In that chart you'll find that the calendar months to complete a 57,000 product is about the same for a team of 5-7 people as it is for one of size 15-20. The cost is very different, there is some reason to believe that the quality and functionality is different (both in favour of the small team), but the schedule is the same. So be very, very careful about trying to throw more bodies at a project to make it go faster.

Now you can have a development organization with more than 5 -7people who uses the small team effect - you just have to have things divided into non-interacting projects with no more than a few people each. (But they have to really not have interactions - declaring it so by management fiat will not work.)

Starting on page 66 he presents the results of the Cocomo II effort multipliers. This is the result of a large study of many projects from many companies, which quantified the impact of various factors on development effort. The projects are generally larger ones, so these figures are more indicative than quantitative for small teams. The one that should interest you is that multisite development multiplies needed development effort by 1.56. So if they are looking at bringing in an offshore team, they should plan on reducing the productivity of the current team by quite a bit, and they have to be hiring enough people there to make up for that hit. Additionally they will go from having a small team to a large team, and to succeed in that they will need a lot more process which imposes its own overheads.

The result is that they should be prepared for a very real possibility that they will go from being able to use 10 developers to requiring more than 30 developers just to get the same overall throughput. Furthermore their ability to demand quick turnaround time on small projects is going to be severely compromised.

I know this sounds unbelievable. However it has been the experience of many other organizations in their position. They impose enough overhead to need to switch to large team dynamics, which means that they need to plan on over 20 to match the existing team, and then they have to plan on that team needing 56% more people to account for the overhead of multisite development. That takes you up to 31 people, and a lot of process, with no productivity gain!

Achieving productivity gains would require adding even more people.

  • Comment on Re: typical contractor rates / outsourcing

Replies are listed 'Best First'.
Re^2: typical contractor rates / outsourcing
by blahblahblah (Priest) on Jul 23, 2008 at 02:59 UTC
    Thanks for the insights. The size of the team (whether in-house, in-country, or across the globe) has also been weighing on my mind lately. I've read that book, and I am convinced that we'll get diminishing overall productivity from each new developer we add. But we're stuck in a place where we need to try something: the business is demanding more productivity, and of course wants it at minimal cost. I think my new boss gets that, and that's why he extended the offer for this "extra" help. I will definitely go back and check out the pages you pointed out. Outsourcing or multi-site development wasn't even on my mind back when I read the book, so I had forgotten that there was specific data about it in that model.
      One of the best ways to increase productivity in a small-team environment is to get rid of the one joker who keeps sucking up the time of the other members or who never adds any value to the team. If you don't have one of those, then you're lucky. If you do, then cut the position or replace the team member. If you're that person, stop being that person before they get rid of you or replace you. ;-)

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://699389]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (6)
As of 2021-03-07 15:31 GMT
Find Nodes?
    Voting Booth?
    My favorite kind of desktop background is:

    Results (122 votes). Check out past polls.