Coming from personal experience, there are tons of ways working with an agency can go wrong. I’ve spent $120k working with 4 agencies: SEO, paid acquisition, conversion copywriting, and design.<p>I also know the situation from the other side, as I run a development marketplace to hire vetted engineers (http://lemon.io).<p>Having matched hundreds of developers with startups and worked with agencies myself, I found what makes choosing an agency a success. Sharing my personal checklist:
- Start small & provide feedback -<p>Figure out if you can get the small commitment from the beginning. Focus on delivering a smaller MVP with the ability to change developers on the way (if it gets stuck). Get iterations with user feedback as early as possible to ensure you’re moving in the right direction. Move in short sprints. Pay for milestones.
- Go to the agency when you clearly know what needs to be built -<p>User stories, jobs to be done, roadmap or design: whatever specification you have. Otherwise, much of the code will be thrown away. Same rules work for marketing agencies. If you don’t know your users and positioning, none of the agencies will do marketing for you.
- Ask for a consultation before you commit to anything -<p>Meeting the team can help you check the fit before starting the project. If you’re looking for a dev agency, chat with developers beforehand. Soft skills are as critical as ability to code. Avoid working with agencies that underpay their developers.
- Check out the background before shortlisting -<p>Start with research: find testimonials or real products the agency helped build. Check the “Showcase” section on the website. Open Trustpilot & G2. The more previous experience you can see, the better.
- Keep the decision-making in-house -<p>Make sure you have the technical co-founder or CTO to make the macro decisions. If you don’t want to include someone full-time, you can get started with a fractional CTO. Don’t outsource strategy.
- Ask for replacement policy -<p>Verify that the agency has a replacement policy in case of bad hires or other issues. Have an agreement that outlines who owns the right to the product and the associated intellectual property.
- Hire the agency that’s a good fit for your style -<p>Pick the team that uses the same development approach, has remote culture, shares similar values and you’d generally like to hang out with those people.
- Draft the specification -<p>Spend time scoping the development, UI or QA tasks or ask for just scope beforehand. Having clear requirements will help you manage the costs.
- Really, get to know the developers -<p>Ensure that the developers assigned to your project are the ones actually doing the work. Be sure, the dev is fairly paid.
- Protect your idea -<p>Include code ownership into the contract. Outline that you own the right to the product and the associated intellectual property.