I love board games. I really enjoy strategic board games that aren’t much over two hours. More serious gamers would scoff at this and tell me that I am not really into strategy games if I don’t enjoy games over two hours, but nonetheless, this is me.
I beat a friend of mine at chess, best two out of three games. Despite coming into this experience having already loss one game to him, I was able to pull out two victories over his single. Technically we are tied overall, but in that sitting, I walked home with the victory.
What does this have anything to do with anything?
The personal reason that I write about this moment in my life is to not forget when I beat my friend at chess. He is not actually a chess master, but he is good, plays way more often than I do, and claims to have never lost to a human. The joy of winning filled my spirit so much, that I had to hold back my smiles that day so as to not appear too happy, so that others would not ask why I am smiling so big.
However, there is an indirect relationship between testing and playing a game like chess. Chess requires you to think of multiple different scenarios all at the same time. It requires you to know your opponent like knowing the users of your product. Chess requires you to think a few moves ahead, while determining the bad things that can happen because of that move.
Much like testing, chess requires you to think analytically and critically of the situation. It’s important that you analyze all the options, and when you make a mistake, you will end up feeling that hurt later down the road.
The moves of a particular piece in chess is also important. You must know what each piece does, how it moves, defends, and attacks. Similar to chess, testing software has moves that are necessary to make, in order to discover other avenues, other scenarios. Sometimes you have to sacrifice one piece in order to test another scenario.
Additionally, the pieces have innate value that are both relative to the situation, and preferential to the player, that can be directly related to positions at a software company. There are people on my team that have to march forward in certain ways to build and protect the authenticity of our software. Others have to jump around to get things to happen the way they want or need. Some might have the ability to move long distances and have great affect, but only in very particular ways, while yet another has the power to move nearly anywhere, in any direction. Much like the pieces of chess, these players are all valuable, and are required at different moments throughout the development process.
Playing any game like chess, can help make the mind more analytical. I am no chess master, and would still say my friend is better than I, at chess. But because of my analytical thought process, I was able to evaluate situations, and come to conclusions with my pieces; essentially testing the game before moving.
I may never play him again, because you’re only as good as your last game. But I will certainly revel in my victory until the next inevitable loss arrives.
And just in case he reads this, I also destroyed him at Othello one time after he described his current victorious streak. I may write about that sometime too.