Normalised Deviance
1 Mar 2026
Normalised deviance is a term coined by sociologist Diane Vaughan in her book "The Challenger Launch Decision" to describe the phenomenon where people become accustomed to deviant behaviour and start to see it as normal. This can lead to a culture of complacency and a lack of accountability, which can have disastrous consequences. While usually applied to the field of aviation, I think this concept is ever present within software development and it's organisations, and it's important to recognise it and take steps to avoid it.
What is Normalised Deviance?
Normalised deviance occurs when people become so accustomed to deviant behaviour that they start to see it as normal. Deviance builds up and becomes so ingrained in the culture that people no longer question it.
Some examples I have seen over the years include:
- Production, staging and development environments all connecting to the same production CRM instance.
- Developers manually re-running failed jobs in a queue each day
- Commenting out code in order to make your local environment work
How to Avoid Normalised Deviance
New Starters
New starters are a great opportunity to avoid normalised deviance. They bring a fresh perspective and can often spot things that others have become blind to. It's important to encourage new starters to ask questions and challenge the status quo, and to create an environment where they feel safe to do so.
If a new starter even gives a hint of discomfort at the mention of something, take note and investigate further. It may be an indictaion of a problem going unnoticed.
Broken Windows Theory
Ever heard someone say, "Oh, don't worry, that only happens in staging"? This is a classic example of the broken windows theory, coined by criminologists George Kelling and James Wilson in 1982. The idea is that if you allow people to get away with petty crimes such as graffiti, litter and broken windows, it creates an environment where people are more likely to commit more serious crimes. In the same way, if you allow small inconvenience to linger and allow people to get away with small things going wrong, it creates a culture where people are more likely to allow bigger things to go wrong.
It's important to address small issues as soon as they arise, and to create a culture where people feel comfortable raising concerns and reporting issues. This way you can prevent small issues from becoming big problems. Fixing small issues almost always pays for itself in the long run. That staging data you spend 10 minutes fixing saves the next person 2 hours of debugging and investigation. The README update you make to clarify a process saves the next new hire a day of confusion and asking questions.
Always be fixing
Whenever you go to work on something, always be looking for ways to improve it. Ask yourself, "If we were designing this system today, would we accept this flaw?" If the answer is no, then take some time to make it better. This doesn't mean you need to spend hours on it, but even a small improvement can make a big difference in the long run. Write a unit test. Add a comment. Turn a one liner into a sensibly named variable. Break up a large function into smaller ones. Each small improvement adds up over time, and the more people that adopt this mindset creates a snowball effect.
Conclusion
Normalised deviance is a dangerous phenomenon that can lead to a culture of complacency and a lack of accountability. A negative feedback loop can be created where people become so accustomed to deviant that even the most obvious and serious issues can be overlooked. By recognising the signs of normalised deviance and taking steps to avoid it, we can create a culture of accountability and continuous improvement, which can lead to better outcomes for everyone involved.
Loading...