martes, 24 de febrero de 2009

¿Cuanto cuesta tener un "héroe"?

En una empresa “inmadura” donde trabajaba hace ya algunos años, compartíamos proyectos (y otras calamidades) con el “héroe”, aquel amigo quien jugaba el rol de “bombero apagando fuegos”. Cuando un proyecto iba mal, el líder era el primero en pedirles a los directores la presencia del “héroe” para recuperar lo perdido, a veces con éxito y a veces imposible.

Reinaba la paz y la felicidad en aquellos proyectos rescatados, hasta que llegaba el momento en que el equipo debía hacer la documentación para la entrega y se daba cuenta que el código estaba “hecho  con las patas” (sic). 

Cuando leías el código fuente del “héroe” podías encontrar nombres de variables que iban desde animales hasta objetos, tales como:

Dim goma as Integer

Dim goma2 as String

Además líneas de código sin identar, varias instrucciones en una sola línea, etc, etc. El costo de "maquillar" sus "apagones" eran al final del proyecto tan costosos como si lo hubiera hecho un programador novato.

Algunas veces un "héroe" puede incrementar el costo del proyecto silenciosamente y alguien al final lo termina pagando.

jueves, 19 de febrero de 2009

De árboles y PSP

Cuando estaba en la preparatoria hace mas de 20 años, hacía mis prácticas de programación en terminales de una Digital PDP-11 que no tenian monitor, todo el "output" lo hacía a través de impresión en papel. Chistosamente capturabas el comando "CLS" y brincaba una hoja en blanco.

Al final de la clase, salías con 3 o 4 kilos de papel, del cual sólo 2 hojas era tu programa y lo demás era candidato para irse al boiler, a la jaula de tu mascota o al periodiquero.

Había hojas que sólo se imprimían indicando que te faltaba una coma, un paréntesis ó que no habías declarado una variable, entre otros defectos.


El Personal Software Process es un marco de trabajo que te ayuda a hacer componentes de Software de manera disciplinada, con fases que van desde planear qué y cómo lo vas a hacer hasta tu compromiso personal con tu mejora contínua. Para nuestro caso, hay una fase donde revisas tu código antes de compilar.

Si tan sólo PSP hubiera nacido antes, muchos árboles se hubieran salvado.

miércoles, 18 de febrero de 2009

Técnica salvaje de estimación

Esta semana leí un post en un blog que habla sobre una técnica de estimación que seguramente se sigue usando, sobre todo en situaciones donde algún líder de proyecto novato o desesperado (o amenazado!) tiene que dar aproximados del esfuerzo necesario en la elaboración de requerimientos de parte de su equipo.


Esta técnica conocida como Wild Guesses o "suposiciones aventuradas" (por intentar darle una traducción al español) trata de preguntarle a tu gurú de confianza "como cuanto le calculas?" esperando que te responda personas y tiempo requeridos.


Me acuerdo de aquellos tiempos cuando el jefe se acercaba y te lo preguntaba, y en un gesto de amabilidad y reprocidad por el halago (de reconocerte como experto) le contestabas "pues como 2 personas 3 meses", frase que después se volvería entre cliché y estándar para responder a esas situaciones.


Sin darte cuenta estabas iniciando tu sentencia de muerte, ya que después no era ni el número de personas ni el tiempo suficiente, y como siempre hay un culpable en las empresas inmaduras (o "hechas un desmadre" por intentar darle una traducción al mexicano), pues el candidato a la hoguera era quien dió la estimación.


Desde entonces uno aprende a no dar ese tipo de respuestas sin exigir el tiempo necesario para realizar una estimación formal, documentada, sustentada,con varios colegas, como debe de ser, respondiendo "no sé" cuando ya te rompen la paciencia de tanto "bueno, pero como cuanto le echas?".


De vuelta al blog que leí, mi sugerencia fué que si se llega al grado extremo de tener que hacer una estimación así, se haga aplicando Wide-Band Delphi: preguntale por lo menos a 3 y calcula una media. El autor del post me respondió: "mejor solo uno por que no distraigo a varios del equipo". Pero sigue siendo demasiado riesgoso.


Tal vez que los distraigas 15 minutos te pueden salvar de la hoguera.