Daily Archives: 9 September, 2011

[# ALM] Painting walls, changing diapers and technical debt

Push it Somewhere Else Patrick - ¿Pero desde cuando esta esto asi? no me lo digan ... desde el comienzo :SHi,

When I was little my father was responsible for transforming a small cottage 2 bedrooms in a plant to a much more habitable House where what not missing were the rooms, living rooms and musical instruments. During the years of work, they were going many masons who helped shape the new House my dad. One that I won’t forget never was “Don Justo”;a person with an incredible heart and a desire to work that hopefully today I found on the street. And even though was with us a couple of years, something that I never knew of Don Justo, was that height had fallen head in childhood or lacked the small oxygen.

I remember one afternoon when I came home and saw my dad sitting with Don Justo and another Mason, explaining why the bad choice in his work. It is to put tiles on the floor of a room, as Don Justo had this bright idea:

-Hey mate, that we delay in finishing this work, how about if we start to put one on each side tiles? and then we just settled which we find ourselves in the middle. Open-mouthed smile

Does not lack that tell them that when my dad came and saw that they were about to close a strip on the floor of 5 cms, with cut tiles in the middle of a room; It almost gives you a heart attack. I remember that the talk that I gave to explain the reason for his mistake, sounded phrases such as “aesthetically bad“, “take out the entire apartment and put him back” and “I do not pay them anymore“. But hey, the next day was already everything in order and properly set floor.

Again, with another partner that nor do I remember his name, to Don Justo touching paint a wall of almost 100 meters.This time in his eagerness to finish quickly, you dropped his companion following brilliance:

-Hey mate, I’d say Let’s start one at each end of the wall to paint it and we are in the Middle, but it seems that the pattern these ideas you dislike. We better do it backwards, started the 2 in the Center and we are painting one on each side until we finish the wall. Open-mouthed smile

If you think carefully about the idea is great. My dad when he arrived saw as they had started, had painted about 20 meters from the wall and they gave the OK. Furthermore as this was a Monday, my dad thought that perhaps before the weekend would the wall be ready. On Tuesday when we got home, we saw that it had advanced the painting, but not so on the first day; “then perhaps there has been a problem thought my dad“. But when only Wednesday had painted about 40 meters, my dad asked Don Justo if there was any problem. The response was damning; “it is that we put the jar/can of paint to the environment and every day we have further.” This time in the lesson of my dad sounded phrases like “I shit in to…“, “and if you are using 2 jars, and other things that small could not repeat. But we are that with a bit of desire, for Friday was the painted wall and all so happy.

Today 20 years later, I think that Don Justo was an adelantadoa his time. It was a very sensitive person with details, did his job very well, but when he tried to improve the way in which worked without thinking in detail the consequences, because generally it failed it and eventually ended up paying a higher price than the original.

In computing this is what is known as “Technical Debt“. Many times, by the pressure of a tight delivery or the rush of the day day, we are forced to spend long practices, solid structures of design and other elements that in the long run will they bring us problems. The problem with these “debts” that we leave in our code is that each day that passes they become “more expensive”; that is more difficult to solve.

Consider a practical example, that if you are a parent you will understand right away and can if you are not a parent, since you so you imagine: “(c)ambiar diapers with poop is unpleasant“. This is nothing new, but doing so badly worn, can be the beginning of the decadence of the world as we know it. He thinks that every day you change about 3 diapers with a delicate chocolate cream, which is popularly known as “baby shit“. Because these 3 diapers go to a special waste basket and every day, at night you forth “remove garbage”. In my case, this is to take the bag with 3 diapers and bring it to a garbage container specially designed for the “chocolate cream” (then not be as it is recycled, is going to Valencia and I by doubts have not made more orange juice).

That happens if one day, you’re a little tired and think that tomorrow you will get all the trash Board; so that you are with 6 diapers to download. The next day you are a little tired and think; “morning do, total 9 diapers to 150 grams for diaper, is 1.35 KG“. You feel very accomplished to this magic formula, do a bit of numbers and you get to the conclusion that your garbage bags cannot withstand up to 5 kg. You’re a prudent person so you think:

10 days > > 30 diapers > > 4.5 kg > > acceptable limit

And you save 45 minutes in total (5 minutes to drive out rubbish per day). You you are the best father in the world!

I tell you what is happening, the tenth day you’re with a bag full of diapers on the verge of bursting. Close the same, the shots of the handles and when you go out, it decides to biodegradarse and loose all of its contents in the rug/carpet in your House. That’s not all in your reflection natural stop things falling to the floor, you give a kick to the bag, thinking that you can a bit stop its fall and you realize a couple of things:

1. Diapers absorb the early days, but then run a boomerang effect; they returned all what they have absorbed.

2 Brown fits very well to the sofa and other furniture in your living room.

The image you have in mind now says you it all and I do not think that those 45 minutes that you’ve saved in 10 days, compensate travel to Dyer, the verbal rebuke of your wife, the face of scare the cat when he was sleeping so quiet on the couch and dropped the “chocolate cream” above, etc.

You understand now,

should why software have an excellent quality from the first day?

Greetings @ Home

The Bruno


Sources: http://en.wikipedia.org/wiki/Technical_debthttp://martinfowler.com/bliki/TechnicalDebt.html

[#ALM] Pintando muros, cambiando pañales y la deuda técnica

Push it Somewhere Else Patrick - ¿Pero desde cuando esta esto asi? no me lo digan ... desde el comienzo :SBuenas,

cuando yo era pequeño mi padre se encargó de transformar una pequeña casa de 2 habitaciones en una planta a una casa mucho más habitable donde lo que no faltaba eran las habitaciones, las salas de estar y los instrumentos musicales. Durante los años de la obra, fueron pasando muchos albañiles que ayudaron a mi papá a darle forma a la nueva casa. Uno que no voy a olvidar nunca era “Don Justo”; una persona con un corazón increíble y unas ganas de trabajar que ojalá encontrase yo hoy en la calle. Y si bien, estuvo con nosotros un par de años, algo que nunca supe de Don Justo, fué de que altura se había caido de cabeza en su niñez o si le había faltado el oxígeno de pequeño.

Recuerdo una tarde cuando llegué a casa y vi a mi papá sentado con Don Justo y otro albañil, explicándoles el porqué de la mala elección en su forma de trabajo. Resulta que para poner las baldosas en el piso de un cuarto, pues Don Justo tuvo esta brillante idea:

– Hey compañero, para que tardemos menos en terminar este trabajo, ¿qué te parece si empezamos a poner las baldosas uno en cada lado? y luego solo acomodamos las que nos encontremos en el medio. Open-mouthed smile

No hace falta que les comente que cuando llegó mi papá y vio que estaban a punto de cerrar una franja en el piso de 5 cms, con baldosas cortadas en el medio de una habitación; pues casi le da un infarto. Recuerdo que en la charla que les dió, para explicarles el porqué de su error, sonaron frases como “estéticamente mal”, “sacan todo el piso y lo ponen de nuevo” y “no les pago nunca más”. Pero bueno, al día siguiente ya estaba todo en orden y el piso bien puesto.

Otra vez, con otro compañero que tampoco me acuerdo su nombre, a Don Justo le tocaba pintar un muro de casi 100 metros. Esta vez en su afán de terminar rápido, le soltó a su compañero la siguiente brillantez:

– Hey compañero, te diría que comencemos uno en cada punta del muro para pintarlo y nos encontramos en el medio, pero parece que al patrón estas ideas no le gustan. Mejor lo hacemos al revés, comenzamos los 2 en el centro y vamos pintando uno hacia cada lado hasta que terminemos el muro. Open-mouthed smile

Si lo piensas detenidamente la idea es genial. Mi papá cuando llegó vió como habían comenzado, habían pintado cerca de 20 metros del muro y les dió el OK. Además como esto era un lunes, mi papá pensó que tal vez antes del fin de semana el muro estaría listo. El martes cuando llegamos a casa, vimos que había avanzado la pintura, pero no tanto como en el primer día; “pues tal vez haya habido un problema pensó mi papá”. Pero cuando el miércoles solo había pintado cerca de 40 metros, mi papá le preguntó a Don Justo si había algún problema. La respuesta fue demoledora; “es que pusimos el tarro/bote de pintura al medio y cada día nos queda más lejos”. Esta vez en la lección de mi papá sonaron frases como “me cago en to…”, “y si usan 2 tarros”, y otras que de pequeño no podía repetir. Pero vamos que con un poco de ganas, para el viernes estuvo el muro pintado y todos tan contentos.

Hoy 20 años después, pienso que Don Justo era un adelantadoa su época. Era una persona muy delicada con los detalles, hacía muy bien su trabajo, pero cuando intentaba mejorar la forma en la que trabajaba sin pensar en detalle las consecuencias, pues por lo general no lo conseguía y a la larga terminaba pagando un precio más alto que el original.

En la informática esto es lo que se conoce como “Technical Debt”. Muchas veces, por la presión de una entrega ajustada o por las prisas del día a día, nos vemos obligados a pasar de largo buenas prácticas, estructuras sólidas de diseño y otros elementos que a la larga nos traerán problemas. El problema con estas “deudas” que dejamos en nuestro código es que cada día que pasa se vuelven “más caras”; es decir más dificil de solucionar.

Veamos un ejemplo práctico, que si eres padre lo entenderás enseguida y si no eres padre, pues te lo imaginarás: “Cambiar los pañales con caca es desagradable”. Esto no es nada nuevo, pero esta tarea mal llevada, puede ser el comienzo de la decadencia del mundo tal como lo conocemos. Piensa que cada día, cambias unos 3 pañales con una delicada crema de chocolate, que popularmente se conoce como “mierda de bebé”. Pues esos 3 pañales van a un cesto de basura especial y todos los días, por la noche te encargas de “sacar la basura”. En mi caso, esto es tomar la bolsita con los 3 pañales y llevarla a un contenedor de basura especialmente pensado para la “crema de chocolate” (luego no se como se recicla eso, se que van para Valencia y yo por las dudas no tomo más zumo de naranja).

Que pasa si un día, te encuentras un poco cansado y piensas que mañana sacarás toda la basura junta; pues que te encuentras con 6 pañales para bajar. El día siguiente también estas un poco cansado y piensas; “mañana lo hago, total 9 pañales a 150 gramos por pañal, es 1,35 KG”. Como te sientes muy realizado por dar con esta formula mágica, haces un poco de números y llegas a la conclusión de que tus bolsas de basura pueden aguantar hasta 5 Kgs de peso. Eres una persona prudente asi que piensas:

10 días >> 30 pañales >> 4,5 Kgs >> límite aceptable

Y te ahorras 45 minutos en total (5 minutos de sacar la basura por día). ¡¡¡ Eres el mejor padre del mundo !!!

Yo te cuento lo que sucede, el décimo día te encuentras con una bolsa llena de pañales a punto de reventar. Cierras la misma, la tomas de las asas y cuando te diriges hacia afuera, la misma decide biodegradarse y suelta todo su contenido en la alfombra/moqueta de tu casa. Eso no es todo, en tu reflejo natural de detener las cosas que se caen al piso, le das una patada a la bolsa, pensando que así puedes detener un poco su caida y te das cuenta de un par de cosas:

1. Los pañales absorben los primeros días, pero luego ejecutan un efecto boomerang; devuelven todo lo que han absorvido.

2. El color marrón le queda muy bien al sofá y a otros muebles en su salón.

La imagen que tienes ahora en la mente te lo dice todo y no creo que esos 45 minutos que te has ahorrado en 10 días, compensen los viajes a la tintorería, la reprimenda verbal de tu mujer, la cara de susto del gato cuando estaba durmiendo tan tranquilo en el sofá y le cayó la “crema de chocolate” por encima, etc.

Entiendes ahora,

¿porqué el software tiene que tener una calidad excelente desde el primer día?

Saludos @ Home

El Bruno


Fuentes: http://en.wikipedia.org/wiki/Technical_debt, http://martinfowler.com/bliki/TechnicalDebt.html