interfacefirst
Interfacefirst is a software development approach that prioritizes the specification of interfaces before implementing their underlying behavior. The term is used to describe a discipline in API design, component software, and user interface development where contracts, data models, and interaction patterns are defined upfront to guide subsequent implementation.
In practice, interfacefirst involves creating formal interface specifications or contracts, such as API schemas, interface definitions
Benefits include improved collaboration across teams, clearer expectations, easier testing via contract tests, and greater decoupling
Interfacefirst can apply to different domains, including API design (contract-first development), UI/UX prototyping (defining user interactions
See also: API design, contract-first development, interface-oriented design, OpenAPI, microservices.