The phenomenon of flickering tests, or tests that randomly fail, in software development teams illustrates how normalization of deviance can affect a team, though with much less dire consequences. Developers build an automated test suite and run it on every code change. They observe that a few of the tests succeed most of the time but fail at seemingly random moments. The natural conclusion is that the tests are erroneous—they “flicker” occasionally due to some testing anomaly—and can be rerun if they fail. If they succeed after a few tries, a release can go ahead. As many of us know too well,
...more