“What we’ve got here is a failure to communicate”. Classic movie fans will recognize this famous line from “Cool Hand Luke”, starring Paul Newman. At Accelerance, we often hear about “failed communication” in our post-mortems with new clients who seek our help. These clients had disappointing results with prior attempts to outsource software development. As a result, they ask Accelerance to help them outsource “the right way”.
Poor communication is never a good situation, but becomes doubly damaging when software development project teams employ highly-iterative development methodologies such as Agile. When Agile methods are introduced into the development project:
In contemporary software development, the need for speed and nimbleness can only be achieved through effective communication.
Think of communication as a two-way street between you and your offshore partner. You reside at one end of that street and the software development company lives at the other end. It is your mutual responsibility to maintain the street and create free, unfettered exchange of information between each other.
The decision to outsource software development is an important, strategic decision. You want to achieve the business objectives, software / product objectives, timeline objectives, and budgetary objectives of the project. Similarly, your outsourcing vendor wants to protect their economic objectives, create something of meaning, and (hopefully) walk away with a positive customer story that can be used as a reference. In other words, you both want to see the relationship succeed.
Bottom Line: Communication requires mutual commitment and participation. The success of your software isn’t “the other guy’s problem”, it is a mutually-owned responsibility.
Still, it’s surprising how many times we see companies fail to share enough of “the big picture” with their chosen outsourcing partner. Virtually every software project is born from a set of business priorities:
Your business objectives, of course, will make their way into attributes of the system design. Does your software outsourcing company understand that tie-in? Knowing the business context and expectations makes your outsourcing team more effective software developers.
Bottom Line: Start your outsourcing relationships well by helping your partner understand the business goals and objectives that justified the software development project.
Questions - asked well and answered well - are a cornerstone of good communication. This is even truer in the complex, creative process of outsourced software development because:
Our advice is: have robust conversations which invite exchange of ideas and clear understanding. Whenever possible ask open-ended questions that force dialogue, NOT closed-end questions with robotic “yes/no” responses. Conversely, look for opportunities to share “why” you want certain tasks to be performed (“I want to be able to ..., so I’d like this piece of code to ...”).
It might sound trite - but don’t assume. Making assumptions and leaps of inference can be deadly in a software outsourcing relationship. Your offshore partner is not trying to be deceptive, but certainly realities can come into play:
Bottom Line: Take the time to ask questions that encourage creative exchange of ideas with your outsourcing partner. Likewise, make sure you understand fully the questions being asked of you - and give full, useful responses.
Technology can never replace effective communication - but, used wisely, the great collaboration tools available today can really ENHANCE your ability to communication with your offshore development team.
There’s no doubt that you and your outsourcing partner will be more effective with good collaboration tools. A word of caution, however: We observe that too many tools, or undisciplined use of tools, can be as bad as a no tool at all! Make sure that there are common ground rules established for where documents are kept, where key calendar events are stored, how important information will be conveyed among the team, etc.
Bottom Line: Take inventory of what an how you want to communicate, then make sure you have a plan to use tools to assist you. Establish file organization rules AHEAD OF TIME to avoid mid-project chaos when key collateral can’t be located.
No one knows more about outsourcing success than Accelerance. Most tech leaders outsource only a few times in their careers. But, our experienced advisors work with offshore and nearshore partner teams every day. Our coaching services can guide your team - and your outsourcing partner in establishing the communication practices that produces high performance and maximum ROI for software outsourcing.
Accelerance Coach helps you maximize your success in software development outsourcing. Your Accelerance Coach will:
Accelerance coaches have decades of experience launching and managing software outsourcing relationships. We have successfully completed hundreds of software development projects using outsourcing partners, domestically and around the globe.