Contract-First Design: Difference between revisions

From Open Source Ecology
Jump to navigation Jump to search
No edit summary
Line 13: Line 13:
=Challenge=
=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.
'''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.
Indeed, at the limit of specificity of interface design - the actual design emerges. When an interface is designed in practice, the result is a 'complete design.' If we start with the 'complete design' - then interfaces can be extracted, and documented.
Thus, the interface design and design-proper design processes can be highly iterative.
=Links=
=Links=
*[[Contract-First Manufacturing]]
*[[Contract-First Manufacturing]]

Revision as of 15:04, 1 June 2022

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.

Indeed, at the limit of specificity of interface design - the actual design emerges. When an interface is designed in practice, the result is a 'complete design.' If we start with the 'complete design' - then interfaces can be extracted, and documented.

Thus, the interface design and design-proper design processes can be highly iterative.

Links