Search for a custom software development company and you get thousands of firms with the same promises: agile process, senior engineers, on-time delivery. The websites look alike, and so do the first sales calls. The differences show up later, in how the vendor handles unclear requirements, bad news and changes of scope.
This checklist helps you see those differences before you sign. It is written for founders and managers who are hiring a vendor for a new product or a large internal system, and it works the same whether the budget is $40k or $400k.
Before you start looking
A vendor can only be as precise as your brief. Spend a day or two on these points first:
- The business problem. What should change after launch: more sales, fewer manual hours, a new revenue stream? Write it in one paragraph.
- The users. Who will use the software and what are the three or four things each of them must be able to do.
- Constraints. Budget range, deadline, required integrations, compliance (HIPAA, PCI DSS, GDPR) and any technology that is already decided.
- What you already have. Designs, a prototype, an existing codebase, documents, competitors you like.
- Who decides on your side. One person with time to answer questions every week. Projects without one drift no matter how good the vendor is.
You don't need a full specification. A short brief with these points gets you comparable proposals, and a good vendor will help turn it into detailed requirements during discovery.
Build a shortlist of three to five companies
Start from referrals by people who have shipped products, then add companies from review platforms such as Clutch and GoodFirms and from case studies close to your industry. In reviews, look for specifics such as the team size, the length of the project and what went wrong. A star rating alone tells you little.
Then narrow the list:
- Relevant experience. Have they built something similar in complexity and domain? A strong mobile shop is not automatically a good choice for a data-heavy B2B platform.
- Project size. A firm whose typical client spends ten times your budget may hand you its least experienced team. A firm much smaller than your project may not be able to scale.
- Time zone and language. You need a few hours of overlap every day and people on calls who speak your language fluently.
- Location and legal entity. Where the contract is signed affects how you can enforce it, how IP is transferred and how your data is protected.
Check the portfolio and references properly
Case studies are marketing, so treat them as a starting point. For two or three projects that look closest to yours, ask:
- What exactly did your team do, and what did the client or other vendors do?
- How many people worked on it, for how long, and is the product still live?
- What went wrong, and how did you handle it?
- Can I talk to the client?
Then actually call the references. Ask how the vendor reported problems, how accurate the estimates were, how they handled scope changes and whether the client would hire them again.
Questions to ask on the first calls
Good vendors answer these with specifics, and a vague answer is worth noting.
- Process. How do you run discovery? How long are iterations, and what do I see at the end of each? How do you handle a change of scope mid-project?
- Team. Who exactly will work on my project, at what seniority, and can I meet the tech lead before signing? How often do people rotate between projects?
- Quality. How do you test? Is there code review on every change? What test coverage do you aim for, and who does QA?
- Communication. Who is my day-to-day contact? Which tools will I have access to: task tracker, repository, staging environment?
- Security. How do you handle access to our systems, secrets and personal data? Have you worked under the compliance rules that apply to us?
- AI tools. Do you use AI coding assistants, and how do you review what they produce? Most teams use them in 2026, so ask about the review and testing around them. We describe our own setup in how we build software with Claude Code agents.
- After launch. What does support look like, and what happens to the code and documentation if we part ways?
Compare proposals line by line
Put the proposals side by side and check the same points in each:
- What is included. Discovery, design, QA, DevOps, project management and post-launch support are sometimes in the price and sometimes not.
- Assumptions. A good estimate lists what it assumes and what it excludes. An estimate with no assumptions has hidden ones.
- Team composition. The hours of seniors, middles, QA and PM. A low total often means fewer seniors or no QA.
- Ranges in early estimates. Early estimates carry real uncertainty. A vendor that gives a precise fixed figure after one call is either padding it or planning to argue about change requests later.
To sanity-check numbers, compare them with typical market rates in our software development cost guide. A quote far below the range usually leaves something out.
Pricing models matter too. Fixed price works for small, well-defined scopes. Time and materials suits products where requirements will change as you learn from users. A dedicated team fits long-term development with a stable workload. Many projects combine them: a fixed-price discovery followed by time and materials.
Start small before committing
The most reliable test of a vendor is working with them. Before signing a large contract, start with a paid discovery phase, a clickable prototype or a proof of concept that takes two to six weeks. You will see how they ask questions, how they write documents, how they react to feedback and whether their estimates hold. If it doesn't work out, you keep the results and lose little.
What the contract must cover
- Intellectual property. All code, designs and documentation transfer to your company, ideally as work is paid for.
- Access. The repository, cloud accounts and domains are registered to you, with the vendor as a guest.
- Confidentiality and data protection. An NDA, and a data processing agreement if personal data is involved.
- Acceptance. How you accept a release and how long you have to report defects. See our guide to user acceptance testing.
- Warranty and support. A period of free bug fixes after launch and the terms of further support.
- Exit. Notice period, handover of code and documentation, and help with the transition to another team.
Warning signs
- A precise fixed price without discovery or questions about your users.
- They agree with everything and never push back on scope or deadlines.
- You can't meet the people who will actually do the work.
- No access to the repository or task tracker until the end of the project.
- No automated tests or code review, or answers like "our developers test their own code".
- References that never answer, or case studies without a single verifiable detail.
- Pressure to sign quickly because of a discount or a "free team next month".
Frequently asked questions
Should I choose a local or an offshore company?
Fit and working-hours overlap matter more than geography. Nearshore and European teams often give US and EU clients a good balance of cost, time-zone overlap and legal protection. A local company makes sense when you need people on site often.
How many companies should I talk to?
Three to five serious candidates is enough. More than that and you spend weeks on calls, and the proposals become hard to compare.
What if I already have a codebase built by someone else?
Ask the candidates for a short code audit first. It shows how well they understand the system and gives you an independent view of its state. This is common now with apps built quickly using AI tools; see support and modernization for vibe-coded apps.
Is it better to hire developers directly?
Hiring makes sense when software is your core business for years ahead and you already have technical leadership. Until then, a vendor or staff augmentation lets you start faster. Our guide to finding programmers for startups compares the options in more detail.
Next step
If you are still deciding whether to build at all, start with our overview of what custom software development includes. If you are ready to talk to vendors, put EmphaSoft on your shortlist and check us against this list. We are a Finnish company headquartered in Espoo, with more than 400 projects delivered since 2010. Our case studies describe past projects by industry, stack and scope. Tell us about your project.