back to software blog

Deployment bias


It's similar to and yet different from the implementation bias in how it relates to coupling, one of the most expensive things in software development. Deployment bias lies at the core of the lean bias, too.

Each instance of coupling is an instance of deployment. Deployment is simply implementing a software artefact or system. What is deployed is a bunch of classes, libraries, or utilities. Put together in a program, the perform something (hopefully) useful. Rephrasing, a vocabulary or a mini-language (or a language game) is deployed to make useful utterances in a different language. (E.g. SQL statements are deployed to make it possible to say: "we have run out of stock of such and such item" or "the workers A, B, and C have accrued excessive amount of holidays".) The deployment almost by definition is a pragmatic step, and almost by definition, it is coupling: coupling elements of the vocabulary into sentences.

The deployment bias kicks in, when deployment (pragmatic step) is mixed in into the semantic design of vocabulary. Most of the time, it either results in garbled strange semantics or the programmers hide the points of coupling in the implementation details instead of starting with working from the clean semantic design.

The three mentioned biases are similar in their structure and consequences: designs crippled with excessive coupling, but have different underlying forces:


January 2018