On the Agile Management mailing list, David J. Andersen writes:
It would get a little more involved than that but the
you get the basic idea. Pay for the value delivered,
not the effort expended. Incentivize the vendor to
deliver high quality.
Most agile methods use a variation of a backlog. In an ideal project, the payment would be only dependent upon the value of each feature requested. Most software projects are much more resilient to underdelivery than people realise (and less resilitent to late delivery), which makes this into an contract that keeps both parties interests in mind.
There needs, of course, to be some specific variations based on quality of the delivered software etc.