Making the decision to outsource some or all of your software development is a complex process. Yet, once you’ve pulled the trigger and decided to partner with an outsourced software development company, there’s more work to be done to ensure you maximize the outcomes you achieve alongside your development partner.
This is true regardless of whether you are using an outsourcing partner as a whole software delivery team, as staff augmentation, or anything in between.
The three most impactful things you can do to maximize outcomes of working with an outsourcing partner are:
1. Be flexible with the start date.
The more flexible you can be in terms of when you start your partnership and how you ramp up the team, the better chance you have at getting an ideal team to help you achieve your goals.
The highest quality firms won’t just give you the ‘next available’ team, but rather will have a comprehensive internal staffing process that ensures the correct individuals are partnered with your team. Yet, there are many competing realities and limitations when it comes to finding the ideal team to help you achieve your goals. So, flexibility on start time and ramp-up period are key levers to use to your advantage.
For example, you can start with a small team and ramp up to a bigger team over time as needed. This enables you to get started with a core team, while at the same time, essentially extending the true ‘start date.’ This will result in the largest selection of individuals who can work on your engagement. Let’s say you want to start on March 1st and need a team of six.
Rather than starting all six individuals on March 1st, you can have two people on March 1st, the next two people on March 10th, and the final two people on March 20th. You’ve now opened the start date window to the point where the outsourced team can slowly align various individuals to craft the ideal mix of skill sets and seniority for your needs.
Now, you might be wondering if this slow drip of onboarding hurts efficiency. In fact, it’s the opposite. Ramping up a team over a small window of time means you can focus on a few key team members to start, work out the kinks in the onboarding process, then use those learnings to improve efficiency of the rest of the onboarding process.
2. Embrace skill set variability.
Skill set variability is another lever you can pull to maximize outcomes of your outsourced team. The broader range of skill set and seniority you ask for, the more likely you are to get the ideal team.
Reason being – the way you define skill set and seniority may differ from the way the outsourced firm defines it.
For example: What does ‘senior software engineer’ mean to you? Does it mean someone with 5+ years experience? 10+?
So, rather than ask for a ‘senior developer,’ ask for a skill set. For example, you can request a team of two Python engineers who are skilled at mentoring junior engineers instead of asking for two ‘senior’ Python developers.
3. Maximize individual engagement.
Just as you can maximize the engagement of your full-time employees, so can you maximize the engagement of your tech partner’s employees. Things I’ve seen work best to maximize the engagement of each individual from the outsourced firm include:
Understand their company culture and ensure they understand yours
Individuals who work at outsourced firms are used to embedding with different teams, but don’t assume that each individual will seamlessly adapt to your culture. Take time to know what the individuals value in terms of their culture and tell them what you value in your culture.
Craft working agreements
If at all possible, co-create working agreements with the third-party team. These are your team norms, including guidelines, rules, and behaviors the team members agree to follow.
Working agreements should be created by the team, not by management, and should be a collaborative effort between both teams. The working agreement should be an actual document/Google doc that the entire team has access to. The following are some examples of guidelines to include in a working agreement:
- Start and stop meetings on time.
- Mark absences in the work calendar.
- Only work on a maximum of two stories at a time (WIP limit).
- Link all pull requests to Jira issues.
Have 1:1s regularly
Normalize giving and receiving feedback. Don’t wait to meet with someone on the external team until a major discussion is needed. Rather, set a regular time to meet with folks as a team and individually. You don’t have to meet with everybody all the time, but rather set aside some time to at least meet with key players on the external team on a regular basis.
Keeping flexibility and individual engagement top of mind, you’ll see measurable increases in the impact you get from your technology partner.