Development with Offshore Staff
I’ve heard it said that 1 hour of planning saves 3 hours of execution. With regards to web development, I would suggest that the savings of planning is closer to a 1:30 ratio. Building a website is alot like building a home. It’s rather difficult to add a basement to a home, after the fact. The same goes for web development. Adding features and content, which was not planned for prior to project inception can be time consuming and costly.
As more and more companies go offshore for their development needs, it is important to understand how that effects the communication and execution of a project. I’ve had the opportunity to work with staff from India, the Philippines, the Ukraine, Russia and Estonia. While there are cultural differences, which need to be addressed there are things that can be done to grease the wheels of communication and turn out successful projects when going offshore.
Rule #1: Know the management
If you receive poor service in a restaurant, whom do you complain to? Not the bus boy. That’s right, you go to the manager. When working with an offshore team, that team has it’s own management, which needs to be an integral part in the planning and milestone process. Know the management and the staff by name. Speak with them often. It is important that they see themselves as stake holders in your project.
Rule #2: Plan Ahead
As with any development project, the core of the project should be the plan and it’s milestones. Although your offshore staff should be fluent in your language, when working with offshore staff you need to use simple language and contextual references when writing your specs. There are certain standards (i.e. UML diagrams), which should be followed and added to your specifications as well, so be sure to include additional materials like these.
Rule #3: Communicate Clearly and Simply
When communicating during your project, your communication to your offshore staff should be simple and direct. Use references. Know the architecture of your website (or have local staff working with your offshore folks, which do). When discussing bug fixes, refactoring or any specific elements of the website it is important to reference the site’s architecture. For example, the phrase “We need to have a big button high on the shopping cart that users can click to go to the Quick Checkout area”, is not nearly exact enough. “On template /templates/header.tpl, below the navigation, a separate text-based button needs to be added, which redirects users to the page /quick_checkout.php. The text for this Quick Checkout link should be defined in the CSS as #nav2, with a 10pt non-serif font face”, will produce a better result.
Rule #4: Get to Know the Locals.
If your developer sees you and your local staff as just words on a screen, something has not gone right. You (or your management) need to take an interest in your offshore staff. What are they, outside of the office? Are they musicians? Do they like cinema? A little curiosity about their lives shows that you care and ultimately increases their personal stake in your project.