Agile jiu-jitsu

Some time ago, I had a pretty cool conversation with my mate on the mat about different approaches to train jiu-jitsu. You can either make a plan and complete it piece by piece, adding new techniques to become a complete fighter who knows all about the art of BJJ, or you can go with the flow, creating small goals as you go. It reminds me a lot of the software development and agile vs waterfall debate.

As for the software waterfall, in some circumstances, when you do the same thing for the fifth time, and you know exactly what to expect, it could make sense. In real life, though, it most likely won’t be the case.

Life is inherently dynamic, so having an ambitious long-term goal is a good idea, but agility is what helps us achieve it or adjust it if it becomes unfeasible.

Back to BJJ, in my case, I know I won’t win any massive comps, so my goal is to be fit, confident, and part of the BJJ community, with the ultimate aim of becoming a black belt. I try to make my way to develop my game using an agile approach. I’ve already defined my strong points and know what works for me, so I try to become more natural in my fights. My game focuses on DLR guard and triangles from different angles, which I’ve made my specialty, but I also keep an eye out for other techniques that can help me improve.

BJJ fight is a very agile thing as well. Having a detailed plan for the roll might be okay at some level, but from my experience, it doesn’t work. I usually have in mind what I want to push towards, but you fight as your opponent lets you, so it is a very reactive process.

Although BJJ and programming appear to be very different, I believe the keys to success in both are surprisingly similar, and we can apply techniques from one to the other when viewed from an abstract level.