Well is 9:06 pm on a Friday night and I'm at work. Why? Two words "Code Freeze." I'm no stranger to deadlines. I actually like the high pressure and adrenaline rush to get things done on time. However, why am I still here if all my development tasks were done a week ago? Because we outsourced our development. Let me give you some background. About 3/4 of my team is overseas. We divide the work up and give development tasks to all team members. We don't farm out modules to our overseas team members. We all work on the whole application. We all have the same* resources for development and debugging. We treat our overseas team members as equals. They have all the source code, comparable development environments, etc. We go a long way to give them everything we have in the main office. So how did I end up with half of their work? This is the question I asked myself many times today. It all started when I was asked to do code reviews on their work. I rejected over 50% of their work. Some tasks I sent back multiple times. Some were totally wrong, like they didn't even read the development request. Others tasks weren't even half done, but submitted as complete anyway. Now as the deadline crept up, more and more of the outsourced tasks came back to me. Why me? "It will take longer to explain it to them, than for you to just do it for them." Because I "was already familiar with the code and knew what need to be fixed." That's pretty good rational, but, what happened over there?!? Its almost as though the outsourcing culture are like little kids. Kids who try for a few minutes, throw a tantrum and then give up. Or at times it seems like they've got the whole system worked. Write a few lines of code, appear to try, blame some weird blackout or the learning curve and get your plate cleaned by the trustworthy JUNIOR developer (me) in the main office. It totally frustrating. Our foreign team has never exuded any real problem solving skills. Then to top it off, there seems to be no culpability and they have a total free-ride because they can blame any problem they have on being half way around the world. Local management seems to always give them the benefit of the doubt because of the distance. So if you're a manager and you want outsourcing to work for you, here are your steps.

1. Hire a skeleton crew in you main office.
2. Hire as many "developers" as you can in your overseas location(s).
3. Put on your set of blinders.
3. Prove the 1000 monkeys at a 1000 typewriters theory. While your main office boys fix everything.
4. Profit!

</rant>
*same mechanically, but not mentally ;)