Product Crafter Emilio Carrión

Turn your software into a falla

Valencian style

Like every March in Valencia, my hometown, we celebrate a festivity called Las Fallas. It is no mystery to those who know us a little that Valencians love pyrotechnics and making things fly through the air, and the fallas are the greatest exponent of this wonderful festival of which we are participants.

Its history originates in the carpenters’ guild, which met every March 19 to celebrate their patron saint by burning all the wood scraps they had accumulated during the year and welcome spring. All the waste that took up space in the workshops and that did nothing but get in the way, incinerated in a beautiful pyre of fire. This tradition gradually evolved until it became what it is today and is considered an intangible cultural heritage of humanity.

And why am I telling you all this? Well, because this habit that we Valencians have for setting things on fire can help us in our day-to-day software development, who would have imagined it.

The cost of accumulating waste

Many times in software development things don’t go as expected. There are times when features that we have developed and brought to our users have not convinced them and we make the decision to go back.

The problem is that some of those times it gets a little complicated for us to undo the changes. Sometimes we leave parts of old functionalities or parts of our code that have ceased to be used across our project. Obsolete code that does nothing and is there and takes up space, both physically and mentally.

This code that seems harmless (totally, it is not used) grows little by little like the sawdust that accumulates in the corners of a carpentry shop. The problem comes when it has reached such a point that it turns against us.

Obsolete code can surprise at any time by becoming annoying in many ways. It can cause confusion as you may not be clear about which part of a feature is being used or not. It can be difficult to determine which of all the dependencies you have installed are really being used and which ones you can clean. And if a new teammate comes into the team, you have to give them a lot of context about what is used and what doesn’t. On more than one occasion I have found myself saying to a new person: “but don’t pay attention to this part, it is no longer used” and that causes confusion.

As Eduardo Ferro comments in some of his articles: software has a basal cost. A cost that grows with our project and that we have to pay for the mere fact of existing. And part of that cost is that obsolete code that you don’t use and the only thing it can do is annoy.

Therefore, I am ready to give you an essential tool that will help you manage this obsolete code and reduce the problems it may cause. I warn you that it is a very advanced and complex tool to understand, but with study and practice it can be mastered.

The Solution

Set it on fire. Put into flames everything that is not used to convert it into a pile of ashes as the carpenters did with their scraps.

I know that it may sound very sophisticated and that it seems like a measure that only a native Valencian can carry out, but nothing could be further from the truth, it is something that we can all do.

The rules are simple: every time you see code that isn’t used, you set it on fire. A method that is not invoked from anywhere? Use a lighter. A dependency that is not imported from anywhere? Tinder and flint. Constants that you don’t even remember what they were for? Prepare sausages that we are making a torrà for esmorzar.

Just like that, delete anything you find that isn’t used. Do you think you might use it in the future? You put it on fire just the same. If you need it later, you can revert the changes from version control, which is what you have it for.

By removing everything that is not used, we will be able to reduce the complexity of our software and the cognitive load to which we are subjected.

So I invite you to follow this practice in your developments and to come and see how we Valencians do it live every March 19 in Valencia.

TL; DR

Just as Valencians gather every year to burn the Fallas monuments, representing the purging of the old and unnecessary, software developers must also adopt a similar practice.

As our projects grow and evolve, outdated code quietly accumulates, becoming a cognitive burden and a source of unnecessary complexity. Like sawdust piling up in the corners of a woodworking shop, this useless code can end up backfiring on us, causing confusion, hindering maintenance, and hindering progress.

So, just as Valencians celebrate the arrival of spring with the burning of the Fallas, let’s apply this practice of “setting fire” to the obsolete code in our projects.