What is a Software Development “Envoy”?
Clients face significant barriers maintaining their relationships with software vendors – especially their remote and outsourced teams. An “Envoy” can work as an agent for the client, protecting client interests and ensuring strong performance.
Software development can be fraught with misunderstanding, delays and budget overruns*. Why is this? Because software development – especially outsourced software development – includes a number of unique factors that can lead to miscommunication.
What factors contribute to miscommunication?
- Language barriers
- Technical terms which constantly change meaning, and can be difficult to understand
- Distanced and remote workers
- Cultural differences – especially with understanding of contracts and commitments
- Complex, constantly evolving technology landscape
In other industries, such as real-estate, mortgage, financial markets, commodities it’s common to use a broker or agent – someone who represents their client and helps to ensure their interests are taken into account.
For example, in real-estate, the role of the agent or broker is as follows:
- To help less experienced buyers or sellers in an environment that is confusing, explaining the meaning of terms within the industry as well as risks and advantages of decisions
- To better understand the needs of the buyer, and help them find an appropriate home
- To assist with the regulatory and compliance procedures, which vary greatly from location to location
- Provide a baseline and point of comparison for best practices – how things are generally done
- Help find recommended professionals in related areas (such as mortgage, home inspection services, etc.)
- Facilitate the purchase agreement
If you’ve ever worked with a really great real-estate agent, you’ll understand how important these things can be – especially during the emotional and scary process of purchasing a home.
Let’s look at this from the perspective of software development.
In this environment, an “Envoy” is more than a project manager. An “Envoy” is a highly technical, experienced, people-oriented developer with strong project management skills. The Envoy is able to work side-by-side with your development team, providing project management, learning and documenting the project, contributing, helping to solve problems and performing code reviews.
But the most important role of an Envoy is their ability to advocate for their client’s interests.
At iQtransit we use the word “Envoy” because it’s a much more collaborative and diplomatic term than “agent”, “broker” or “rep”. Although we use “project manager” interchangeably, the word “envoy” emphasizes the less organizational and more representative aspect of this role.
Here’s what else an “Envoy” can do for your software team:
- Ensure that the knowledge of your product is shared.
- Make sure your source code is protected, backed up, and owned by you, the client
- Perform code reviews to ensure the vendor development team is following best practices**
- Increase the technical breadth of your development team
- Contribute to the software project itself
- Share past experience to better solve difficult problems
- Ensure that the work the development team is billing for is actually being performed
- Explain technical terms and the technology options available to help make better decisions
- Provide and share experience with legacy technologies
We’ve found that vendors actually enjoy working with Envoys as well. That’s because it’s a collaborative, learning and sharing environment – never hostile or competitive. As long as the team works together (and most do) they Envoy doesn’t present a threat or source of competition. So an Envoy can be a big win for everyone involved.
At iQtransit, we coined the term, “Envoy” after we noticed a lot of interest for this role. This was especially true for clients with a bad experience with an off-shore team.
For more information, see our page on Project Management and our whitepaper, How to Get More from Your Developers.