Do you want to digitize your business idea? Or, do you have a task to reach the company’s KPIs with the help of new software?
How can you find reliable software engineers to help attain these strategic objectives? What vendor selection criteria should you follow to select and hire a development team?
Read this subtle guide on the vendor selection process and get to know why the price and development rates should not be at the top of your priority list.
Once you dive into the topic, you will learn many important points, namely:
- solid arguments as to why price is not the key factor when selecting IT vendor
- 7 core vendor selection criteria that do indeed matter
- specifics of RFP document (request for proposal)
- how to evaluate proposals from potential IT contractors
Let’s get to the details right away!
Key Ideas to Keep in Mind when Choosing an IT Service Provider
For starters, there are a few dogmas of software development. These will help you get a clear idea about the vendor selection process and set the basis for further information in this report.
1. No estimate can be precise – opt for in-depth project elaboration and deep involvement from IT teams!
This is a rule of thumb – most of the initial estimates do not correspond to the final price of your project. But, why is that?
Due to lots of factors and aspects like underestimated risks, the number of features and their complexity, integrations with existing systems, third-party libraries and APIs, miscommunication, and, of course, the “human” factor.
The findings by Clutch showcase how different software developers estimated the same feature. Their quotes differed as well. Some devoted 4.5 hours, while others allotted up to 70 hours of work for user login functionality.
In general, an initial project estimate with an accuracy of 30% is not considered the worst result, and 10% accuracy is simply an “ideal” situation.
The Cone of Uncertainty concept perfectly illustrates this project estimation process.
This graph is a correlation between the estimate accuracy and the specifics of the project’s details. The more clear and worked out these details are, the more accurate the project estimate will be.
Don’t you agree that any project has the same goals, requirements, people, priorities and business context, technologies to use, and functionality to implement?
A software engineering company, the most concise quote (and still possibly not the final!) can be prepared after the Discovery and Early planning stages where all the business and technical details are completely spelled out and covered. Until this point, it is possible to provide only some ballpark figures.
Key idea: The software development process is a creative procedure that involves hand-crafted work done by programmers, designers, and other specialists. Therefore, it is important to look at the level of involvement and understanding of your project requirements, as well as the way the team challenges you with questions and asks for clarification.
2. Do not judge an IT company solely by the cost – choose cost-effectiveness!
Our team is prone to hearing that the client has decided to go on with a “cheaper option” from other IT vendors. Based on our 10+ years of experience, the decision to cooperate with a company that sets a cheaper price can have some negative consequences.
This can result in missed deadlines, budget overruns, and other similar issues. Sometimes, our clients return and ask us to resolve issues with the low-quality software and broken code.
Price should not be the only vendor selection criteria, since this does not guarantee that you have hired the right team that can work effectively.
Basic example: One team can have a rate of $20/hour, and another $50/hour – but the software development processes and management are set up well with the second vendor. This will allow them to manage your budget effectively. Alternatively, the first team may produce low-quality code and spend more hours fixing bugs and reworking compared with well-done work by the second team.
Key idea: During the vendor selection process, search for well-established software development procedures and effective tools of communication and cooperation.
3. Programming is not a precise science – search for creativity and proactivity in your potential IT partner!
Even though programming deals with numbers and mathematics, it still requires a huge amount of creativity and new approaches to launching innovations.
Software development can be compared to building a house. It is necessary to prepare the architecture plan for its successful implementation. Within the software, it is vital to create project documentation (Functional specification & Product backlog) listing all the necessary elements and project features during the Discovery phase.
It is very difficult to evaluate each and every feature and all of the minor elements of a project in the very beginning. Even a small point can indeed influence the whole development process.
Key idea: The elaboration, or Discovery stage, can serve as a good basis to start working with IT firms. With a low initial investment, you can check out how the team shows their skills and competencies, as well as their attitude toward your project.
4. Fixed project cooperation is a rarity – Time & Material basis allows for the building of solid software!
If one of your vendor selection criteria is a fixed project price, the chances that you will find a company with great capabilities, capacities, and processes are minor.
If your project is large and complex, the chances are even lower. This form of cooperation benefits neither the client nor the IT firm.
The fixed price model assumes that you agree on the final result and price at the start of the process. This model requires a lot of preparation and paperwork. Both sides agree on the requirements and further changes are not allowed.
Key idea: However, if changes are introduced, it means additional costs and potentially prolonged deadlines. The situation is different if you work on an hourly basis (Time & Material) with some intermediate estimates for a part of the process.
7 Key Vendor Selection Criteria to Base Your Evaluation On
As mentioned, the rates and estimated project price should not be the main vendor selection criteria for you.
Rather, you should pay close attention to the level of IT provider involvement, software development processes, assurance of quality, relevant experience, risk management, and so on. All these elements can be revealed from the company’s years in business, the number of completed projects, expertise, their portfolio, as well as references from clients.
1. Degree of Understanding of Project Requirements
The first good sign of a reliable vendor is the level of questioning during the pre-screening process. This means that the company does care to provide their clients with true information and base their project delivery and accompanied services on your needs.
It may seem to you that the project implementation is clear and simple, but this can be misleading and just the tip of the iceberg. No good or accurate estimate can be provided without a few sessions with you as a client to talk over the major details.
Key thought: The more proactive and challenging the team is during the pre-screening and vendor selection process, the higher chances are of lowering risks and minimizing surprising factors further on in the development.
2. IT Vendor’s Assumptions During Project Evaluation
You may agree that you can lack the time necessary to specify all the necessary details for each of the teams during the initial negotiation step. This way, you can check out how teams are able to present their vision for your project and its needs.
Look at the company’s suggestions during the vendor selection process. The team should give their assumptions when estimating your project and add extra value.
Usually, when reliable IT teams are estimating projects, they present their initial quote with a list of user stories that outline the necessary functionality and provide assumptions in order to avoid any discrepancies.
A related example is a sign-up form feature: The user authorization feature can be implemented with the help of an email, a social network, phone number, or a few of these. The next question lies in whether you need to verify the user. Should the user agree to personal data usage? Should they ask for some other info?*
Aside from the proper, in-depth attitude to the project estimate and functional specifications, the proposal from the IT vendors could include their advice on project development, growth, recommendations on architecture planning and setup, as well as possible software monetization strategies.
Key thought:The attitude to go the extra mile and take responsibility is one of the core vendor selection criteria you should search for. Only select a team that is interested in growing and adding value to your business while acting as a reliable IT partner.
3. Service Quality & Security
It is important to review the quality assurance, bug fixing, and software defects during the vendor selection process.
Pay close attention to the information on how the team ensures the protection of user info, as well as the high quality assurance of the delivered services.
What is UAT?
User Acceptance Testing is a part of testing and one of the final steps prior to the software release. It is necessary to ensure that the product performs the required tasks and works according to the requirements among real-users.
Criteria for user acceptance testing should be created in advance and negotiated with the client. This usually takes around 3-4 weeks to complete and is estimated as an extra part of the work.
Key thought: The QA operations (including UAT) play a crucial role in software performance. Do not neglect these processes, since properly organized and performed QA activities will save you from some very costly mistakes like low user retention due to slow performance.
4. SDLC Model & Development Approach
Software Development Lifecycle is another of the cornerstones of vendor selection criteria that you should pay close attention to when evaluating IT companies.
During the vendor selection process, it is necessary to get details on how the software will be developed, and which models and frameworks the team will use to match your project requirements precisely.
Scrum is a very flexible software development framework based on three pillars: transparency, inspection, and adaptation. This one is great to utilize during the software coding phase divided into iterations, sprints, and meetings during the process. This can be adapted to the needs or changes of the project or team.
Another example involves complicated projects where first it is necessary to conduct Proof of Concept (PofC). This helps to validate if the software can be implemented from a technical standpoint.
The development approach at a software development agency includes the following aspects:
- Test-Driven Development
- Continuous Integration
- Code Review
- High-end Coding Standards
- Version Control
We also use other tools that help us with the major activities in development and project management:
- JIRA for project task management
- Harvest for time tracking and billing
- GitHub and GitLab for source code management
- Jenkins and GitLab CI for Continuous Integration
- RSpec and Jasmine for Test-Driven Development
Key thought: Define what steps are necessary to complete your digital project and match them with the software development processes of a team.
5. Communication & Level of Client Involvement
This is an important vendor selection criteria on which to base your decisions. This includes all the communication and collaboration during the project implementation.
In order to have smooth cooperation with the team, it is necessary to get info regarding how these procedures will be arranged and performed.
Key thought: Professional IT vendors should:
- define communication guidelines and tools
- plan and structure online workshops with clients
- define the level of client involvement to speed up the process
- plan the possible offline workshops (on the client and/or vendor’s side)
- define how the client influences the development process so that no surprises appear later on
- organize possible in-person meetings to check out how the client’s business works
6. Risk Management
Among other vital vendor selection criteria is to understand how the IT company handles risks, and can limit or minimize them.
First and foremost, great IT vendors will indicate the potential risks connected with project implementation. The possible risks can include the following factors:
- tech aspects like third-party service usage and integration (their limitations or incompatibility)
- unforeseen challenges with technologies (dependency on tech stack and its versioning, newer programming languages, changes in design for a user interface that affect technologies)
- organizational factors (lack of communication, idle time, change in the course of action due to updated client feedback)
- necessity to add functionality that influences the whole system’s performance
- plan of action once new details are revealed in the process of work
- risks and challenges in human resources (sick leave, adding new professionals, hiring new employees, a few developers for one platform to save time, etc.)
Key thought: Therefore, an experienced team should understand these risks and elaborate on how to handle them. As well, it is necessary to create a preliminary risk plan to react to such challenges, and predict and remove them as soon as possible.
For example, performing smoke testing in order to ensure that new features will not collapse the whole software’s performance.
7. Project Estimate – Cost & Timeline
Project cost and timeline is one of the final vendor selection criteria you should base your decision on.
As stated at the beginning, rates and costs for development services do not equal service quality and effectiveness of budget management. During the initial negotiation, the team should clearly answer the question: “How did you estimate my project?”
The answer should be honest and precise. For example:
“We do not know how long it may take. Our best guest if from $… to $… If you give our team a few iterations to create a detailed functional specification and product backlog, we can give you a more precise timeline and cost estimate for your project.”
It should be clear that without proper planning, software estimation is a black hole with lots of uncertainties and complexities.
Key thought: The Discovery stage helps to eliminate risks and provide a more accurate development estimate. The average cost of the Discovery stage ranges from $10,000 to $15,000 with a timeline of 2-4 weeks, but again, this depends on the project. In a case of a complex project, the price may constitute $50,000.
The Cone of Uncertainty model suggests spending some small part of your budget on the elaboration stage to limit risks, as well as to give a more accurate project price.
Questions for the Vendor Selection Process
During the pre-screening stage and negotiation process, you can make great use of the following questions. These will help you shortlist potential candidates based on the vendor selection process.
- Describe your company’s business model. What are your company’s main guiding principles?
- What distinguishes you from other software development firms?
- What does your company undertake to keep up with the latest tech and industry trends?
- How do you ensure high quality and legible code? What code principles are followed by your team? How do you deal with legacy code?
- Define the ownership of code, work deliverables, other source files from the project, and intellectual property rights.
- What is your software testing process and what are your standards for quality deliverables?
- How do you ensure high-end security, protect our project from info leaks, IPs, and other sensitive data?
- Have you completed projects similar to ours? How did you handle it?
- How do you estimate software development?
- How does your team work with project requirements?
- How many programmers and employees do you have? How will you ensure that my project has enough resources?
- How do you scale projects and teams? What if a programmer leaves your firm?
- Which countries are your main clients from?
- What is the collaboration process with a client during the whole process?
- How will you keep us up up-to-date and report on the process and performance?
- What are the communication tools for internal and external communication? How do you keep up up-to-date?
- What are the tools for project management?
- What software development frameworks do you utilize? Why did you select these?
- Can you elaborate on the terms (expiration, termination, renewal) and guidelines of the agreement and their main legal aspects?
How Should You Evaluate Proposals from the IT Vendors?
Estimates may range very drastically from vendor to vendor, even if you give them the same information. This is due to the fact that the task can be understood differently, teams can have different experiences and access to ready-made solutions or components, the number of resources in the dev. team, rates, expertise, and so on.
So, how can you select the best IT team for your project?
A hint here is to compare apples with apples. An RFP (Request for Proposal) can serve as a unified document during your vendor selection process. You just need to create this doc. This section specifically explains details on this.
The Request for Proposal will unify and standardize all the information related to your project goals, tasks, the number of resources, and other elements you find important to the project’s success and the attainment of business goals.
Note: It is necessary to create the most explicit and detailed information about your project as possible. Your document should include the following information:
- project name and detailed description
- company name and background information
- project goals and constraints
- scope of work (functionality)
- target deliverable and schedule
- existing blocks and/or technical Issues
- budget constraints
- other evaluation metrics (e.g. experience, design and code samples, client references, industry expertise, tech capabilities and capacities, etc.)
- proposal submission details and the due date
Then, you can evaluate proposals from the potential teams based on the following factors:
- explanation of how the team will solve your problem and/or propose its solution
- proposed project functionality and its implementation
- assumptions in evaluating functionality
- proposed architecture (with scalability, if needed)
- potential risks and their management
- software development processes (approximate timeline and services included)
- level of client involvement in terms of feedback sessions and meetings
- offered team set to complete the project
- sample of deliverables (to check the quality)
- relevant experience and client testimonials
As well, it is possible to prepare a simple scoring sheet to compare every team and award points.
Concluding Ideas & Vendor Selection Criteria
To summarize, there are lots of aspects you should consider within the IT vendor selection process. For starters, it is important to finalize and record your business and technical requirements in the RFP document and then search for prospective IT firms. At last, select and hire the winning vendor based on the delivered proposal and provided answers to your questions.
To avoid major mistakes when selecting an IT company, keep the following recommendations in mind:
- price and vendor’s rates should not be your number one priority
- seek added value and proactivity from the IT vendor
- analyze the level of questioning and involvement of the team during the negotiation process
- review how the company manages service quality and security of information
- check on SDLC and the way the IT vendor manages potential risks