Contract-First Design

From Open Source Ecology
Revision as of 15:02, 1 June 2022 by Marcin (talk | contribs)
Jump to navigation Jump to search

About

http://www.scrum-breakfast.com/2013/06/xm-principle-4-contract-first-design.html

This means design the interface between modules first - not the modules themselves.

When designing a solution:

  • Design the interfaces based on outside parameters, e.g. load factors, or communication and power requirements.
  • Only architect the connections up front, not the individual components.
  • Leave room to grow, i.e. over engineer these interfaces, because changing these fundamental contracts may be expensive.

Challenge

Challenge: emergence. Some interfaces may not be recognized. That is, it may not be recognized that a specific interface exists or is needed. Thus, interface design may be an iterative process within the design process.

Links