Start with relevant experience, not the size of the portfolio. Ask to see three or four engagements that sit close to your technology stack, and then ask whether those engineers are still with the machine learning development company. A solid partner will introduce you to the engineers. Vague answers at this stage almost always mean the demo work came from somewhere else.
The paperwork deserves more scrutiny than the proposal. Three clauses do most of the work: ownership of the code, non-disclosure, and termination and handover. Every artifact has to transfer to you as it is paid for, including documentation, pipelines and deployment scripts. Watch for any clause that keeps reusable components outside the transfer, as this is frequently exactly the piece that locks you in.
Find out how the estimate was built. A serious estimate arrives with a written set of assumptions, a breakdown by feature or module and a range rather than a single number. A fixed-bid deal only makes sense when the scope is genuinely frozen; otherwise the vendor adds a risk premium and you pay for uncertainty either way. Hourly billing puts the risk on your side, so it requires a sprint cadence, software development company in germany demos and a budget cap.
business process automation company matters more than team size. Establish how change requests are handled, who defines done and what the QA setup looks like. A team will be able to demonstrate a live build at the end of each sprint. Clear, written acceptance criteria remain your only real estate software development services protection against the it-was-never-in-scope conversation.
Finally, consider the end of the engagement at the start rather than at the end. Ask that the code repository sits in your organisation from day one, and that documentation is written as you go rather than left to the end. A vendor with nothing to hide will agree quickly; a long negotiation over it reveals most of what you need to know.