|
|
October 18, 2006
Offshoring 101: Practical Advice for Making Small-Scale Offshoring Work
Over the past decade, many large corporations have moved software development and IT functions offshore. Many, but not all, have found great success. Now the offshore development model has matured to a point where even small and mid-size businesses can take advantage.
While I don't advocate hastily moving entire IT or R&D departments offshore, I think most firms in the AEC industries should give offshoring a try on at least one small project. That way you can have a point of view and some experience as this trend accelerates in the future.
My website, RiverGuide for Construction Software is maintained and advanced by two teams - one in India and one in Pakistan. It took me some time and effort to figure out how best to manage these offshore relationships, but I think I've finally gotten the model down. So, I decided to share some of my experience with the ENR community.
Based on my own experience, here are my top ten tips for successful offshore development for small and mid-sized businesses (or projects).
- Hire two to start. One great aspect of low rates and contract work is that you can hire more than one firm (or individual) and give them each one or two small projects. You'll learn a lot more through these test projects that you ever could in an interview. You'll be able to assess their skills, ability to meet deadlines and working styles. Once a clear leader emerges, keep only that firm. Or, you might even consider keeping both (see #8).
- Negotiate fixed bids. Many offshore developers are willing to work based on a fixed bid. This shifts the risk of time and cost overruns to the developer and eliminates the ability to over report hours worked. On the flip side, it provides them an incentive to work efficiently, finish quickly and pocket the upside. After all, with such low rates, your primary concern is probably finishing on time and on-budget.
- Create visual requirements documents. Off-shore development is not for the hands-off manager. I like to mock up each screen in PowerPoint with detailed annotations describing the specific behavior of various functions. Initially I used PowerPoint graphics (AutoShapes), but once we had the basic HTML built, I was able to take screen captures (Shift + PrtSc), and then crop and modify them to create nearly exact mock-ups.
- Get granular with tasks. Most people like the satisfaction of checking things off their to-do list. Offshore developers are no different. Break each project into discrete tasks so they can realize progress. This also allows you to observe progress along the way, rather than wait for a final deliverable that could be much different from what you expected. Not technical enough to break the project into tasks? Ask the developer to.
- Use an on-line project management system. I use 37Signals's Basecamp to manage my projects. It's a web-based project management system where for $12.95 a month I can enter tasks in a to-do list and share them with the developers. They can then check them off as they progress. The system also hosts shared documents, sends out alerts and offers a number of other collaboration features.
- Talk every day. If you hired a developer to work in your office, you would see them every day and talk frequently. With free VoIP tools like Skype, there is no reason not to talk to your offshore team every day too, even if it is only for twenty minutes. This lets you keep on top of their progress, motivates them to demonstrate daily progress and allows you to build personal relationships. I loved getting to know great new people across the globe.
- Share screens during review. As you review progress each day, use a screen sharing utility so that you can both look at the product or website together and make John Madden-like drawings on-screen. You can show exactly what you want moved where, etc. I use oDesk's "Share" tool for this, but there are all sorts of free or low-cost alternatives available on the Web.
- Employ redundant developers. If your project goes beyond a simple HTML website, don't put all your eggs in one basket. That is, have your offshore firm put more than one developer on your project. That way when a developer leaves the firm (notice I said "when," not "if"), there is someone else to fall back on so you won't have to start from scratch getting a new developer up-to-speed. I learned this the hard way.
- Don't limit yourself to India. With its great universities and English education, India has led the way in offshore development. However, wages have risen in India and some firms are competing less intensely for business. I've found lower rates, comparable skills and strong motivation in the Philippines and Pakistan. Vietnam and the former Soviet Republics are also well-respected, although I have not worked with anyone there.
- Maintain a wiki-based developer's guide. Use a wiki service to host a "living" developer's guide that explains the system to future developers. The original developer should document the system's various components (e.g. content management system, database schema, "plug-ins," etc.). Each successive developer can add to it as they make changes or add capabilities. It should also include an FAQ for getting started.
Comments
|
|
The Late Majority
|
|
Don Fornes
is the CEO of Software Advice, a website that helps construction businesses research and select software. Don runs Software Advice from Big Sky, Montana. His background includes eleven years as a Wall Street analyst in New York and software company executive in Silicon Valley.
|
|