If I were to guess, I would bet a majority of IT and Business Executives in the telecom industry cringe whenever they hear their strategic partners (SI’s) try to sell them on using their offshore development center to develop their strategic solutions. I can understand why…their previous experience with offshore development was likely a disaster!
I’ve seen offshore development fail… and fail miserably many times; however, I’ve seen it succeed – and in those situations, they succeeded because the appropriate offshore methodology was used and it worked for both the delivery organization AND the client! Based on my experience, I feel most companies (especially some of the ‘big players’) fail at offshore development…mainly because:
1. Let’s face it; there are situations where offshore development SHOULD NOT be used.
Highly-complex software components requiring significant onshore client interaction throughout the development lifecycle shouldn’t be developed offshore. I’ve personally been in meetings where comments like “I don’t care if it’s too difficult for offshore….it’s going offshore” were made. In these situations, the bottom-line for making the decision to go offshore literally came down to the bottom-line….money.
2. Some companies STILL use the ‘throw the design/specs over the fence’ methodology.
This methodology assumes the onshore team simply passes the technical designs to the offshore team and over X period of time…. voilà….the solution is complete! Keep dreaming, this never works!
3. Lack of concrete system requirements and design specifications.
Dr. Richard Coles recently published a blog about the importance of OSS requirements…have a read through this and you’ll understand the importance of detailed system requirements. A clearly defined scope, requirements and low-level design specs are critical when going down the offshore path.
4. Lack of Communication between the onshore and offshore teams.
Even though the development responsibilities lie with the offshore team, it is equally important to have dedicated onshore resource(s) working directly with the offshore team. For onshore team members, this means frequent daily and nightly communication…and depending where you are ‘onshore’ in the world….it will require working late in the evenings/early morning to attend conference calls, WebEx sessions, status meetings, etc. I often push to have offshore team member(s) come onshore for a period of time (and vice versa) as a means to reduce any risk of misunderstanding requirements, ensure work is progressing as required, etc.
5. Lack of flexibility in offshore development methodologies.
There will never be a cookie-cutter offshore development methodology that can be applied to every development initiative. Delivery timelines, quality of system requirements and designs, developer experience, etc. all contributes to the need for a flexible methodology when offshoring work. Bottom-line, the delivering organization must consistently tweak their offshore development models in order to be successful.
If you haven’t dabbled in offshore development before or if you have failed previously and plan on starting again, here’s a few recommendation that I’d make:
- Start slow! Sign-up to do a 6 week prototype rather than a large-scale engagement (6-12 months). By doing so one can get a sense of the quality of the developers, processes and possibly a sneak peek at the end solution!
- Make sure the offshore team is properly trained and experienced. Remember, offshore development will reduce costs for delivery….just make sure the cost savings do not result in a reduction in quality!
- Be involved throughout the development lifecycle. If a status report says X component is developed and tested….make the delivery organization show you! WebEx is a wonderful tool especially when environments are not available onshore.
There are numerous financial benefits for using offshore development – both for the client and the delivery organization. However, if you’re the buyer, make sure to start slow, stay involved and ensure you are using an offshore methodology that works for your organization!