I'm curious how those of you who are web designers & developers charge your clients for ongoing updates after a site launch. Do you simply charge hourly for any work done, or do you have a minimum retainer?

I've always charged for actual hours but am at a point now where I have so many projects booked that it's hard to switch over to work on an existing site when I'm trying to keep a tidy development schedule. It would be much easier if I could build in support of x-number of maintenance hours but I don't want to do that if a client might end up not needing those hours that month.

I'm thinking by using a monthly retainer to have them lock in a certain number of hours - whether they use them or not - I could build those hours into my monthly project schedule. The advantage to the client is quicker turnaround on their update requests since I don't have to put them at the end of my current development queue (average around 30-60 days).

How about you? How do you handle billing and scheduling ongoing client updates & maintenance? What have you found that works best?