You know the old saying, “It’s not the act of doing something hard, it’s getting started.”? And once you get started it’s not that bad. I know that is true with me. If I have a task I need to do, like wash the car or mow the lawn or run on the treadmill, what I’ve found is that I sit there, sitting on the couch, not wanting to do it and just dreading it. But once I get myself up off the couch and go start doing it, it’s not that bad. I can get in the zone and get the flow going and be productive. It’s the getting started that’s the hard part.
I call this friction. How do you break through the friction and get momentum? This is what prevents quality in the craftsmanship of your engineering products. It’s the friction that stands in the way of doing the small tasks that need to be done to ensure quality. Things like writing unit tests, or updating the documentation, or updating your sprint tickets.
That’s why automation is such a great way to improve quality. Let’s say there are some system and integration tests that need to be run against a code repository every time it’s committed. If this is something that has to be done manually, then that’s just that little bit of friction. The friction prevents developers from going and doing it, because that’s not the “fun stuff”. If the boring and tedious stuff can be automated you’ve now just eliminated that friction. Those integration and deployment tests will now get done. It’s the same thing with documentation. When I discovered Doxygen (which will automatically build your API documentation based on your comments and method signatures) it was great! I had now just removed a tiny little bit of friction from having to author and maintain all that documentation.
So look around your team or organization. Where do you see those pieces of friction? Where do you see those tasks that nobody wants to do? Because nobody wants to get started on them and they’re just in the way, pulling them out of the flow of engineering and development. What can you do from an automation standpoint to eliminate those sources of friction and get those things done? That is the key to ensuring quality in your development efforts.