How to choose a software development vendor
When selecting a new software development vendor for your company, you need to consider it as a partnership. You and your team will be working with them on a regular/daily basis to build the best possible solution for your company and your clients, so you need to have trust in them.
Most technical leaders will only go through this process three or four times in their careers, so understanding the steps with which you should be validating your decision is vital.
Step 1: Requirements and growth
Look back to your planning phase and review your current requirements again to ensure you have selected a company that meets your needs. During the procurement process, it is easy to get distracted with skills or experience that you might not be able to utilize.
Check the following of each proposed member against your requirements:
- Seniority
- Experience with the required technology
- Domain (industry) experience
Note: If the role does not require lead/senior experience, then don't place a senior in that role. They will get bored and not be challenged just as if you hired on-site.
Can the company provide services outside of software development?
our immediate requirements might be purely custom software development, though you may quickly require services outside of these.
Examples: Testing, Software Architecture, Systems Architecture, Deployment, Design, and UI.
Can the vendor grow their team with you over several years?
You need to consider the potential growth of your business and if you would need to look for another supplier to meet additional resource needs. Running two or more agencies on the same project gets complicated quickly, so ideally you would prefer a vendor that either has the reserved skilled members available or can get them quickly.
Step 2: Validate the credibility of the vendor
here are thousands of software development companies available on the market; some are excellent and others less so. Do your research to ensure they are a credible supplier. Clutch is a great resource for checking this out.
Request the potential vendor to provide testimonials from their existing clients. DO NOT REACH OUT TO THE VENDOR’S CLIENTS DIRECTLY — This is bad etiquette. The vendor will be able to provide testimonials and arrange contact with a suitable member of that company if requested.
Step 3: Staff and training
Once you have selected a vendor, you will be working with their remote team daily.
Quality firms will want to integrate their developers into your existing team to create an augmented team and extension of your existing team. This will increase communication within the team and improve alignment with the company objectives.
Ask the vendor these key questions:
- Location
- Company retention rate
- How do they hire?
- Do they hire contractors to take these roles on behalf of the vendor?
- Time zone of members
- Duration of availability of the vendor's employees
- Local holidays
Working so closely together, you will want to know these developers are working in good conditions and have their own training and growth opportunities.
You should have the opportunity to interview the proposed developers to validate their answers with what the vendor has told you:
- What are their training practices (conferences, meetups, training programs)?
- How do they collaborate?
- What is their work environment like (computer, dual screens)?
- What methodology are they used to (kanban, scrum, waterfall) and how do they implement it?
- Have they used your tools before (video chat, messaging, etc.)?
Step 4: Maturity and location of the company
The maturity of the development company will determine the kind of experience you will have when working with them.
A newer vendor will not have many common processes in place, so they will rely on your product owner to decide how the team should work together.
A more mature vendor will have common processes in place already to offer support to companies with less experience in software development. These processes can cover communication, coordination, collaboration, language, testing, accountability/management and operations and offer valuable insights on how to work effectively as a high performance distributed team. The developers from mature vendors will be accustomed to following these working practices, so it will be easier to onboard with your processes.
Does the vendor have an on-site presence and understanding of the local market?
The vendor's development team may be based abroad, offering the benefits of a distributed team, but also having on-site/local technical leadership and client management will reduce possible issues with communication, understanding core values, and ownership expectations.
Step 5: Contract terms
Reading the contract in detail is vital to ensure you understand the commitment put forward and to confirm the answers you have been given throughout the procurement process are the same as stated in the contract.
The majority of established vendors will not try to trick you, but certain details may not have been covered in discussions, so it is important that these are clear.
Key points to ensure you understand:
- Compensation terms
- Staff terms
- On-site visit expenses
- Generic business agreements
Author's note
No doubt that hiring a software development company is a tedious task, but, fortunately, perfectly achievable. To help you solve this crucial entrepreneur dilemma, we've put together the above roadmap.
If you'd like to delve deeper, check out my LinkedIn. There, I share more data-driven insights on my webinars and online workshops.