When it comes to offshore software development, quality is the name of the game. In fact, in most cases, it’s the fundamental difference between a project’s success and failure. How well a final product performs, the experience it offers its users and its ability to deliver on its primary function are all critical variables that need to be reviewed on a project’s completion.
But the reality is, to find a team that can deliver effectively on all of the above and more, it’s essential proper quality checks are conducted before a project even starts and a partner is chosen. The right offshore software development team typically delivers above and beyond on critical project objectives and so spending the time to find the right team is essential for long term success. But just how do you go about finding the right team for your needs? There are many vendors in the industry who can talk the talk, but which partners can back it up and deliver when it really matters?
To separate the experts from the pretenders, you need a thorough due-diligence process that measures qualitative and quantitative data to build a complete picture of a partners capabilities, skill sets and expertise. This data must be collected, analysed and compared in order to identify the very best partners for your needs.
In this blog we provide a checklist of key criteria you must consider, and the key steps you need to take to effectively evaluate a potential offshore software development partner.
Review their past work, case studies and portfolio
A partner’s past work and portfolio is often considered one of the greatest indicators of their capabilities, but it’s not enough. You need to dive deep and look at their case studies to really understand, not only what they delivered in the past, but the problems they were tasked with and the solutions they built. This means you need to be asking the really penetrating questions that get to the heart of what they actually did. Keep in mind, that throughout the process, you should be looking to identify:
- The problem they solved
- How they solved it
- How long it took
- The budget it cost to deliver the solution
Remember, anyone can say they worked with a big name client, but seeing what they actually delivered tells you a whole lot more and helps you see the value behind the experience.
Keep in mind, a nice company logo and a testimonial can easily tell a false narrative and so corroborating skills and experience is critical. You need to ensure that the team have successfully delivered projects of a similar scope and size to your own, there needs to be parity in terms of quality, deadlines and budget for the case study to be valid.
You do not want to be a team’s first project using certain tools, frameworks or other variables. For example, if they’ve never worked with a 6 figure budget before, and your project falls into that category, you need to think long and hard whether you want to take on the added risk that the inexperience poses.
Interview management and core team members
Interviewing the core management team is a critical stage of the due diligence process that you can’t afford to skip. Keep in mind that long term collaboration can only work when there is good chemistry between client and partner, so it makes sense to really get to know who’s in charge. By questioning key individuals within the team, you’ll be able to get a grasp of their core values, approach to work and their philosophies around client projects. These are all vital characteristics that will help you understand how the team works and how well they fit with your own views and preferences.
Beyond the management team, it’s also important to speak with the engineering leads involved as well as any potential team members (designers, QA’s, developer etc.) who will be on the front line developing the product.
The objective of these interviews should be to:
- Benchmark the skill-level of the individuals interviewed
- Benchmark your alignment with management’s beliefs and attitude
- Benchmark the alignment between the management team and the production team
Evaluate internal operations and core processes
Reviewing a partner’s operational processes and organisational structure will help you get a good idea for how they work and deliver. This will provide insight into their capabilities and efficiencies, which in turn, may assist in auditing their overall potential and ability to meet expectations. You’re looking for a highly efficient well-structured development partner and so this evaluation will quickly help you determine if the team meets this initial criteria. Finally, by reviewing their approach and processes, you’ll be able to identify how compatible they are with your own and consider potential challenges preemptively.
It’s important clients review the methodologies of their potential partners and avoid teams that just accept a project for the sake of winning the deal.
If for example, a team uses an Agile approach, you need to be able to work accordingly. Treating each project like a group of mini projects with a 1-4 week time scale, this methodology conducts planning, analysis, design, coding, testing and documentation at a micro level for every mini project, minimising risk, but maximising admin.
Bare in mind, the team may also operate using other methodologies, including:
- Extreme Programming
- Rapid Application Development
Each of these has their own strengths and weaknesses and so it’s important you evaluate their compatibility with your own operational processes and preferences as well.
Conduct multiple client reference calls
In order to really confirm a team’s capabilities, you need to speak directly to their past clients. In these conversations you should be aiming to:
- Assess their overall satisfaction with the final output the team produced
- Query any red flags or concerns that may appear or that you may already have
- Identify the team’s strengths and weaknesses
- Dig deep on areas they could improve
- Validate statement and claims provided by the management team
- Get an unbiased perspective on the strength of the team’s project management skills
These communications with previous clients will help verify any claims made and provide an important 3rd party perspective.
Evaluate the internal company culture
Company culture is a significant part of any organisation and is often reflective of their ideology and value systems. You do not want to partner with a business that treats its workers poorly or has a high turnover of staff. Often a company’s culture can have major impacts on the quality of work delivered, and this can lead to indirect consequences for partners that make project success that much more challenging.
In many instances, the satisfaction level of the team that’s working on your project will likely influence the efficiency of delivery and so it’s easy to understand why a positive culture is so important. Also worth bearing in mind is the role of company culture on staff retention rates. You do not want a team that’s always in flux, the best teams are stable and invested in projects for the long haul and this requires a positive company culture to achieve.
When evaluating a company’s culture, you want to be asking the following questions:
- Are the team members engaged?
- Are they challenged by their work?
- Do they get regular feedback from management and their peers?
- Would they recommend others join the company?
Assess communication and project management capabilities
Communication is the key to any good relationship and so it’s essential you review and evaluate your partner’s ability to coordinate and communicate. Everything from language, personality and communication tone needs to be fully audited while representatives for the team should be tested on their ability to read, write and speak English fluently.
Going beyond communication, you also want to be testing the team on certain desirable personality traits, remember you’re looking for a group that is passionate and happy to be hands-on. You want them to care about their work and be interested in your project. An uninterested partner is often an inefficient partner, so these subtleties really are important to outline and evaluate.
Conduct and in-depth technical skills review
Checking the depth of a partner’s technical skills is key to ensuring they can meet your expectations. You want to test everything from their technical knowledge and problem solving abilities to their capabilities in various technical situations.
Taking this check a step further, it’s also worth looking into the CV of the team members that will be working on your project and getting an understanding of the selection of skills your team will have. This will also help identify strengths and weaknesses.
Throughout this process, we’d recommend you look at tools such as codewars.com, karat.io, devskiller.com and hackerrank.com to find assignments that effectively test individuals on the skills and knowledge you’re looking for.
Your due diligence process is designed to minimise the risk to your organisation when choosing an offshore software development team. By taking significant precautions before choosing your partner, you’ll be able to check every facet of the team and maximise your chances of project success.
Remember, you cannot afford to rush the partner evaluation process. Conducting quality checks is absolutely critical and should not be skipped for convenience or cost saving purposes. It’s worth bearing in mind, it’ll cost much more time and resources in the long-term if you choose the wrong partner.