We sell interations. We estimate, prioritize, develop, and deploy work on a weekly or a bi-weekly timeframe. This is production ready work so we fit within all budgets.
If, at the end of any given iteration, you don't like what we delivered or we did not deliver what we promised, you can fire us. At the end of any given iteration if we don't like working with our client or the client ends up not fitting into our culture, we can fire the client.
Neither of these events have happened before but it leaves a warm and fuzzy for our customers as well as our developers.