Defensive design

From Wikipedia, the free encyclopedia

Defensive design is the practice of planning for contingencies in the design stage of a project or undertaking. Essentially, it is the practice of anticipating all possible ways that an end-user could misuse a device, and designing the device so as to make such misuse impossible, or to minimise the negative consequences. For example, if it is important that a plug be inserted into a socket in a particular orientation, the socket and plug will be designed so that it is physically impossible to insert the plug incorrectly. Power sockets are often keyed in such a manner, to prevent the transposition of live and neutral.

Defensive design in software engineering is called defensive programming. Murphy's law is a light-hearted statement of the need for defensive design.

This has also been called "Designing for Drunks."

[edit] See also

Languages