Sunday, 14 September 2014

Gestión basada en el talento vs. Gestión basada en los procesos

Cuando esto de la Informática empezaba hace ya unos cuantos años los proyectos software se gestionaban a base de la dedicación y el talento de los únicos que sabían programar por esa época. Normalmente eran unos matemáticos despistados que sin ningún método desarrollaban un montón de código utilizando sólo su ingenio. Su forma de trabajar no era repetible por otros y, si ellos no estaban, no había quién entendiera lo que allí habían dejado escrito ¿Cuánto iban a terminar en terminar el proyecto? Bueno, en un par de noches más estaría terminado.

En algunas empresas actuales se tiende a utilizar también este modelo. Se quiere que todo el equipo de trabajo esté formado por programadores ninja que saquen el trabajo adelante pase lo pase. No necesitamos ningún proceso a seguir ni ninguna metodología. Solo debemos apartarnos para no molestar. Ellos sabrán lo que hay que hacer. Puede parecer una solución ideal pero tiene algunos inconvenientes: Los programadores así no crecen en los árboles. Podríamos empezar a pagar más y más para atraer el mejor talento pero, aceptémoslo, nuestra empresa no es Google y por mucho que paguemos será imposible atraer todo el talento que necesitamos en nuestros proyectos.

Es también la forma de gestión de algunas start-up: Un equipo de programadores jóvenes y emprendedores capaces de abordar proyectos tecnológicos complejos. Llegarán tan lejos como bueno sea su software pero tendrán un problema para pasar al siguiente nivel repitiendo esos primeros éxitos cuando ellos ya no pueden formar parte del desarrollo de todos sus proyectos.

Todas las empresas de software necesitan poder repetir sus resultados aunque no cuenten siempre con el mismo equipo y escalar luego esa forma de trabajo a toda la organización para ir mejorando poco a poco la calidad de sus proyectos. Esto no es posible solo con la gestión del talento, necesitamos también utilizar procesos que nos ayuden a estabilizar la producción y obtener buenos resultados con todos los equipos de trabajo. Existen muchos procesos para la industria del desarrollo de software: CMMI, RUP, Extreme Programming, Scrum y otros métodos ágiles ¿Cuál es el tuyo?

2 comments:

  1. Muy buen articulo Antonio.....
    Quiero comentar, por mi experiencia como analista/programador que deberiamos de tener muy en cuenta el lenguaje de programacion. Yo comparo esto con tener unos planos de la casa perfecfo pero si no tenemos unos buenos materiales no hay nada que hacer.

    He visto buenisimos proyectos bien documentados y planteados pero que se han ido al traste por utilizar una herramienta equivocada..... se disparan los tiempos de desarrollo, etc etc...

    Pienso que se deberia tener mas en cuenta

    ReplyDelete
    Replies
    1. Muchas gracias Luis por tu comentario. Sí, es indiscutible que las decisiones técnicas, como la del lenguaje a utilizar, condicionan mucho el proyecto. Hoy en día las opciones sobre el lenguaje están más asentadas pero hace unos años, cuando pululaban un montón de lenguajes, herramientas RAD, etc. una mala elección era bastante fácil de cometer.

      Yo en este caso me refería al estilo de gestión del proyecto a más alto nivel, bien por talento o por proceso y esto sería igual en un proyecto IT que para la construcción de un puente (aunque yo siempre lo llevo al mundo software, deformación profesional supongo).

      Delete