Fear leads to suffering

I've seen many teams paralized by fear when it comes to improving their software delivery practices.

Are you afraid of testing in production?

Or maybe letting a junior developer deploy?

A wise muppet once said:

Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering.

While the context was entirely different, and I’m not sure how often hate truly describes the experience of software development (well, unless you’re still using PHP4… sorry, mate!), I think it’s very true that fear leads ultimately to suffering.

I’ve seen many companies, teams, and individuals, paralized by fear of the unknown when it comes to improving their software delivery practices. “What if a bug causes production to crash?” “What if that junior causes an embarassing error?”

Many of these types of concerns are justified, and should not be ignored. But they also should not drive our thinking. I’ve far too often seen short-sighted fear-based thinking dictate harmful policies that lead to… suffering.

“A dev pushed a bug to production, so we now require manual QA for every change.”

What’s worse, I often get this type of push back from the very companies who have hired me to help them remove the bad practices!

Next time you’re faced with a fearful situation like this, consider: The knee-jerk reaction is often the wrong one. The software development industry has have tens or hundreds of thousands of teams building software. Many of them have faced the exact same fear as you. And some of them have found a solution that doesn’t lead to suffering. Do you and your team a favor, and take the time to think it through, and look for examples to learn from. And reach out to me if you’re stuck.

Share this

Related Content

Are you doing CI/CD?

It's not continuous deployment if you aren't deploying... continuously.

Are code freezes ever a good idea?

I found a tool to make code freezes easier. Ick. But could it ever be useful?

How my web site mirrors software delivery

Several software delivery principles are widely applicable, beyond the strict definition of "software".