As a kid, I grew up playing Atari and the original NES and can recall the evolution of gaming from joysticks and paddle knobs to controllers and the short lived PowerGlove. Until a lyrical reference I heard recently however, I had forgotten all about the Nintendo Super Scope, which is a shame, because it was quite the piece of innovation in it’s time, especially considering what it had to work with (cathode ray tube TV’s and “cutting edge” infrared).
Through the Super Scope’s undersized, molded plastic eyepiece, epic tunnel vision was possible. It’s narrow view port allowed for focus on only the most important aspects of a challenge such as blasting evil blue moles or oblitering incoming missiles. All the while remaining ‘undistracted’ by surrounding the visuals. Through that little window of infrared doom, it almost seemed as if the problem at hand was minuscule and isolated, when in fact, a larger invasion swiftly approached in the periphery.
Such was the case, I realized, with regards to an outsourcing “incident” from my not so recent past. I had the (what has turned out to be incredibly insightful) opportunity to inherit a project several months back, who’s initial stratagem involved a heavy reliance on outsourcing both the core architectural design and the development work to an external team. For the sake of complete anonymity, let’s say they were from “Indiana” and had a timezone offset of over 12 hours. There had been a relationship with the oursourcing firm for about a year, through the utilization of a single developer on projects with very limited scope. Consensus on the developer’s output was one of optimistic satisfaction, so there was no reason to believe that expanding the outsourced resources being provided by this firm would yield any different outcome.In fact, it seemed as though it was the silver bullet of HR that was going to kill the werewolf of stagnant recruiting that prevented the needle from really moving forward.
Well, I inherited management of the project after approximately 4 months, and soon discovered that all was not as originally hoped for. Something was indeed rotten in Denmark. It became apparent that literally none of the work that had been performed by the outsourced team could be retained, and that in order to attempt a salvage on what remained of the timeline, their services must be terminated immediately. So it was done, yet just like that cursed “infrared on CRT technology”, it goaded me that the shots just didn’t seem to hit where I knew the scope was aimed. I set about therefore, conducting a thorough retrospective to determine where it all went so wrong. As part of my inquiry, I reached out to some associates whom I knew had been successful at tech outsourcing in the past in order to contrast what made our experiences so different. The following is a list of the key components that I THINK caused the miscalibration of the outsourcing Super Scope and what I would absolutely do different in the future:
- Treat the Outsourcing Firm Like the Facilitator That it is – If you are gonna send your hard earned cash overseas, make dang sure you get what YOU want out of it, not what they want (Think about it….they want indefinite billable hours from the cheapest labor they can find. You want to get what you asked for at the price you expect). In order for that to happen, you need to take control and make sure they understand they are simply remote agents for finding candidates, helping you screen them, and making sure the ones you hire have a place to work with decent equipment, a reliable Internet connection, and reliable power (yes, you better make sure they have backup power because it WILL go out). Basically you need to make sure that the relationship is such that you have full control over who works on your project and that the firm is able to meet certain standards of working environment productivity.
- Be Intimately Involved In Hiring – This is one of the most important lessons I learned from this experience, and it really speaks to point #1. Outsourced employees must be treated like remote hires. Would you hire someone as an employee to work remotely and hand them a critical role in your project’s success on just a second hand recommendation? “Well, no, not when you put it that way!” That however, Holmes, is just what we did. There was an utter reliance on the outsourced firm to select, hire, enslave, and/or cajole developers to work on our project. We just gave them the head count that we wanted, and from what I can gather based on the quality of their output, they must have opened a window, yelled, “Who wants to learn Flex today?!” and then hired the first 5 people to put down their bottles and stagger over. Seriously, it was almost that bad! If I were to outsource again, I would require every potential team member to undergo the same interview process I would if they were on site, which would include a person-to-person interview and interviews involving existing members of my team. It is nothing short of asinine to expect someone else to do that for me and get the fit that I want.
- Don’t Ever Outsource The Architecture – This is the most critical aspect of the project, so of all things, it should be your bailiwick and make sure it is done right by keeping it in house. I can guarantee if you don’t, they will fumble the football or cricket ball or whatever it is they are carrying, and it will set you back eons, especially once you try to integrate with any other existing systems or components. The only exception to outsourcing the architecture may be on very simple projects that require little to no design or invention. Ideally you should be able to hand your outsourced team a very specific set of requirements and instructions that includes use cases, screen shots, user stories, etc.
- Expect to Tend the Flock – As soon as you turn the flock loose and head inside for a nap, they will scatter and head for the most ridiculous spot on the ranch….or the neighbor’s ranch. If you are going to outsource, you better be prepared to manage what is going on and have the time and resources to review their deliverables on a regular basis. Again, they must be treated like remote employees so a good rule of thumb would be to take the time you would have to spend managing an in-house employee and add 20-50%, at least initially. Make sure you get daily or bi-daily deliverables and have a chance to review them so that you can promptly squelch any deviations from the desired outcome.
- Communication is Key – It may seem like the words of a cliché marriage counselor, but if you can’t communicate effectively, you won’t be able to manage effectively. Part of your screening process therefore when working with non-native speakers, has to be targeted at communication skills. Make sure they are able to speak and write effectively. I have found that written communication is by far the easiest on a day to day basis (Skype and other IM tools are free and fast), but there will likely be times when you will need to have conference calls, so make sure you can communicate effectively with all team members.
- Timezone is Everything – You should think long and hard before making a hiring decision somewhere that there will result in a large misalignment of in-office hours. The biggest problem with having such a discrepancy, especially if the bulk of your communications are written, is that it takes almost a full day to give/get feedback on questions since you are not in the office at the same time. If clarification is needed, such as in the case of an especially difficult bug, then this can easily stretch into multiple days, quickly chewing up allotted timelines. I would recommend finding somewhere that has a similar timezone (such as South America – Brazil, Uruguay, or Argentina), or a firm that will hire employees to work on a schedule that more close matches your in-house team’s.
- Outsourcees Are Employees Too – Don’t forget that just like any successful team member, your outsourced employees have to be treated as an integral part of the team. This means involving them in all the same aspects of the review/reward process that the rest of your employees experience. It is also highly recommended to include in that plan, on-site visits for both you as a manager to visit their facilities, and them as an employee to visit the company headquarters. Many managers and executives shy away from this mantra because of the perceived cost, but when you compare the cost of a trip several times a year plus an outsourced salary, you are still coming out ahead compared to an on-site employee. The name of the game here though has to be productivity and effectiveness, not cost savings, or you may quickly find yourself wasting money on a useless resource, regardless or how “cheap” they are to employ.
This is by no means an exhaustive list, and of course if you lack the tools to facilitate remote development, such as version control or bug tracking software, you are already doomed to fail (for a good check list to gauge your development process see ‘The Joel Test‘ by Joel Spolsky). I for one haven’t given up completely on outsourcing, but the next time it comes around, I will be sure to keep my other eye open as I peer down the Super Scope.