Choosing a software development company is a decision you will live with for 2-5 years. A good partner saves you time and money. A bad one leaves behind technical debt that ends up costing more than the project itself. Industry data suggests that 37% of IT projects fail because the wrong vendor was chosen, not because of technical problems.
This article gives you 10 specific criteria we recommend for evaluating development partners. Not abstract advice like “check their reputation”, but concrete questions, metrics and red flags. Plus a checklist for the final decision.
10 criteria for choosing a software development company
What to check: open 3-5 projects from the portfolio and see whether they still work (30% of portfolio projects on the market are dead). Run them through Google PageSpeed Insights. A score of 90+ means the technical side is in order. If it's 40-60, think twice.
Red flag: a company that “works with everything”: React, Angular, Vue, PHP, Python, Java, Go, C#, plus WordPress. A team of 10 people can't be equally good at 8 stacks. Narrow specialization is a sign of expertise.
A good process includes regular demos (every 1-2 weeks), access to the task tracker (Jira, YouTrack, Linear), weekly progress reports, transparent time tracking (if you work on T&M), and code review and testing built into the process.
Ask the company to show you a real board in their task tracker (with client names hidden). It tells you more about their process than any sales deck.
Red flag: during presales you talk to one person (a salesperson), and once the contract is signed you're handed over to someone else (an account manager) who knows nothing about the project. Or worse, to a developer who doesn't speak your language and communicates through Google Translate.
There are two pricing models. Fixed price (one price for the whole project) works when the scope is defined and unlikely to change. Time & Material (you pay for hours) works when the project is iterative and the requirements will evolve. Fixed price doesn't mean cheaper: the vendor builds the risks into the price (usually +20-30%).
The rule of three estimates: request quotes from 3-5 companies. Drop the cheapest (they cut corners on quality or misunderstood the task) and the most expensive (they overestimate or pad the price). Choose from the middle.
Other sources: the company's Clutch.co profile, ratings on industry platforms such as GoodFirms, and public case studies with real numbers.
Red flag: “a team of 15 people will work on your project” for a $15K project. That means each of them will spend 2 hours a week on it, not that 15 people will work on it full-time.
Checklist for choosing a development company
Print it out and use it to evaluate each candidate.
Portfolio and expertise
[ ] 3+ projects similar to my task
[ ] Portfolio projects are live and accessible
[ ] PageSpeed score above 80 for portfolio projects
[ ] The stack fits my task
[ ] Narrow specialization (not “we do everything”)
Process and communication
[ ] A clear development process (Scrum/Kanban)
[ ] Regular demos (every 1-2 weeks)
[ ] Access to the task tracker
[ ] Replies within the business day
[ ] They ask clarifying questions (instead of naming a price right away)
Contract and money
[ ] Transfer of the source code and rights
[ ] Warranty period (1-3 months)
[ ] Staged payments (no 100% prepayment)
[ ] Transparent pricing (fixed price, or T&M with reports)
[ ] An NDA if needed
Team and support
[ ] I know the specific people who will do the work
[ ] There's a dedicated QA engineer
[ ] There's a support SLA
[ ] There's documentation and knowledge transfer
[ ] I called 1-2 clients and they recommend the company
Types of development partners: who fits your task
Freelancer
Rate: typically around $30-100 per hour. Good for: small tasks (a landing page, an improvement, an integration), tasks with a clear spec, budgets under $10K.
Pros: cheap, quick start. Cons: no backup (if they get sick, the project stalls), no process (quality depends on their mood), no real legal guarantees (a freelance contract offers weak protection), no support after the project.
Small studio (5-15 people)
Rate: typically around $50-150 per hour. Good for: mid-sized projects ($10K-100K), startup MVPs, corporate websites and applications.
Pros: there is a process, but a flexible one (no bureaucracy), the team knows each other, the CEO or CTO is often personally involved in the project. Cons: limited capacity (1-3 projects in parallel), a narrow stack (which can also be a plus).
Large company (50+ people)
Rate: typically around $100-250 per hour. Good for: large projects ($100K+), enterprise solutions, long-term contracts.
Pros: formal processes and SLAs, a wide pool of specialists, stability. Cons: bureaucracy (an approval for every little thing), managers come and go (turnover), your project is one of 20-30 running in parallel.
The best partner is neither the biggest nor the cheapest. It's the one for whom your project matters: small enough to give it real attention, and experienced enough to avoid rookie mistakes.
5 mistakes when choosing a development company
Mistake 1: Choosing on price
The cheapest vendor turns out to be the most expensive. Saving $6K on development turns into losing $15K on rework when the project is delivered with bugs and unreadable code. Look for the right balance of price, quality and process, not the lowest price.
Mistake 2: Not checking the portfolio
Nice screenshots on a website ≠ real projects. Open the sites from the portfolio. Check their speed, whether they work at all, the mobile version. If half the projects are down or throw errors, that tells you something.
Mistake 3: Starting without a specification
“Let's get started and figure out the spec as we go” is a recipe for a budget disaster. Without a detailed requirements specification there's no way to estimate the cost, the timeline or the expectations. Projects without a spec end up 30-50% more expensive.
Mistake 4: Not getting involved
“I paid, so let them do the work.” No. Development is a joint effort. If you skip demos, don't give feedback on mockups and don't review interim results, you'll get a product that technically works but doesn't solve your business problem.
Mistake 5: Not thinking about post-launch
Development is 50% of the story. After launch you need support, improvements and scaling. If the company doesn't offer support, or prices it unreasonably, you'll end up with a nice product that starts falling apart six months later.
How we work at March Code
We're a studio of 10+ specialists and take on projects from $9,900. Our typical client is a CEO or CTO who needs a reliable custom software development partner, not “a website in 3 days”.
Our process: a free consultation (30 min) → a proposal with a price range → a detailed specification (paid separately and credited toward the project) → development in 2-week sprints with demos → launch → 30 days of warranty support → an SLA for ongoing support.
An example from our work: the ProControl case, a production management system we built in 4 months, from business process analysis to launch in production.
FAQ
How many companies should I consider?
3-5 is enough. Fewer gives you too little data to compare. More drags the selection out for months. Request proposals from 5 companies, hold 3 detailed calls, pick a finalist. The whole process takes 2-3 weeks. Don't spend more time choosing than the first development sprint would take.
Fixed price or Time & Material: which should I choose?
Fixed price works when the scope is defined, the spec is ready and changes are unlikely. Example: a landing page, a corporate website with a clear design. Time & Material works when the project is iterative and the requirements will evolve. Example: a startup MVP, a CRM for a complex business process. A hybrid option: the first stage (spec + design) at a fixed price, then development on T&M with a monthly budget. This lowers the risk for both sides.
How do I keep tabs on the vendor during development?
Three tools: 1) a demo every 2 weeks, so you see real progress rather than abstract reports; 2) access to the task tracker, so you can see who is working on what and how much time it takes; 3) access to the repository (GitHub/GitLab), so your technical person can check the code quality. If the vendor refuses even one of the three, that's a red flag.
What should I do if the vendor misses deadlines?
First, find out why. If the scope grew (you added features), that's not the vendor's fault. If the cause is how the work is organized, put it on record and agree on a concrete recovery plan: not “we'll try to go faster” but “here are the tasks, here are the dates, here's who is responsible”. If the delays are systematic (3+ sprints in a row), that's grounds for ending the contract. This is why staged payments matter: you never overpay for work that wasn't done.
Do I need a technical person on my side?
It's strongly recommended for projects over $30K. This can be an in-house CTO, an outside technical consultant or CTO as a Service. Their job: review architecture decisions, do code review, control quality and take part in acceptance. A consultant only needs a few hours a week, which is cheap insurance against code that looks good but doesn't work.
Can I switch vendors in the middle of a project?
Technically, yes. In practice, it's painful and expensive. A new vendor will spend 2-4 weeks getting to grips with someone else's code (and will tell you that “it all needs to be rewritten”, which is an exaggeration 70% of the time). Switching costs 20-40% of the remaining project budget. To reduce the risk: make sure the contract covers the handover of code and documentation, insist on clean, commented code, and never pay 100% upfront.




