El otro día tuve una charla con un manager del siglo XX. Básicamente hablamos acerca las métricas en el desarrollo de software.
No había vuelto a pensar sobre ello hasta que esta mañana he visto un post en Atrapalo acerca del libro «The future of Management» de Gary Hamel en el que se explica bien claro que el paso del management del siglo XX al management del futuro es la adaptación de la empresa al trabajador.
Es evidente que en una industria se deben tener controlados todos los parámetros que intervienen en el proceso para poder así mejorarlos y optimizarlos con el objetivo de poder conseguir las tasas más altas de productividad posibles. Se cumple la máxima aquella que dice que «no puedes mejorar lo que no puedes medir» (o una de sus múltiples acepciones).
Pero eso se aplica a los procesos industriales y el software, como tal, no lo es. Se trata del viejo debate entre industria y arte. Hay quienes consideran que la producción de software es una industria y que deben aplicarse las reglas que rigen otros procesos industriales. Y hay quienes piensan que el software es un arte y que como toda actividad artística no está regido por las leyes de la razón, sino por la creatividad, la inspiración y la motivación.
Personalmente me sitúo en un término medio. El software ni es una industria ni es un arte, es una artesanía. Producir software se parece mucho más a lo que hace un ebanista que a partir de un trozo de madera consigue una bonita máscara que a lo que hace el peón de la cadena de montaje o el pintor en su buhardilla.
En ese sentido el verdadero programador (no el simple picateclas) está más cerca del artista que del peón de fábrica. El proceso de ingeniería del software en su globalidad trata precisamente de alejar al programador del artista añadiendo una capa entre él y su código (el producto del programador). Es algo necesario puesto que en el siglo XX se vio que las empresas y organizaciones no podían verse sacudidas ante la pérdida de un «trabajador clave».
Para darse cuenta de lo cerca que está un programador del artista sólo hay que pensar la diferencia que hay cuando en una empresa de empaquetado de conservas se marcha un empaquetador y lo qué pasa cuando un artista deja de pintar o esculpir (normalmente porque muere). Sin duda el golpe de que un buen programador abandone una empresa es mucho más parecido al segundo ejemplo.
Ahora bien, ¿qué tiene que ver todo esto con las métricas del software? Pues mucho. Las métricas pueden medir (y deben hacerlo) los procesos industriales, pero poco pueden hacer frente a los procesos artísticos y de creación. El manager del siglo XXI debe darse cuenta de una vez que no puede medir el rendimiento de sus programadores contando líneas de código (¿os acordáis de esa patraña que nos contaban?).
Un buen manager hoy en día debe crear una relación de confianza entre los programadores para que en vez de competir para ver quién escribe más líneas de código inútiles, cooperen para conseguir objetivos concretos (quizá los managers del siglo XX olvidaron o nunca aprendieron las enseñanzas de John Nash). Un buen manager debe conseguir modificar la estructura de la empresa para adaptarse a los empleados. No se puede consentir hoy por hoy que una empresa pierda a un programador genial (en el sentido de «genio») porque una de las métricas lo dicte. El manager debe conseguir que los buenos programadores se sientan a gusto, que no quieran cambiar a otro lugar, que estén alineados con los objetivos colectivos y, sobretodo, tiene que ser su mejor aliado frente a las exigencias externas o internas (tanto clientes externos como internos, la dictadura del cliente es otro tema que trataré en otra ocasión).
Ni que decir tiene que el paradigma de la empresa que aplica un buen management es Google. Por eso los mejores programadores (1, 2, 3…) se van de las grandes empresas tradicionales para ofrecer su creatividad y entusiasmo a Google.
Así que, futuros managers, aprended que podéis medir las líneas de código, el número de bugs solucionados, el número de horas que vuestros programadores pasan en la oficina… pero que eso no os va a servir para medir el rendimiento de un buen programador. Mediréis la mediocridad, mediréis quien tiene más capacidad (o estómago) para adaptarse a tus métricas y conseguiréis acabar con el espíritu crítico, la proactividad y la creatividad.
Pero claro, explicar todo esto es muy dificil cuando el futuro manager que tenemos delante nunca ha sido un verdadero programador.
62 respuestas a «Management del siglo XX»