Agile Table Tennis: How To Continually Improve Anything With Agile

Note: This blog was first published on my personal blog in 2015, and is now been reproduced here so some links may lead to the web archive.

For a very long time now table tennis has been my favourite sport, to the extent I (try to) play multiple times every week, and I’ve even recently purchased myself a table tennis robot – essentially a machine that will shoot balls at you so you can get in lots of extra practice.

When we were purchasing a meeting room table for our office I went out of my way to find one that was more or less the same dimensions as a table tennis table, just in case the occasion should arise that we could have a game here. In fact before we even got the new meeting room table (and some office bats) I played on a very small table with an old ball (which we have a lot of for assorted training exercises) using the back of my iPhone. Yes, I love table tennis that much.

Now of course, it’s one thing to love table tennis, but quite another to be any good at it, which is where Agile comes . Of course, one of the key concepts of Agile is continuous improvement, so I got to thinking, how can I improve my table tennis in a more Agile way? Read on to find out.

1. Focus: Decide which skills to focus on, prioritise, don’t do too much at once (aka Build and prioritise a backlog, add WIP limits)

Like with any skill, in table tennis there are a lot of things you could be focusing on at any point in time: topspin, backspin, forehand, backhand, stance, movement, aiming, serves… The list goes on. A quick search on Youtube (or Youku if you are in China) will return 50,000 different videos with more hundreds of skills you could try and learn. I particularly like the videos from PingSkills if anyone is interested.

Of course, when I first watched these videos I decided to try everything at once (big bang transformation anyone?) and of course the results were a little disastrous. When learning new skills WIP limits (work in progress limits, not doing too many things at one) are very important. Do too many things at once and it’ll take a long time to deliver value. I needed to optimise flow of skills to deliver more value in less time. Focusing on just one skill at a time was certainly a valuable lesson for me.

I realised is that prioritisation is very important as some skills matter a lot, some a little, and some not much at all. There is no point focusing on the lower value skills at the expenses of ignoring higher priority skills. Once I’ve (hopefully) mastered the higher value, higher priority skills, only then should I consider moving further down the priority order.

Once I came to this conclusion, I did what any good coach would do, and set about building myself a prioritised backlog. In order to do that though, I needed a prioritisation matrix (of course), so I thought about the things that I thought were most important in my table tennis game: ability to win points, and how often I play a particular shot type. What I ended up with was something like this:

Table tennis shots - prioritisation

I got to work thinking about an average game, and also came to include some non-functional requirements such as stance and strategy, and I had myself a nice prioritised backlog to work from. This was my starting point for figuring out how I should improve.

2. Develop standards (acceptance criteria) for each skill, deliver incrementally

Ok, now I had a list of all the skills I wanted to develop. The next question for me was what level I wanted to reach with each skill at each step. If I spent all my time trying to get my topspin loop to the same level as Ma Lin or Wang Hao (two of my favourite players) I’d spend months or years without making much progress. I need to think of the MVTT, or minimum viable table tennis, that would enable me to make enough improvements that I could achieve better results without spending years of my life. Pareto prioritisation (the 80/20 rules) was very important here – figuring out what changes I could make that could deliver large value in less time.

Pareto Prioritisation

MVTT was the first step, but then I had to think about future releases (which thankfully I could continuously integrate and get fast feedback on), and how I could continuously learn and improve over time. I decided what I needed to do was think of acceptance criteria for each skill, so I could work on different skills, getting them to a certain level before moving on. This gave me a lot more variety of skills to try and improve and meant I could gain more improvements (and more variety of improvements) in a shorter period of time. I’ve included an example below:

Acceptance Criteria

This meant my goals were quantifiable and I could safely say whether or not I’d met them. Having a robot also meant I could be quite specific with my criteria (for example practicing certain speeds, certain table positions and certain spin). Rather than focusing on massive (and slow) change, I could focus on incremental improvements which would quickly lend more quality to my game. I also invested some time in refactoring some of my old shots – tidying them up and adding some more maintainability and reliability. Although incremental delivery has a lot of benefits (fast delivery of value, less variability…) there was one key benefit that was very important for my table tennis game: Fast Feedback.

3. Fast feedback: Test and Measure

Practicing is all well and good, but it’s only when you get into the heat of battle that you know if you’ve really delivered value. Luckily I already had short release cycles – I play with the Shanghai table tennis group at least once a week – so I could quickly ship the new skills and see how I was going. I have some rough idea anecdotally of how I am progressing, but the other half of this is trying to quantify what the changes actually mean. If I’m not delivering value then obviously something needs to change.

Shanghai table tennis group

For this I use either the Pingskills Vault (yes, there is an app for that!) or just record a note in Evernote with scores and observations (what’s going well or not so well – what shots do I frequently miss, and why do I miss them – forehand backspin is a pain!) so I know what’s working and what’s not. I do this as part of practice as well, I generally get the robot to fire 10 balls at a time, so it’s pretty easy to judge what percentage I’m getting right.

Doing work well is one thing, but if aren’t doing the right work, it doesn’t matter how good a job you are doing. Hence, making sure you are focusing on the right work is very important. For this I try and keep track of winning shots, serves and strategies. There is a lot of room for innovation in these areas, so keeping track is really important. The end goal is delivering value, and I know I shouldn’t forget that.

4. Inspect and adapt

Keeping track of all these measurements is very important, but if I keep track without implementing changes I’m not really achieving much (take note for all of those teams with failed retrospectives). Key here is coming up with and implementing actions on how I can do better. What’s more this shouldn’t be a one time only change, but something that happens on a regular basis. So what do I do? I have a regular weekly review session where I try and determine 1-2 actions to take across the next week that are going to help me improve my skills.

Furthermore there are other ways I can improve my learning as well. As I become more experienced I’m discovering more methods that I think help me learn more effectively and efficiently. I can track this as well because I also measure the flow of new skills, and these learning improvements are a big impact area that optimise flow. The other thing I do to optimise flow is try and monitor my WIP limits – too many things and flow is SLOW (something I know a lot about coping with Chinese traffic), to few and progress isn’t as fast as you’d like it to be. Measuring and managing flow is pretty essential.

Chinese traffic

As I mentioned, these optimisations should happen on an ongoing basis. Feedback (in my situation playing games and observing results + discussing with playing partners) is essential to achieving continuous improvement.

5. Be aware of the skill curve

Lastly there is one thing I think is very important to be aware of: whenever we make changes there is likely to be some period of turbulence as we adjust. This has been very true with my table tennis skills, and it’s something I’m very conscious of. Just because my change doesn’t have impact immediately doesn’t mean it won’t have impact. I know as I concentrate on new and different things there is more risk (in the short term) of making mistakes, but I know if I push forward through these hard times I will often, even mostly, end up with good results.

Below I’ve added a graph to demonstrate what this looks like for me. Some changes lead to a big drop short term but to small or large improvements long term. But if I don’t try I’ll always end up where I started – the dreaded plateau. That’s why measuring, learning and making changes is so essential for my table tennis – for anything really – because otherwise we simply won’t make progress. Change doesn’t fall into you lap, it’s something you have to consciously be aware of. Understanding the skill curve means you won’t give up the moment you experience some decline. Not understanding the change curve is why many people question the value of Agile. Be aware, continuously improve.

The Skill Curve

Future table tennis champion?

So after all this I’m still not an olympic level table tennis player (yet?), but I’m given hope by the 70 or 80 year old men at my local table tennis club who can beat me hands down. There is still hope. At the very least I can now quantify the value of my changes, I can see a clear pathway of what I am working towards, and I can quantifiably say that I am making progress. Not only that, I’m making progress on a continuous basis. If that isn’t a great achievement I don’t know what is. Watch this space for the NZ table tennis representative in the 2020 Olympics.






Leave a Reply

Your email address will not be published. Required fields are marked *