Wow, that was longer than I realized.
When it comes to forming habits, they say (whoever “they” are) that it takes about a month of consistency to form a habit. If true, then the corollary is that it probably only takes about a month of NOT doing something to lose the habit (in reality it is probably way less than a month). Once I skipped a couple of weeks of not posting anything on this blog, then the concepts I frequently espouse of friction and attention to detail really prevented me from getting back in the habit.
So what was it that caused me to not post for a few weeks in the first place? I could make the usual excuses of “Too busy” or “Too tired” but the real root cause answer is, there is no repercussion for me to not post. This blog is not monetized, I don’t have a regular update schedule, and there’s no one keeping me accountable.
So think about that when it comes to your software or engineering projects. You can set up business rules like “don’t merge a pull request until there’s been a peer review” or “don’t deploy until there’s a clean pipeline run”, but if this is just an administrative control with no consequences, invariably there will be a time when it gets skipped (“we had to deliver under a deadline!”) and thus begins your slip into falling out of that habit. And what this means is you have to create guardrails that are not just reliant on someone’s good intentions. Even something as simple as creating an automated weekly or monthly report that shows all of the merged pull requests, and shows which ones did NOT have a peer review, might be adequate; publicly displaying the data on where people violated the process in front of leadership is usually a pretty good deterrent.