Both have their advantages. Hiring in-house is great for continuity and can be an asset in negotiating an acquisition, but you get more bang for your buck with a good agency team. Agencies can scale up and down as you need and have a bigger roster of technology experts, which speeds up development and increases product agility. Oftentimes we'll fill the gap until companies find the perfect hire, or we'll fill the holes when Google poaches your senior software developer.