sábado, 6 de dezembro de 2008

Rotten Roots

I have to agree with Jeff Atwood when he says that, in his opinion, software development is like tending a garden.

It's spring here in Rio and in every spring, for the last 3 years, I have changed the soil of my bonsai and increased the amount of water I give them. But this year the weather has been quiet different, for the most part it's been raining a lot, with a vicious wind, very unlike Rio.

Without enough time to tender my plants, the excess of water took its tool while I lay unaware. After two months of overwatering, I finally realized that two of my plants, the ones that I had put in a more organic soil mix, had their leaves turning yellow and soft - this was a bad sign. In a desperate act, I tried to change the soil to a pure inorganic compost but, as I removed the old soil, I realized that the roots of both plants were already completely rotten.

Let's get back to software, Andy Hunt and Dave Thomas in their book The Pragmatic Programmer talk about Broken Windows and Martin Fowler in Refactoring tells us to be wary of Bad Smells. The yellow and soft leaves could be seen as Bad Smells, as Broken Windows. When I saw those Broken Windows I tried to fix them. But unfortunately I was too late.

It's the same in software development, you have to be looking for those Bad Smells all the time. You must fix the Broken Windows as soon as they appear or it could be too late.

As with my plants, there are always external factors that must be taken into account when developing a system. It could be a changed requirement or a lack of communication between the team or with a client or a thousand other things. The environment surrounding the software have a direct influence in the outcome of a project and it must be taken into account, every change must be studied so we can measure its impact.

A strong wind may brake a lot of windows.

Um comentário: