As Unosquare expands its presence from our Mexico and Northern Ireland delivery centers, we continue to learn valuable lessons on the key drivers for successful software development with distributed teams. One of the more important lessons we’ve learned is to set clear expectations early in the client relationship in order to prevent problems down the line.
THE MISTAKE OF NOT SETTING EXPECTATIONS
Ensuring that all stakeholders align on the expectations of the work is vital to the success of a project. Make no assumptions about either side's understanding of how activities should be initiated, controlled, and delivered. Describe, define and detail every element in order to provide clarity going forward.
Some of the required information will come from the history of the engagement. Questions like: where did this business come from? Was it a referral? Did it come from a sales team? Did it originate as a contact from your website? Make sure you have this information lined up to facilitate a transition from prospecting to physical delivery.
Determine where stakeholder knowledge gaps exist. This experience could be the first outsourcing effort for some key stakeholders or they may have a preconceived bias as to how things should work with a distributed team. They may have not a clear view of your delivery model if the initial conversations did not include a discussion about your contemporary work standards. Regardless of which scenario might be in play, a clear staff augmentation agreement about how the work should proceed is critical and those conversations require setting expectations with key development stakeholders.
Recently, we had a new project that started with client leadership closing the deal and the actual development stakeholders had the new relationship dropped in their lap. This situation isn’t ideal from our perspective as a services provider, so we wanted our delivery team to intervene as soon as possible. We knew that involving the delivery team quickly would facilitate the translation of requirements and open communication with the existing team members to create alignment once the project began.
To avoid a potentially contentious start, make time to speak with the client stakeholders that will be directly involved with the development process and level set before you start looking at adding talent to their team. Ask them for their experience with nearshore/offshore distributed teams. Get an understanding of their interpretation of the Agile process (because we all know there are a lot of different interpretations.) Overall, make sure that both sides are on the same page about how the work will start. The better the alignment from the starting point, the fewer surprises there will be throughout the engagement, and the team will be set up to work in a collaborative environment.