viernes, febrero 20, 2009

¿Que mata los equipos de desarrollo de Software?

Consolidar equipos de desarrollo de software es como construir software: es mas fácil describir que NO hacer, que identificar los "bienes" intangibles que hacen buenos equipos de desarrollo. Al menos, ya tenemos claro que la micro-administración es uno de los riesgos mas grandes que atentan contra el adecuado funcionamiento de un equipo de desarrollo.
Además de eso, DeMarco y Lister, en su libro Peopleware definen SIETE anti-patrones (patrones que no hay que seguir) que atentan contra los equipos de software. Así que si estas trabajando con un equipo de software, mas te vale que sepas cuales son:
  1. Administración Defensiva
  2. Burocracia
  3. Separación Física
  4. Fragmentar el tiempo de las personas
  5. Reducción de la calidad del producto
  6. Falsos tiempos de entrega
  7. Control en "Clicas"
Y me permito añadir una mas:
8. Dificultades Técnicas (Tecnologías desfasadas)

"PeopleWare, otro libro que hay que leer..."

Todas estos anti-patrones, promueven una actitud negativa en los individuos, y no les permiten consolidar equipos de desarrollo robustos, integrados y pro-activos, enfocados en desarrollar software y solucionar problemas juntos.

Esta bien presionar y exigir, pero imponer tiempos de entrega imaginarios, no trae ningún bien. Y las típicas frases como: "Lo quiero para ayer", tampoco ayudan mucho. Implementar estos anti-patrones en una empresa, es el mapa a seguir para evitar que los equipos de desarrollo trabajen eficientemente (y también evitan que se formen). Los anti-patrones, están básicamente para "proteger a la empresa", para evitar que los individuos contratados cometan errores. Y estas (las empresas) los aplican sin ni siquiera imaginar las repercusiones que tendrán en sus empleados.
Me parece que las empresas manejan un concepto a conveniencia sobre la autonomía de las personas:
"Dejen a los empleados operar de forma autónoma, con tal de que operen correctamente (bajo la mirada vigilante del manager)"
Esa premisa, en realidad, se traduce a cero autonomía. Lo que se debería de profesar, es la idea de esta frase que los gringos dicen:
"The right to be right, is irrelevant; it's only the right to be wrong that makes you free"
Una actitud defensiva, latente en las empresas Salvadoreñas, se deriva del prejuicio que existe con respecto a los developers de este país:
"Mis desarrolladores de software no son lo suficientemente listos para construir el sistema por ellos mismos"
Si bien, es cierto en alguna medida. Creo firmemente que: una empresa formal, de renombre, con un departamento de recursos humanos capacitado para realizar pruebas de conocimientos técnicos a futuros empleados programadores de la misma, jamas, jamas, jamas debería de considerar ese prejuicio -el mencionado- latente en sus empleados.

Al final, todo se puede resumir en una palabra: confianza. Para los individuos y para el equipo de trabajo. Después de todo, ¿si no confías en la gente con la que trabajas (y activamente demuestras tu confianza, escuchando las sugerencias, las propuestas de mejoras, permitiendo que se equivoquen, etc) crees que deberías estar trabajando con ellos?

"La primera obligación entre un empleador y un empleado: Confianza"

Se que una empresa no es un campo de juego, y existe un delicado balance entre complacer a los jefes, y a los subalternos. Pero si tratas a tus empleados como zombies, empleados zombies obtendrás. Y el software que ellos estén produciendo... estará muerto antes de que salga a producción...


"Aquí viene a parar el software hecho por zombies"

A veces, todo lo que se necesita, es darle lugar a las personas para desarrollar mas habilidades y conocimientos, que tengan espacio para usar su cerebro en un reto que valga la pena. Realmente, no es mucho pedir.

¿Quieres un grupo de desarrolladores, unidos, pro-activos, y que disfruten su trabajo?... probablemente es hora de pensar en como proteger a tus subalternos, de estos anti-patrones.

Sunsetting Sr. Byte.

El Sr. Byte ha estado más de 5 años inactivo. Digamos que estaba en " code freeze ". Pero ahora es el último release. Quizas no...