Introduction to Vetting
The most important thing when it comes to vetting your software outsourcing team is making sure you are working with the right people. There are over 100,000 software development firms around the world and over 20 million estimated software engineers.
With such a massive pool of global talent, why do so many people still face horror stories? Oftentimes these difficulties arise because startups and small businesses aren't properly vetting the developers they chose to work with, either because of time or technical expertise.
In this blog, I want to disclose part of our 5 step vetting process for software outsourcing firms. This process has allowed us to vet over 8,500 firms (so far) and has helped us narrow that number down to only 9 firms globally. We call these 9 firms our Aloa Partners, and thanks to our strict vetting process, we can be certain that our 9 Aloa Partners meet our high standards for working with our clients.
Step 1: UI/UX Design
The first and quickest way to vet a firm/freelancer is by looking at how they represent themselves. We can get an initial sense of quality by visiting the website of a firm and doing a quick analysis.
Questions to ask when vetting a website
- How does the design look?
- Have they put in meticulous care to ensure the information is clear?
- Are there bad typos on their website?
- Does the site feel genuine/trustworthy?
- Would this be something I would be PROUD to call my own?
The last question is perhaps the most important one. Especially if you're looking for a development partner to help build your website or web app (read about the difference here), you'll want to make sure their website meets your standards. If they can't be bothered to make their own site more than good enough, you can't expect them to give your site the attention it deserves.
If you want to go a step further, you can contact their sales team and ask for a link to their Dribbble or Behance portfolios.
Step 2: Portfolio Analysis
The second step to vetting your software outsourcing team is analyzing how well their abilities are reflected in their portfolio of work. You've seen that your chosen development partner can represent themselves well on a website, but how does their work hold up in actual client matters?
Seeing a portfolio of their work will help you understand the scope and depth of the work that this firm or individual is capable of. It is important that you ask for a true portfolio of work and not accept a vague description of a few projects with a list of the technologies the firms claims to be proficient in.
What counts as a true portfolio?
A true portfolio means seeing at least five projects, all from different clients. It also means making sure that the work in the portfolio is relevant to the scope of your requirements. So, if you are building a mobile application and you are provided a portfolio of work that has 4 websites and 1 mobile application, then this firm or individual is likely not the best fit for you.
The big take away here is to be exacting. Don't feel as though this firm/individual is the only one out there for you. Think back to how many developers exist in the world. If you aren't very impressed with the work you see, then stop where you're at and move on to another option. The ultimate goal is to find a solution provider that exactly meets your needs, not one that just barely suffices.
Step 3: U.S. References
You've seen the development firm's work, the next step to vetting your software outsourcing team it's time to understand how they treat their clients. Just because you're good at writing software does not mean you will be a good developer for a US-based client.
How many US-based references do I need to vet a firm?
We always request at least three US client references at this step. If they can't provide more than three, then they probably aren't experienced enough in the market and will still have kinks in their process or gaps in their competency for which you will serve as the guinea pig.
Gathering US-based references is a crucial step of the vetting process
You don't want a development partner that's learning on your dime. By speaking to US-based references, you'll be able to:
- get a feel for how well the development firm can hit deadlines
- ask about how fair the development firm's pricing is throughout the engagement
- gauge the development firm's understanding of US business and culture
- understand the development firm's general business acumen
- get an opinion of the development firm's responsiveness and work ethic.
The process of verifying references is also a great way to verify the truthfulness of the development firm's website and portfolio. By speaking to their past US-based clients, you can get a more unbiased view of the firm's capabilities.
Step 4: Code Quality
Step 4 in vetting your software outsourcing team is totally optional, but strongly recommended. Ask the firm/freelancer for samples of their code that you can do a thorough review on. If you aren't technical, then you have really two main options. Option 1: you can find freelancer who can do this for you and pay them for their time or Option 2: you can hire a company like PullRequest to do this.
What is a code review?
A code review is the process of checking someone else's code to make sure it is well written and able to be easily understood by future developers. The reason you want code to be easy to understand is so other developers may maintain the code without wasting a lot of time trying to wrap their heads around the logic.
For more on code reviews, here's Google's Engineering Practices documentation.
If you know how to code and have access to someone who can evaluate architecture, then you're off to the races. Ask the firm/freelancer for samples of their code for your review.
Why are code reviews necessary?
Why do you have to do a code review if you've seen how the product looks in the end? If the product looks and works alright, why does the code behind it matter? The truth is, you can write code to accomplish the same task in an infinite number of ways. But if you want a product that is scalable, can be easily built upon to evolve with you, and won't break when users start interacting with it, then you need to make sure the code is being written properly and follows best practices.
Step 5: Interpersonal Interview
The interpersonal interview is the final moment of truth when it comes to vetting your software outsourcing team. Your options have made it through steps 1-4, and are on the final leg of the vetting. It's exciting because you think you've found the right one, and it can be heart-breaking to reject them because you've already put in all of this effort. So, dig deep, remove the emotions, and really focus on the final touches.
You now need to vet the firm on their intangibles—on their ability to maintain a relationship. Here are our top five factors we look for (sorry, the other 6 make up our secret sauce 🤫).
Our top 5 factors to look for in interpersonal interviews
1. English speaking skills
This one is self-explanatory. You will be communicating with them on your critical business components, and you need to be able to understand each other. You will need to have meaningful, clear, well agreed-upon requirements and feedback. Keep in mind, you'll be having many conversations with your development team (and some of them may be not-so-pleasant) so make sure you are comfortable.
2. Communication skills
What you're looking for here is comprehension and clarity of message. When speaking to developers and architects, are they able to convey concepts in a succinct and clear manner, or do you have to ask for clarification every time? If a bug comes up during development or if a delay arises, you want the development team to be able to articulate this message clearly to you and keep you in the loop.
If they have feedback for you on how you can better structure your user interface and user experience (UI/UX), then you want to be sure they are able to explain this clearly so you can take their advice. After all, they are the experts that you intend to hire.
How long does it take for your development team to respond? Do you have a Service Level Agreement and do they adhere to that agreement? What is their tone in response to normal questions?
Ultimately, your prospective development team should be incredibly responsive during the initial engagement and should always express a positive/excited sentiment. If the developers aren't meeting your expectation of responsiveness or have a disposition that lacks excitement during the beginning of a project when things are cheery and energy is high, then imagine what the relationship will be like when you hit a bump in the road. Don't assume that things will be better when the going gets tough if the status quo isn't satisfactory for you.
4. Listening skills
We are always told that listening skills are important. When you're working with offshore developers, it can be existential.
Do you have to repeat yourself multiple times? Sometimes, if it's a complex topic, you may have to repeat yourself to ensure understanding. This is true whether working with on-shore or off-shore developers. However, for day-to-day things, and simple requests, you want to be sure that you are not only being heard, but also registered.
It may not feel like a big deal off the bat if you repeat yourself a few times here or there, but when work starts to pick up you'll begin to see why this is such an important piece of the vetting. When you factor time zones and availability into the mix, you really want to have the full attention of your developers in those key waking hours that overlap between time zones.
5. Critical thinking
When you are hiring a development team, you want to hire them for their skills AND feedback. You're hiring a professional, so you should find value in their voice and listen to their thoughts. If a dev expresses critical thinking by asking questions about your scope of work and comes prepared with suggestions and alternatives, then you're moving in the right direction.
If you hear blanket objections with no substance to back it up, then clearly it isn't the right relationship. On the other extreme, if you get silence or a one-word response to your scope of work, it's likely they are not actively listening.
However, if the firm/developer provides genuine reasoning and shows true interest in ensuring your product achieves the best look, feel, and functionality, then you've found a potential development partner.
Vetting a software outsourcing team is very difficult, and rightfully so, because the last thing you want to do is to switch development teams in the middle of development or even after the development is finished.
What you want to do is to vet not just a software development team but a software development partner, just like how we've done here at Aloa with vetting our Aloa Partners. The difference between a team and a partner is that a partner is there with you for the long-haul. A partner will take your feedback/criticism and grow with you. Ultimately, a true partner will put your needs above their own and make sacrifices to ensure your success.
If you have any questions about software outsourcing or about a potential project you'd like to get off the ground, feel free to hit me up at any time! Just reach out to me via this email: firstname.lastname@example.org
If you're curious to learn more about effective outsourcing, you can check out more of our educational pieces here.