Internal or external? CHOOSE!

September 01, 2009

Which is "better" or can you have skills that work for one and not the other?

Often in interviews, or by headhunters, I am asked which I prefer... to work with internal dev groups or external.  Working with internal teams means you can have minute by minute updates as well as make spot changes quickly and somewhat easily.

With external teams you run the risk of having to take their word for the current state.  More than once at SEGA a developer said to me: "We have it in part on various dev kits", to which I answered: "Send me all teh parts to look at".  Rarely did that every happen.  Usually I got a build with all the parts that actually worked, on one dev cart.  Those other parts, I would say that they didn't meet the deadline.

With internal teams is much easier to cut through any BS you're being fed.  Since I started as a programmer its a little easier for me to look at code and spot that what I am looking at is just repeated code over and over, and not a listing of code that has a bug.  Yes, a developer actually tried that.

With external teams you can shield them from the every day BS that a publisher puts their producers through.  When the boss asks if a external team will be motivated to make a shorter deadline, its up to the producer to represent the developer. This also comes into play when talking about contract changes or additions.  The boss often asks if the "developer will do X for Y amount of money?".  Its up to the producer to judge the stance of the external group and accurately voice either their concerns or their agreement.

A couple of times I have been in this position, only to have the developer agree to something I know they shouldn't! 
A contract took such a long time, that the dates for the first milestones had passed. When I told my boss that we'd have to adjust the schedule he said: "Why?  It means they're already late which gives you something to yell at them about the second they sign the contract". Obvious my reaction was less than happy.

There are pluses and minuses to both... what works best for you?  How about from the developer side?



Brad said...

Having worked in the mobile gaming industry I hated the idea of outsourcing... still do actually. But then again I telecommute now, so what's the difference? As long as you pick a good developer, keep in daily contact with them, and keep regular status updates it should be fine. The problem is when management just wants to hire the cheapest (and usually unproven) company, and your project either A) Never gets finished B) Is finished but not what you wanted or C) You get what you asked for but its full of bugs and can't be ported easily to other devices