Incremento de la productividad, y mejora de la eficiencia son dos objetivos que los gestores quieren presentar a la Dirección, y ésta a su vez reclama para poder exhibir en forma de atractivos indicadores y gráficos ascendentes en los consejos de administración.
Sin embargo, los factores que suelen producir efectos perversos sobre la eficiencia en la producción de software son:
- Cultura y objetivos exclusivamente centrados en los resultados a corto plazo.
- Desconocimiento de las características del desarrollo del software.
- Desarrollo de conductas de gestión simplistas
Cultura y objetivos exclusivamente centrados en los resultados a corto plazo
Los objetivos marcan la dirección de su organización. Si sus objetivos son a corto plazo lo único que conseguirá es crear una cultura de supervivencia. Si a esta cultura de los resultados a corto le añade la necesidad de demostrar con indicadores que se están alcanzando los resultados, habrá conseguido una mezca peligrosa: el objetivo de su gente es que los resultados mensuales (trimestrales o semestrales) "pinten bien". En su empresa ya no importará la radiografía, los esfuerzos se afanarán en dar una buena fotografía.
Desconocimiento de las características del desarrollo del software
Son muchas las particularidades del negocio del software que por su desconocimiento hacen patinar a los gestores que los ignoran.
El software no es un producto físico, no se produce más ni mejor por tener turnos de trabajo más largos o menos pausas de café. Las empresas de software no producen con "body time" sino con "brain time".
El software se produce con talento, y las diferencias de productividad entre unas personas y otras son muy grandes.
"En el mundo del diseño informático, los mejores lo hacen entre 50 y 100 veces mejor que el promedio, y la cifra aumenta, conforme se incrementa la complejidad de la tecnología."
Pilar Jericó "La gestión del talento" Editorial Pearson Educación
"La diferencia entre los promedios y los mejores ya no es de 1:2, como en el pasado. Es 1:100 o incluso 1:1000." Nathan Myhrvold (Ex-director de I+D de Microsoft)
La aplicación de técnicas de administración científica del trabajo (medición de tiempos, operaciones, pausas, etc.), el simple incremento de presión basado en la autoridad, o la búsqueda de atajos en los procesos de desarrollo son una barbaridad.
El trabajo mecánico se puede activar a voluntad, pero la capacidad de diseño de soluciones no funciona así.
Si para acortar tiempos incrementamos la presión, se inyectará mayor densidad de errores en el producto, se elevarán los tiempos de depuración y la complejidad de mantenimiento del sistema.
La búsqueda de atajos en los procesos de requisitos incrementará el coste y las agendas de desarrollo, y si anteponemos las agendas a la calidad no conseguiremos ni uno ni otro, etc.
Desarrollo de conductas de gestión simplistas
Como expone Peter Senge en su libro La Quinta Disciplina, la realidad no puede simplificarse en representaciones lineales de causa-efecto, y para actuar sobre determinadas consecuencias visibles es preciso comprender sus relaciones sistémicas. Es más, en función del tipo de tipo de sistema sobre el que trabajemos, cuanto más nos empeñemos en actuar directamente sobre las consecuencias, más se retroalimentará y se empeorará la situación.
Para aplicar soluciones sintomáticas cualquiera vale, y sin duda buenos gestores hay pocos.
Las medidas que ayudan a conseguir equipos de programación más eficientes implican gestión oblicua, y son de aplicación cuando menos a medio plazo.
Criterios y procesos de selección de personal. No escatime esfuerzos en su proceso de reclutamiento. Contacte con universidades o centros de estudio, tenga personal en prácticas para identificar a las personas de mayor talento, etc.
Desarrolle profesionalmente a su personal técnico. Los mejores son personas intelectualmente inquietas. El talento es algo que las personas sólo pueden dar si se encuentran motivados y en un entorno apropiado.
Cuente sólo con los mejores, y tenga en cuenta que el talento no es fácil de gestionar.
No mida el trabajo sino lo resultados. ¿A quién le importa si un programa tiene 1.000 líneas de código o 10.000?.
Deje estas métricas para el ámbito de la Ingeniería del software. Mida la calidad, la innovación, la satisfacción de sus clientes con las soluciones desarrolladas, la mantenibilidad de los sistemas desarrollados, etc.
La gestión del talento es productiva cuando produce resultados financieros, algo que se puede medir con un sistema de métricas apropiado, pero no con indicadores de gestión científica del trabajo.
Sin duda un tema interesante para charlar en otro momento.