A retainer makes sense for teams in the awkward gap between “this would be faster if we had more engineering” and “we are ready to hire another full-time engineer.” Hiring well takes months, and the work does not wait. A monthly engagement fills the gap and keeps the roadmap moving without the overhead of a permanent seat.
The reason most agency retainers disappoint is that they trade delivery for coordination. The engagement becomes about status updates, scope negotiation, and timelines rather than work shipped. A retainer that actually earns its keep is structured around the opposite default — the baseline is shipped work, and everything else serves that.
The other thing that makes a retainer worth it is continuity. When the same person has been inside the codebase for three months, decisions get made faster, context is free, and the work compounds. That continuity is usually worth more than the raw hours on the invoice.