By Soo Somerset, Green Mars CEO
Let’s get something out of the way right now: yes, I am writing an article — as the CEO of a US-based software engineering firm — about how to get the best results from an offshore team. That’s not a mistake.
Offshore engineering has its place: where there are projects and interfaces that play a relatively harmless role in the success of your business, they are an obvious choice. However, allow me to begin with a few words of caution:
There are significant drawbacks that balance out the cost savings of hiring offshore:
- Time zones. If your solution breaks, your offshore engineering firm will absolutely receive the call, but the coder supporting the project is less likely to be available right away, which delays the resolution of the issue, causing hours of downtime. In some cases, that’s not a big deal, but not always.
- Language. In my experience, the best offshore firms hire a set of fluent English speakers to work directly with the client to understand requirements, and they in turn translate this content to their coding team. Ideally, the client’s point of contact is as technical as their coders, but in some cases, being in direct contact with the developer has a powerful influence on the quality of the solution.
- Consistency. This third point is related to the second, in that the relationship with the coder on an offshore team is often fleeting. I have rarely seen consistent assignments of the same good quality coder on consecutive projects, and I must admit I have noticed the difference in quality. Offshore teams are effectively body shops, and the true author of your software may never be known, not to mention available to maintain their code in six months.
Enough cautions, let’s get down to details on how to make it work:
- Get as clear as you can about what you need. In my experience, writing user stories is only the beginning. To set clear expectations for a successful solution, you’ll need details of how screens should work, explanations of exception cases and how they should be handled, mockups of the UI and desired reports, plus flow diagrams and test cases — and that’s just to start.
- Review it all in real time with the point of contact. Answer their questions, make revisions to your written documents to support their communication with the team, and use that time to establish your relationship with the contact and set your own expectations for communication and quality. The voice connection makes a world of difference.
- Ask them for a project plan for the engagement. Hourly rates can seem attractively low at first, but when the total estimate for the project is so many hours that you end up paying about the same, you’re in a good position to shop around. A good firm can give you a breakdown of project phases, and include design and testing activities in the detail.
- Schedule routine check points to review progress, not more than two weeks in between, and ask for daily updates on hours utilized (assuming it’s a time & materials project). Even if you are paying a flat fee for the project, you can establish expectations for milestone reviews, which will help ensure the solution ultimately delivered matches with your requirements.
- Use those test cases. Ask about progress from the team based on passed test cases. If your test cases are clear, then you can acknowledge completion of the project quantitatively. If there are 15 test cases, and 15 pass, we’re done!
- Be sure there is a flexible cancellation policy in your agreement, and don’t be afraid to use it. It can be difficult to detect issues with an offshore team, and it really is a slippery slope when you feel like you’re financially committed to seeing it through.
If you feel that the above is daunting to ensure success, and you’re not willing to put that energy into it, that’s up to you, of course, but you should be aware of the risks and potential outcomes. I was able to successfully work with offshore teams when I was a project manager at Cisco Systems back in the day, and it was a full-time job to put together the documentation and communicate with the team. I’ve also watched many clients and colleagues in my business consulting years go on to lose hundreds of thousands of dollars to offshore engineering firms when they didn’t take the time to thoughtfully consider their potential engagement, which was tragic.
Of course, if you would like a second opinion on your software project, consider Green Mars as a trustworthy resource for perspective on the total cost of ownership and quality of your solution. We’d be glad to hear about your plans and support your success!
Learn more about Green Mars at our website.