Software development is still a ‘dark art’ for many founders, executives and business decision-makers, and yet it can be absolutely critical to the success of your business.
Finding the right software developer is analogous to working with a car mechanic who we simply have to trust because we just don’t know enough about fixing cars.
There are countless horror stories of companies getting badly burnt by outsourced partners, but the reality is that many of those worst-case scenarios are avoidable if you’re deliberate during your assessment. I’ve created a list of the top concerns I’ve noticed—plus how to address them to give yourself a better chance of selecting the right partner.
Fear: I won’t have control of the process.
Ask for a detailed explanation of the processes that are used. Don’t accept vague answers or jargon.
Look specifically for:
How much visibility is provided into the process?
If needed, our organization will provide our clients access to our project management tools (Jira, in our case) so that they may see what tasks are moving through the system and how quickly. Transparency is key to a strong relationship, and this is an area that you should feel comfortable in before you make a partner selection.
How are communications are handled?
In some cases, we have a standup with our client every day, but never less than weekly. This is critical to working in an agile, engaged manner. Our company believes deeply in the need for a remote workforce—in fact, I am a remote CEO—but humans require a measure of face-to-face interaction so make sure that your partner builds at least some travel into the plan to invest in a more personal relationship. At the end of the day, software development is just people engaging with other people toward the common goal of building amazing things together!
How are different time zones handled?
We have clients all over the world and staff in varying time zones. Make sure that how the work is organized supports rich communication regardless of timezone differences. This doesn’t mean that 24-hour access is required, but it does mean that communication needs to be predictable.
Fear: Outsourcing equals poor quality.
There is a massive range of quality and cost in the outsourced market, and this is not necessarily a bad thing. What is most important is to be very clear about what you are looking for. If you are looking for a quickly bashed together prototype, then it’s probably fine to go with a low-cost outsourced dev team with large culture and language gaps. If, on the other hand, you are building something that forms part of your core business or product, then you want to be more selective and can expect to pay more. Consider the following:
How is the team contracted and composed?
We believe that team culture is essential when building high-performing software teams and we don’t believe that a strong culture can be achieved using freelancers or contract workers. It makes a big difference on the work culture to have every staff member a full-time employee, regardless of where in the world they might be.
Review the partner’s technical capabilities thoroughly.
Whether it’s a member of your team or a consultant, be sure to have a qualified individual assess the potential partner’s work. The review should include:
- Technical interviews
- Code sample reviews
- Design / UX reviews
- Examples of software that the partner has built that are already live and in use
- Security and documentation principles and processes
- Quality assurance
- Continuous integration and deployment processes
This assessment doesn’t need to be drawn out and exhaustive, but it is very important that it happens. It’s easy for us to talk about how good we are, but we need to be able to provide objective proof and examples of that. This process will also give you a window into the communication style of the partner and how well they address and discuss complex topics.
Fear: How do I know that I will get the return on investment?
Continuous improvement and learning are essential and cost a lot.
Supporting developers and designers to stay on top of trends requires deliberate action. Find out what the partner is doing to ensure that their teams are continuously improving, learning and being the best at their craft.
At NONA, one of the things we do is to build in dedicated learning days. This culture of continuous improvement and knowledge-sharing results in improved team retention and higher team engagement. As you assess a potential, these are details you should care about because they translate into better developers and designers and therefore better quality product for you.
Building, leading, optimizing and retaining great software teams is very difficult.
You do have the option of building your own team in the early stages of your project and in some cases this can make sense but this is a very difficult thing to do well, here is why:
Good software developers are in huge demand and are very difficult and expensive to attract and retain. Make sure that you understand what the partner is doing to create the kind of culture and working environment to suit the kind of people that you want working on your project.
If you select the right partner, you will get far more value than just the knowledge of the team dedicated to your project. In our case, we deliberately create an environment for the knowledge to be shared between everyone which you benefit from as a client. In effect, clients are getting access to a very deep knowledge pool but without having to pay for and nurture the same.
Ask the partner how they go about cultivating knowledge sharing within their teams and how that translates to value for your project.
Fear: I’m worried that my application will be built and then I will be locked into that partner with no chance of taking this over internally, ever.
This does happen, but it shouldn’t.
It is wise to ask this question directly and to expect a solid and well-constructed answer.
We build software as well if not better than most internal teams, but we also acknowledge that there comes a time where our costs don’t make sense anymore. This is why we are very particular about the technologies that we use, making certain that we aren’t unintentionally binding a client to our organization.
When the time is right, we guide the client on building an internal team to take over from us. This has included helping with recruitment, interviews and, in some cases, playing the role of CTO for as long as required.
The point is that you want to find a partner that understands the business value of the different stages in the process and keeps your business needs in mind all the way through. Again, don’t take anyone’s word for it. Get references and case studies for objective proof.
So, working with an outsource software development partner can be a terrible idea—unless that partner is vetted thoroughly and carefully selected!