Your relationship with an outsourcing software vendor might be one of the most important ones when they work on key projects or technologies for your company. Nurturing a good relationship is never a static formula as all projects and relationships vary greatly. However, during our 30 years' experience in the software development industry working as nearshore partners for a wide range of clients from Fortune500 companies to small startups we have come up with a relationship strategy that leads to forging true client-vendor long term partnerships.
The three pillars for building and maintaining these types of relationships between Perficient Latin America and its customers are:
Total commitment to transparency: a successful vendor-partner relationship is able to communicate the good, but specially the "bad and the ugly" in a way that is constructive, frank, and motivates the team to correct and improve. In Perficient Latin America, we live a culture in which red-flags are raised early, and mistakes are socialized and seen as a "pearl of wisdom" that the team can learn from so as not to fall in the same pitfall again. At Perficient Latin America, we learn not to take mistakes personally (because of human nature, this is an ever present effort).
Communicate, communicate, communicate: Software deals with ideas, "solidifying" them into a technical framework –the software. To make good software one needs technical skills, of course, but there is no amount of technical skill that will make good software if the people making it do not understand the final purpose of the application, or its functional requirements and goals. Because of this, perhaps the MOST important aspect of a successful vendor-partner IT relationship revolves around establishing effective and efficient means of communication between the product-owner person or persons at the client side that know what the application needs to do) and the engineering team (persons in Perficient Latin America that are crafting the software). At Perficient Latin America, we pay as much importance to the way the communication is flowing, as we do to technical challenges that may arise (this also sets a standard to the type of people we hire: team players that like to work with others, like to share their know-how openly, and are always curious to learn). Logistically, of course, sharing an overlapping time-zone is also highly important in facilitating real-time communication, as is the case with Latin America-North America.
Effective client participation: This aspect is a corollary to effective communication, nevertheless it deserves special mention. In modern software engineering –as evidenced in agile (SCRUM) developments—projects are iterated to "completion". For this reason, Perficient Latin America favors agile methodologies with short sprints (usually 2 weeks long) that allow the client to evidence what the Perficient Latin America team is producing, so that course can be corrected, UX can be perfected, and new ideas can be incorporated that only come about because the client is seeing the software in its initial stages, and this is jump-starting the client's own creativity. For this process to work, the client has to feel that, instead of having thrown the "software development problem over a wall to the vendor", he or she is actively participating in the development of an application. Yes, the coding is very efficiently being done by capable teams nearshore, but the end product of the project is a collective responsibility where the client provides constant guidance, new ideas, and when necessary constant course correction.
Outsourcing or nearshoring software development brings great benefits but some challenges and responsibilities as well. Finding the correct partner is only the beginning. To truly take advantage of the strengths of your software vendor it is key to invest the energy needed to nurture and grow a true partnership with them.Regarding Perficient Latin America: Perficient Latin America is a nearshoring 30 year old IT services firm with offices in Colombia, Mexico and the US that combines high level process maturity with agile methodologies in order to reduce the Total Cost of Ownership of software development projects.