Monday, August 27, 2018

The rule of law

There are a few laws and principles of economics, psychology, etc. that have strong applicability to Software Development. Here are the ones I find most interesting.

  • Goodhart’s law – “when a measure becomes a target, it ceases to be a good measure. It will be the inclination, and, in fact, may be in people’s best interest for them to game the system by changing their behavior in such a way as to favorably adjust the measure in order to achieve the target”
  • The Hawthorne effect – “The researchers were surprised to find that the productivity of the more highly illuminated workers increased much more than that of the control group…their productivity even improved when the lights were dimmed again. By the time everything had been returned to the way it was before the changes had begun, productivity at the factory was at its highest level”
  • Jevons paradox – “occurs when technological progress increases the efficiency with which a resource is used (reducing the amount necessary for any one use), but the rate of consumption of that resource rises because of increasing demand.”
  • Parkinson's Law – “It is a commonplace observation that work expands so as to fill the time available for its completion”
  • Campbell's law – “The more any quantitative social indicator is used for social decision-making, the more subject it will be to corruption pressures and the more apt it will be to distort and corrupt the social processes it is intended to monitor”
  • Principle Of Least Effort – “is the tendency for people to choose the easiest path to a goal”
  • Pareto Principle – “specifies that 80 percent of consequences come from 20 percent of the causes, or an unequal relationship between inputs and outputs”
  • Cunningham's Law – “the best way to get the right answer on the internet is not to ask a question; it's to post the wrong answer”
  • Planning fallacy – “in which predictions about how much time will be needed to complete a future task display an optimism bias and underestimate the time needed”
  • Gall’s law – “A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system”

RIF Notes #48

“In the software profession, it is common to hear advice like: “only hire the best and let them figure it out.” This sentiment is nearly as misguided as command-and-control and antithetical to Lean thinking. “Hire the best” is an elitist and ultimately lazy management philosophy. Comically, that attitude is often accompanied by an unwillingness to pay top dollar for such talent. But even if you could hire such a team, consider that a championship athletic team will almost always defeat an all-star team, because the quality of the relationships between qualified players is usually more important than the individual performances” – Corey Ladas