Look first at relevant experience, not the size of the portfolio. Request a couple of projects that sit close to your stack, and then ask specifically who actually wrote that code. An honest provider will put you on a call with the people who would work on your project. Answers that name nobody at this stage generally mean you are talking to a reseller.
The agreement needs more scrutiny than the proposal. Three sections matter more than the rest: ownership of the code, non-disclosure, python web framework performance comparison and termination and handover. Every artifact has to transfer to you on payment, including designs, scripts and infrastructure configuration. Be careful with wording that leaves reusable components outside the transfer, since it is usually the part you cannot replace later.
Ask how they estimate. A serious estimate comes with a list of assumptions, a task-level breakdown and a range rather than a single number. A fixed-price contract works only when the specification is complete; when the scope is still moving the vendor prices the risk in and you pay for it anyway. Time and materials moves the risk back to the client, so it demands a cap, regular demos and transparent reporting.
Process matters as much as headcount. Establish how change requests are handled, who defines done and how testing is organised. A team can show you running software development company in united states rather than status reports. Written acceptance criteria are the practical protection against an argument at delivery time.
Finally, think about the end of the engagement while the relationship is still good. Ask that the repository stays under your account from the first commit, and that the documentation is refreshed in every sprint. A partner who is comfortable with this accepts it without argument; a long negotiation over it reveals most of what you need to know.
Recent Comments