After have participated in my 3rd workshop with Christopher Avery on Personal responsibility I started realising how powerful this could be if we could apply this way of looking at, and dealing with, technical problems more. In case you are not familiar with the process can you read about it or watch a short introduction video on it to get the basic gist of it.
How often do we encouter technical problems: quality issues, bugs, breaking builds, failing tests or something along those lines and we refuse to acknowledge their existence. How stubborn can we be at not allowing the possibility of this problem to exist in our private reality?
Once we acknowledge that a problem exists we look for a person or group of people to blame. It’s the user’s fault, they are stupid. It’s the tester’s fault, why would you want to do that while testing? It’s another teammember’s fault because they broke it, didn’t get it, are not smart enough – let’s find that git blame!
Ok ok, we know git blame is not very effective and nice. So it has got to be the fact that the staging environment is different from the production environment. Or it has to be the traffic this morning that was so bad that I got cranky and wrote bad code. Or we are working in an environment where people outside our team don’t seem to care, so why should I?
Oh shit, I have a stake in this problem. I at least helped create this. I always do these shitty things. I put on a big mouth about clean code but I never really do it. I suck at life euh development. I am an imposter, I am stupid. I shouldn’t even be allowed near a computer anymore.
Ok, everyone around me is so angry, I will do exactly as they tell me from now on. Write automated tests? I’ll do that for everything. Document all cases on confluence, I’ll do that (I hate it but I have no choice, I don’t want them to get angry again). There will always be these freaky bugs because the different environments are too different and there’s nothing I can do to change that – I already asked once and they didn’t do it. This is just the way it works around here, there’s no point in trying to change that.
I created, chose or attracted this problem. Let’s have a look at what’s wrong. What choices do I have to study this? What could I do to fix this problem and prevent it from happening again? I could write a test for this bug so we capture the feedback if this would happen again. I could identify which difference between the environments is causing the instability. I could offer my help to the person who broke the build and fix it together. I could listen to my more testing focused teammember to better understand their reasoning, this will enrich my overall development insights.
Everything we do is a choice. If we become more aware of the mental state we are in when facing problems and we have the intent of living powerfully with freedom of choice, it is a matter of practising our ability to confront – to face ourselves. And the more we practice this, the more effective I will be, our team will be and our services will be.
What do you think would happen if we would practice personal responsibility more often? Leave your thoughts in the comments below.