If you’re up to software development in order to refine your business flows, let us congratulate you on successfully passing the first stage. It may get a bit more complicated later.
Luckily, you can substantially ease up the selection of a software development vendor with the help of our practical guide. At the end of this article, you can find an infographic, which summarizes the key aspects listed here.
Choosing a Software Development Company: Go Back to the Basics
First and foremost, find out if the vendor has experience and capacities to work with projects similar to yours. It can be done with the help of an RFI (Request for Information), where you ask general questions and have a casual dialog with the vendor. There is no point in comparing bids prior to making sure the vendor is experienced enough, it understands the project details and knows the ways of transforming sketches into full-functioning products. The financial aspect is a delicate topic. No matter how crucial it can be, leave the consideration of costs for the final comparison stage. There is a vast number of aspects to consider prior to the financial one.
The primary parameters to verify are the following:
- the size of the company
- its overall experience in software development
- company’s clients and references.
It helps to get a general idea of the vendor and make sure the company shows stable performance and is no way a fly-by-nighter. No one wants to have the project stuck halfway because of the software development vendor going bankrupt or being no longer able to meet your demands. If it feels appropriate, you may inquire about the vendor’s financial solvency. Reputable companies can share their financial statements upon request.
Determine your requirements
At this stage, customers have a rough idea about the software product to be developed, but know exactly, which issues they want to solve with its help. It’s time to specify functional, non-functional and business requirements in your RFP (Request for Proposal). Think back to the company or departmental objectives: each of these objectives needs to be backed up with certain product features in order to be brought into realization. Visualization of the end product helps in writing the software product specification and the list of functional requirements.
Some functions are essential, while others are just nice-to-haves. Evaluating each requirement helps to create a ranking system with the proper prioritization. It can be important for a future choice of your software development vendor.
A checklist for this stage can look like this:
- specify functional and non-functional requirements in your RFP
- request all of the necessary information from the vendor
- ask the correct questions
- suggest a clear RFP response structure.
And again: for the choice of a software vendor, it’s a good practice to first shortlist the companies according to most crucial parameters and convenient partnership options, and go for price negotiations to the very end of the tendering process.
Dive into detail and ask for proofs
Now it’s time to find out if the vendor has necessary resources and considerable expertise in your business domain, processes, possible risks related to the domain or to the customer, and etc. It can be helpful to ask questions about implementing similar systems, possible obstacles, about vendor’s own products with the required functionality, and the use of relevant technologies. Pose complex questions requiring a detailed answer. It’s a good practice to request examples of already fulfilled tasks, which are adjustable to your requirements.
Here are more ideas for questions you may want to ask:
- Team: are there enough qualified specialists to build a project team? Is this team scalable?
- Deployment: can the vendor provide cloud-based product deployment? Or can the vendor provide software deployment on the company’s in-house servers?
- Scalability: can the vendor assist in expanding the product in the future?
- Customization: can the vendor build a software solution, which can be easily tailored to the company’s needs in the future? Can it provide training for the in-house technical team?
- Support and recovery: how much support can the vendor provide in implementing, deploying and maintaining the software product? Which option is preferable for the vendor: remote or on-site teamwork?
When you receive enough information to consider the vendor and add it to the shortlist, it’s a good idea to ask for proofs, such as a detailed portfolio and customer references with contacts.
Discuss the Processes with the Software Company
This aspect should never be underestimated, especially if you plan to go for a long-term partnership with the selected vendor. Compare time zones and working schedules.
Find out, if they overlap to make it convenient for you to plan meetings and establish communication necessary for Agile development.
Another underestimated aspect is the approach to tracking work and logging working hours. No matter, if you appreciate tracking performance, project status, hours in office or all of these parameters, it is vital to ask questions about these processes: if they are automated, how they are controlled in the company, what is the visibility level for the customer.
Don’t forget to find out about:
- project delivery methodology used at the company
- infrastructure (security and reliability)
- performance KPIs
- communication tools and practices
- project management
- product management
- human resources (scaling, onboarding, training).
It will assist in calculating expenses and having a better overview of the vendor’s approaches to work and internal processes at the software company.
Ask about value-added perks
After sending a detailed software development RFP and giving a potential vendor time to think over the business, functional and non-functional requirements, ask about possible goodies adding value to your project. It’s a good thing if the vendor is ready to share its domain insights and best practices, warn about possible difficulties and pitfalls for such project types. Such things are likely to be heard during real-time meetings with potential candidates. Sometimes, software development vendors share valuable advice on original technical solutions or let you know about the methods of optimizing the project delivery. Do not miss this chance.
Additional advantages of a software vendor for project outsourcing or outstaffing include the following:
- Enough employees for speedy project scaling;
- No subcontracting, except when the customer suggests it;
- Smoothly running processes on hiring, motivating and retaining employees – as it provides stable team performance and better results;
- Comprehensive qualification requirements for developers and QAs;
- Consulting on functional and non-functional requirements as a separate service, and etc.
The financial part, of course.
Approach this stage with a shortlist of the most reliable, technically skilled and enthusiastic candidates. Now it’s time to pose questions about the hourly rates of developers, testers, analysts, and managers and ask for a rough quote. It is known as RFQ (Request for Quote), which helps to focus on the project costs.
Rule #1: Make sure all candidates estimate the same project
No matter, if vendors provide you with hourly rates or send you fixed rates for a task or a project (in case its complexity is known in advance). Both parties should be perfectly aware of each other’s expectations, should interpret and handle the functional requirements in the same manner and have a comprehensive understanding of the project in general.
Rule #2: Compare effort-to-effort
For example, vendor X is quoting product design, project management, software development, QA, UI/UX, DevOps, and maintenance, while vendor Y is providing you solely with a quote for software development. Don’t get misled by this.
Rule #3: In case vendors have difficulties estimating, go for the minimum and the maximum budget
The minimal budget (minB) is the approximate budget for the MVP implementation (or any other fixed scope of work).
The maximal budget (maxB) is the cost of the full project scope implementation.
The difference between the MinB and MaxB can be considered a Risk Budget, planned in the project framework. Sometimes this approach can be more suitable and more informative.
Rule #4: Consider Total Cost of Ownership (TCO)
This rule is applicable when the company is going to purchase the vendor’s software products instead of building custom software. In this case, it may seem easier to compare quotes – at first glance. However, keep in mind that software development vendors may charge a license fee for their software, annual support fees or include hardware expenses, the cost of third-party specialist services, and so on and so forth. Include these costs to compare the TCO for each offer.
As for the estimates in general, keep in mind: the company, which quotes a higher total price may specify the same developer’s hourly rate, however, it may offer additional services within the estimate. It’s a good idea to discuss what stands behind the figures.
To sum it up, the total cost of a custom application should include:
- Analysis and Planning
- Project Management / Oversight
- UI/UX Design
- Software Development
The comparison of software development vendors in the financial aspect only seems easy and obvious. It can be really tough to make sure it’s a homogenous comparison in terms of software development.
The softer side of software development counts too
Partnering and working one-on-one with the vendor is a lot easier when you manage to build a trustworthy business relationship. In software development, the project roadmap may dramatically change, and even if it doesn’t, there is an evolving spiral of learning and decision making. Working with the team with the appropriate soft skills can help a lot on the way. Therefore, consider the personality and individual character of every key team member you plan to work with and trust your intuition when all other things are equal.
If you’d like to use this infographic on your website or blog, just copy and paste the code below:
<a href=”https://www.qulix.com/about/blog/how-to-choose-compare-evaluate-software-development-vendor/”><img src=”https://www.qulix.com/wp-content/uploads/2019/06/how-to-choose-a-software-vendor_infographic-1.png”/></a>