1. Define the work
Product goals, the stack, what “done” looks like, and what you’ll keep in-house (usually product ownership and architecture).
2. Choose the model
Staff augmentation, a dedicated team or a fixed-scope project: see staff augmentation vs outsourcing.
3. Choose the region
Time-zone overlap vs cost: nearshore vs offshore.
4. Vet partners and people
References, security practices, attrition and (most importantly) the actual developers. Interview them yourself.
5. Contract
Rates and invoicing, notice periods, IP assignment, NDA, data protection, security requirements, replacement terms. See NDA and IP for software development. Have counsel review: this isn’t legal advice.
6. Onboard
Access to repos and tools, architecture docs, a buddy, the same rituals as your local team.
7. Manage and measure
Weekly demos, cycle time, defect rates and a monthly review of the engagement.