The Guaranteed Maximum Price is a dynamic remuneration model in software development contracts. This remuneration model is based on the assumption that the effort cannot be estimated exactly at the time of contract negotiation, this remuneration model enables a fair risk sharing between the parties. This remuneration model is therefore typically found in software development contracts with agile project methodology.
The maximum price is used to limit the risk for the client: Even if the development costs exceed this defined limit (maximum price), the client owes this maximum price at most. Not more. If the expenditure is below this limit, the "unused amount" is shared between the client and contractor according to a contractually defined key (e.g. 60:40). Of course, this requires transparency about the actually generated effort. In the construction industry (where this remuneration model was originally developed), the books of the contractor are disclosed. In the IT industry, such transparency on incurred costs can be established quite easily: Software Development is a People business (except some travel costs and the purchase of proprietary libraries). Therefore it's in most cases sufficient to share a detailed time sheet for each IT professional of the contractor.