There is one recurring concept I am seeing constantly while developing software and I don’t know if such concept has a name. Because of that, I’m going to give it a tentative name: Complexity Dimensions.

Although I’ve been conscious about this concept for approximately 6 months, I still don’t know exactly how to describe it. So, instead of trying to find a generic definition, I’m going to give some examples. Hopefully these examples will help me and you find a correct definition and/or the proper name for it.

It is very related to the transformation priority premise and the quote: As the tests get more specific, the code gets more generic.

The examples will not be short to go over. To make them more enjoyable, I’m going to do a series of recorded Katas. The first example is going to be the FizzBuzz kata:

FizzBuzz Kata from Mateu Adsuara on Vimeo.

In the next part, I’ll try to describe what I mean by Complexity Dimensions inside this performance.