A design approach in which the API contract is agreed before the software that implements it is built.