Yesterday I mowed the lawn because I felt had to. Our neighbours lawn company had taken care of their lawn and my wife was, um, re-enforcing her desire to have me get the yard-work done.
Since I’m on ‘vacation’ I wasn’t particularly motivated to get it done, but obligation was calling so I caved even though I would have much rather done just about anything else.
It was hot, I was tired and not motivated and ended up doing a really crappy job. I didn’t do the trimming or weeding and took shortcuts to get it done as quick as possible and as a result, I now have some yardwork-debt. Oh, there’s a point…wait for it!I generally enjoy doing yard-work. There’s something about the accomplishment of getting it done and seeing a nicely manicured yard that feels pretty good. Sometimes people walk by our place and I hear nice comments about how great the yard looks. It may sound nuts, but it feels pretty good.
The shortcuts I took yesterday have made sure I have extra work to do next time. The grass around the edges will be higher and will take longer to trim, there will be more weeds in the garden so it’ll take more time to pull them out. Maybe that’s an extra 30 minutes or so next time around but the more serious effect is how bad I feel when I leave the house and see the half-assed job I did.
Who cares, it’s just the lawn right?
Obligation can yield the exact opposite results that it is designed to get. I felt ‘obligated’ to do something I had to do, but didn’t want to do. I had a choice. Do it right or don’t do it. I chose to do it wrong. I chose to not communicate with my wife and tell her I knew I’d do a crappy job because I was hot and tired. I chose to not defer the task until later in the day.
So how does this relate to Agile? Well, I learned something. I learned that next time I feel obligated to do this, I’ll take an extra 5 or 10 minutes before I start to clear my head and remember how crappy I felt after doing a half-assed job and then make my choice in a responsible way.
Responsibility and discipline are the magical ingredients for being successful with Agile. All the process, metaphors and skills don’t matter if responsibility and discipline are missing from recipe. When your team has improvements that come out of the retrospective, it takes responsibility and discipline to follow through with them. They aren’t going to magically happen and your manager isn’t going to force you to do them.
Responsibility and discipline are the magical ingredients that make a difference between writing good code and crappy code.
Responsibility and disciplines are the magical ingredients that make a difference between building the right thing and building the thing we “have to” build.
What I personally find useful to be responsible and disciplined, is to simply take 30 seconds to re-boot my brain when faced with obligation. I literally shut my eyes, take 3 deep breathes and say to myself: “what do you want to do? You know ‘it has to get done’, take an extra couple of minutes and sort out your thoughts“. While I’m doing the thing I chose to do (even when starting with feeling obligated to do it), I remind myself when feeling the need to take shortcuts: “Remember, you chose to do this. Do it right.”
It’s quite possible I do that because I’m an introvert and I think mentally preparing yourself can go a long way towards doing the right thing, not the thing you feel obligated to do.