One of my goals in life is constant self-improvement. While it wasn’t always the case, over time I’ve realised that I get immense joy from getting better at whatever is thrown at me.



While you might say that that is the case for most people, the truth is that while everyone feels joy when they get better at something, be that through honing their career based skills, their fitness goals or something else, it’s usually not their primary goal per se. Instead, it’s the by-product of other goals, perhaps trying to get a promotion to earn more money or having a better physique for summer and so on.

I, on the other hand, enjoy self-improvement for the sake of self-improvement. If I had unlimited time, I would spend it on becoming the best I could be at everything. This might be through accumulating knowledge in all subjects, being the #1 tennis player or whatever you can think of.

In any case, being a part of an agile development team at a software company, I’ve started thinking about adopting the same techniques to my own self-development. Sprints, retrospectives, KPI driven development, etc are all staples of an agile methodology, allowing products to rapidly get better over time.



If you think of yourself as a product, it doesn’t make sense for you to stay stagnant or even deteriorate over time. Instead according to this approach you would want to grow, get more features and scale over time.

This thinking coincided with me recently reading Hooked: How to Build Habit-Forming Products as well as having conversations with one of my friends who is similar in my thinking of self-development. He then shared with me a blog post about a Keystone Habit Method by Dr. Cameron Sepah.

After reading through it, I realised that my approach to self-development was missing a crucial part: reviewing my progress. Usually, I would always read a book or two on something I just got interested in, do some research and then at some point, get distracted by another topic that I wanted to get better at.

The worst thing about it is not having any data afterwards.



Did I get better? Could I have gotten better if I did something differently? When and how do I come back to this topic to continue improving? And another 100 such questions similarly devoid of answers.

In software development you’d have retrospectives exactly for that reason — identifying what was good or not and how can the team address problems that might come up in the future.