lunes, 24 de junio de 2013

Los Pecados Capitales del Desarrollador - Avaricia




Hace quince días se habló de la soberbia, ahora es el turno de la avaricia, otro pecado o desviación a la que se puede enfrentar un desarrollador.

AVARICIA



















Avaricia se refiere al “Deseo por acaparar riquezas”. Ahora bien, hablemos de la empresa como el ente que permite la existencia de los proyectos a través de toda su infraestructura, su posición, su nombre, sus contactos, sus líderes…
Todo ello provoca de alguna forma que existan los proyectos. Entonces, ¿Cuáles serían las riquezas de un Proyecto de Software? Más aún ¿Cuáles las de una empresa que ejecuta Proyectos de Software?... Estoy seguro que ya lo adivinaron, conceptualicémoslo: ubiquemos el término “Mano de Obra”,  que en una Maquiladora será la Sangre que permite que todo el organismo funcione, la mano del obrero que hace las pequeñas partes que van generando un Todo, un producto terminado. Sin “Mano de Obra” no puede existir la “Obra”; la mayoría somos ingenieros, otros técnicos, algunos licenciados, en la escuela no hicimos “Manualidades”. Todas las enseñanzas, todo el conocimiento, todas las tareas, nos exigían un área específica de habilidades: analizar, pensar, utilizar y resolver; es decir, utilizar nuestros recursos y capacidades mentales. Entonces la base de nuestra empresa de software se llamará “Mente de Obra” y sus riquezas serán todas aquellas ideas y procesamientos mentales que se materializaron o más bien “virtualizaron” en algún software. Si quieren analizar más a fondo el concepto de “Mente de Obra”, le pueden preguntar a su buscador favorito.

Es así que las riquezas de un proyecto pertenecen en realidad a la empresa. Estas riquezas están conformadas por los algoritmos codificados, los análisis documentados, los diseños diagramados, las soluciones encontradas, y todo aquello que se genera en la mente de los técnicos que ejecutan el proyecto. Es el trabajo generado de nuestra creatividad, de nuestro conocimiento, de nuestra investigación, de nuestra capacidad y de nuestra experiencia. Pero si todo es nuestro, si todo es mío: “¿por qué compartirlo?”, si es mío, si fue mi mente quien lo resolvió, quien lo produjo, “¿por qué se lo doy a la empresa?”, es más “¿qué hizo la empresa, me pagó?” Mi algoritmo equivale a una riqueza mucho mayor a lo que me pagó, “¿o no?”. “Es mío, es…es, Mi Precioso”. “Es mío y no lo compartiré con nadie, no le pondré comentarios al código y la parte que es más valiosa todavía, la meteré en un pre-compilado y sólo yo sabré como utilizarla, siiiii”. Si algo como lo anterior ha pasado por tu mente, deberás comprender que estás en un error y que necesitas proceder con mucha Generosidad como virtud, para compartir lo que consideras tuyo.

Considera en primer lugar que tu algoritmo no hubiera existido sin el reto que se presentó; reto que atiende alguna necesidad específica de un proyecto; proyecto que consiguió la empresa con algún cliente; cliente que decidió dar el proyecto a la empresa por la experiencia que ésta posee, por sus referencias, por su metodología. Fue entonces la empresa quien te permitió fabricar esa riqueza. Pero vamos matando la ilusión por completo, te puedo asegurar que una buena parte de tu algoritmo lo sacaste de “Internet”, no digo que lo copiaste, sólo te ayudaste un poco, otra parte se generó utilizando algún Framework, y como estoy seguro que no desarrollas en código máquina, tuviste que utilizar algún lenguaje de alto nivel que lo facilita todo. Así que tu riqueza, tú “Precioso” está fabricado con las riquezas de otros que sí supieron compartir, así pues, tu “Mente de Obra” debe aportar lo necesario para producir el proyecto. Regresando a la Analogía, pensar que un código es nuestro porque salió de nuestra “Mente”, es como si un obrero de una maquiladora pensara que un producto es de él porque salió de sus “Manos”, cuando en ambos casos, la materia prima fue proporcionada por la empresa y el ensamble se hizo con las herramientas propiedad de la misma empresa.

Algunos problemas que la avaricia por “nuestros” productos de trabajo, puede generarle a un proyecto serían:

  • Problemas de Mantenimiento: Si una persona no fabricó su código con la intención de que cualquier otro pueda entenderlo y modificarlo, el mantenimiento al código será imposible. 
  • Dependencia de Recursos: Si un recurso codifica para sí mismo, todo el proyecto dependerá de su participación y una falla de cualquier tipo se propagará a todo el proyecto sin poder evitarlo (retrasos, defectos, etc.). 
  • Soluciones Olvidadas: Una solución fabricada con avaricia funcionará una vez en determinado proyecto y nunca más se utilizará.

En conclusión, seamos Generosos con la Empresa que nos permite mejorar como desarrolladores, ofrezcamos soluciones integrales, bien documentadas y utilicemos los lineamientos establecidos para que cualquier otro desarrollador de la empresa (y que por tanto trabaja bajo estos lineamientos), pueda dar mantenimiento o continuidad a nuestra codificación, no importa que tan “buenos” seamos respecto a los demás o que tantas “riquezas” podamos fabricar, si nos enfermamos u ocurre cualquier siniestro, el proyecto se detendrá si actuamos con Avaricia en nuestra codificación.

Este fue el segundo pecado capital, faltan otros cinco, espera la próxima publicación dentro de 15 días. ¡Hasta la próxima!
  

 Armando Olmos
 Director de Producción
 Dawcons





No hay comentarios:

Publicar un comentario