If I told you that I can help you live a longer, healthier life, and all it would take is around one minute every day, you’d probably do it right? You just need to know how? Anyone would want that, it’s a no brainier. You get 5-6 extra years of life. All you have to do is pay for it with around 2 weeks of work across your whole life.
The key? Flossing daily.
Maybe you’re already a flosser, but if so you’re in the minority. We all KNOW we should floss. It’s common knowledge, even common sense. Your dentist has been harassing you about this since you had enough teeth to floss.
So why don’t we?
Because information doesn’t change people, only action can.
Similarly, how can you have a programmer who writes buggy and non-performant code? Well, the answer probably isn’t knowledge. They likely already know that they should test their code, write good documentation, build to a spec, and all the other trappings of good software development, but chances are good that they take shortcuts and deliver plenty of bugs and underwhelming features.
Well, let me introduce you to the organization equivalent of personal habits: Culture.
Make a new habit
Organizational culture is a series of expectations on how you behave. They can be good or bad. I’ve worked with organizations whose culture was to get mad and blame people for making mistakes. Other organizations love spending a ton of money on luxuries to pamper their staff. Beer fridge and casual Fridays? All of these are culture. Usually these expectations are social or event-based, but if you really want them to take, you have to set up systems. Just like personal habits!
You want programmers to be careful about regressions? Then your culture should encourage them to verify that they didn’t break something else when they deploy their code. There are a few tools and systems you can set up to ensure this: automated testing and manual regression testing are the most common. Since your culture demands it, set up the process and ensure that everyone understands it, and it will become an organizational habit.
Your team didn’t need to know that it’s a good idea to make sure that they don’t break things. They probably already knew about automated testing. But there’s a difference between knowing about a healthy habit, and actually doing it.
Knowledge is not enough
It’s not enough to know that you ought to add automated testing, you have to change your environment and ensure that it’s part of your culture, your habits, and your systems. Gradually adding these good habits to your culture are the key to long-term professional software development that doesn’t overload and overwhelm.
Start with just one thing.