For more than two decades, companies have been outsourcing software development to teams based in India with varying success. On the positive side, in addition to having access to hard to find software developers, companies have reported significant cost savings and have used those savings to do more with their budget. Unfortunately, there are others whose experience was not so positive and have abandoned the effort.
Why are some companies successful while others insist that it does not work?
Below are 10 Keys to outsourcing success, from our first hand experience as a service provider. The common theme is frequent communication.
Our company, Bridgera, is headquartered in Raleigh, NC. We develop and support custom enterprise web and mobile software applications and Internet of Things applications for companies on contract. 80% of our development team resides in our India-based offices (Kolkata, Hyderabad, and Pune).
Our Indian team services most of our client work and internal project work (software products we use to improve our own operations or market as a platform). Requirements, specifications, and guidance all come from our leadership in the US or directly from US based clients.
In our experience with staffing and running projects for a wide range of clients, there is always a break in period which accounts for the time it takes for a team to reach a productive working relationship with the client. On boarding any new employee requires a period where you must give them guidance and be available to answer questions before you can set them free to be productive. A common mistake people make when engaging with an offshore partner for the first time is that they assume they can toss work to them and it will get done with minimal interaction. This almost always ends in disappointment.
Fact #1: Your outsource partner cannot read your mind.
Fact #2: You may not communicate as well as you think you do.
Be clear about requirements (inputs) & deliverables (outputs). This may sound obvious, but don’t be fooled; many outsourcing failures can be attributed to poor communication and lack of clarity. If you’re looking for tips on how to improve this, consider the following:
Be clear about timelines and priorities. Nothing derails a project faster than unclear expectations and vague due dates, and there’s no harm in being overly-thorough with project details. When in doubt, clarify!
Plan to be available between 8 AM & 10 AM ET daily for calls, Skype-based dialog, and email-based interactions with the offshore team members. If you give them a task when you leave at the end of the day and would like output by the next morning, be sure to provide detail in your request to avoid delay due to questions.
If you work in an agile method where you have short sprints of work, you may want to consider your start and end meeting times and dates. For example, if you finish a sprint on Friday morning US time and wait until Monday morning US time to kickoff the next sprint, the Indian team has little to do during their day on Monday until the sprint kickoff later in their day.
Answer questions and provide clarifications promptly. Questions will generally hit your queue in your morning. Be sure to respond to them during your day to ensure that they can move forward when they arrive to work the next morning. If you can, respond first thing to give the offshore team a chance to confirm that they understand or ask for further clarification before their day ends.
Use tools like Ticket Trackers and JIRA to quantify effort, achievements, issues, defects, releases, and SLAs. It’s an empirical fact that a goal is much more likely to be completed if there are reasonable, concrete metrics tied to it from the start. By tying project progress to actual milestones, you keep teams accountable, regardless of which country they’re working in.
In addition to tracking metrics, it’s also important to make sure everyone’s working on the same projects. It can be significantly detrimental if one team is devoting most of their effort to a back-burner project when they should be focused on something more pressing. Use tools like Trello to manage functional priorities and activities at a business analyst level.
Timesheets may seem old fashioned in this modern era of innovative business practices, but they’re actually an effective tool for monitoring your resources. Looking at timesheets on a weekly basis will ensure you have a clear picture of monthly billing run rate, which will inform your overall budgeting decisions.
Knowing your team can be a job in itself, but it’s important that you’re all on the same wavelength. If you are using a fractional resource – make sure you are aware of their other commitments and impact to your tasks.
Indian holidays are different from US holidays and different team members enjoy different holidays based on religion or the city where they live. Note also that there is no Daylight Savings Time in India. The time difference is 10-1/2 hours from Eastern Standard Time, 9-1/2 hours from Eastern Daylight Time. If all else fails, a simple internet search will tell you precisely what time it is in India at that moment.
We encourage anyone curious about outsourcing software development to look at India as a primary source. If you follow the keys above and select an outsourcing partner that has a successful track record, we are confident that you can be successful. We would also recommend, if you can, that you visit their facilities in India to see for yourself how they operate on a day to day basis.
What has your experience been with outsourcing? Are we missing any best practices to ensure success? As always, contact us if you are thinking of outsourcing and would like to discuss a partnership with Bridgera.
About the Author: Kamalesh Nayudu is CEO and co-founder of Bridgera LLC. He has three decades of global IT delivery experience working with companies of all sizes from Fortune 500s to startups. He is now leading the effort to establish Bridgera as a leader in Big Data and IoT services.