Porque se deben evitar los proyectos de software interminables

Gustavo Orrillo
- 08/08/2021 - 4 min. de lectura


Uno de los mejores libros de historia militar fue escrito por una historiadora, Barbara Tuchman que escribió "Los cañones de agosto". Este libro trata sobre el mes de agosto de 1914, el primer mes de la Primera Guerra Mundial. En ese libro se describe como Alemania intentó lograr una rápida victoria en el frente del oeste pero no pudo llegar a Paris. Y esa guerra rápida se transformó en un conflicto que se prolongó por años y devastó una generación de jovenes europeos. Conflicto que si no hubiese ocurrido o hubiese tenido un rápido desenlace; la humanidad no hubiese experienciado el comunismo, nazismo, la China de comunista de Mao, innumerables conflictos en el Medio Oriente... la lista es larga. Posiblemente la decadencia argentina que estamos viviendo hubiese empezado décadas antes... solo Dios sabe.

Porque un proyecto interminable es costoso y ruinoso

El caso es que al igual que los planificadores militares; los project managers en un proyecto de Odoo deben planificar el mismo para que este tenga una implementación lo más rápida posible. Un proyecto que se retrasa y retrasa es ruinoso tanto para un cliente como para un implementador. No solo se pierde el tiempo sino tambien es caro para ambas partes. El cliente termina pagando más trabajo del comprometido inicialmente. Y el implementador termina cobrando menos horas de lo que realmente trabajó. De la parte del implementador tambien lleva al cansancio del equipo y perdidas financieras. Pero ademas esta obligado a comprometer recursos en un viejo proyecto cuando a esa altura debería estar encarando nuevos proyectos. Lo mismo se puede decir de parte del cliente.

Pero más alla de eso, el verdadero riesgo es que el proyecto se cancele. Si uno analiza las estadísticas del Chaos Report del Standish Group se podrá ver que uno de cada tres proyectos termina siendo exitoso. Y alrededor del 20% de los proyectos fueron cancelados. Los proyectos se cancelan cuando se empatanan y se tornan en interminables. Y lo peor es que en esas situaciones el cliente no solo perdió toda su inversión, sino ademas perdió tiempo.

Motivos que espantanan los proyectos

  • Rotación del personal del proyecto; principalmente en el equipo que implementa y desarrolla las customizaciones en Odoo

  • Vacaciones por parte del personal del usuario

  • Problemas en la estimación inicial

  • Subestimar el esfuerzo de la migración de datos (no se porque la gente piensa que migrar Odoo es algo sencillo. Prueben con la contabilidad y despues me cuentan)

  • Items no tenidos en cuenta en la estimación inicial (como por ejemplo... website o modificación de reportes)

  • Usuarios que no se encuentran comprometidos 100% con el proyecto; que muchas veces o se involucran tarde en el mismo o pocas horas

  • Pero por sobre todo, plantear un proyecto faraónico desde el principio. Este punto no es menor.

  • Problemas técnicos durante la implementación. Si el equipo de implementación de Odoo es experimentado, esto no suele suceder. Pero si el equipo es junior; ocurre con mayor frecuencia de lo deseado

  • Problemas de comunicación en el equipo. Y esto es habitual en algunos casos en Argentina. Muchas veces hay partners que por una cuestión de escala no cuentan con recursos de programación, y tercerizan los mismos. Este "pequeño" detalle de comunicación hace que el proyecto se ralentice de manera notoria.

  • Otro problema de Argentina... los apremios económicos. Muchas veces se venden proyectos sin alcances definidos y con varios temas sin analizar; por la necesidad de empezar el proyecto cuanto antes. Todo esto con el fin de empezar a monetizar el proyecto.

El sindrome de "invertí tanto en este proyecto"

Una de las razones por las cuales se sigue trabajando en un proyecto que esta empantanado es por el esfuerzo (no solo en horas sino tambien monetario) invertido hasta ese momento. Lo cual es un grave error desde el punto de vista financiero. Todo lo gastado en un proyecto de software se lo debe considerar un gasto y no una inversión; al menos hasta llegado el momento de la implementación. Todo gasto incurrido en el proyecto pasa a ser inversión una vez que el proyecto se encuentra en producción.

Lo que significa que, muchas veces tiene sentido cortar las pérdidas de una buena vez en lugar de seguir poniendo plata en un gasto que tardará mucho en convertirse en inversión. Pero muchas veces esto no se ve así.

Que se puede hacer para mitigar esta situación

  • Primero y fundamental, no se meta en proyectos que no tenga bien claro como se van a implementar. Si tiene dudas técnicas, resuelvalas antes de iniciar el mismo. No deje que estas dudas se resuelvan a lo largo del proyecto. Serán muy costosas

  • Sepa desde un primer momento cual es el fin del proyecto. Y no estoy hablando un "tiene que estar funcionando el sistema contable". Sino debe ser una clara descripción de los workflows que deberá cubrir Odoo. Si no lo tiene claro, no empiece el proyecto. Retrase el arranque del mismo hasta saberlo.

  • No tercerice trabajos. Es tentador hacerlo debido a que armar un equipo de Odoo es muy costoso. Pero los problemas de coordinación y comunicación con un tercero cuya agenda no puede llegar a ser la misma... es algo muy caro. Mejor? Tener todos los recursos debajo del mismo techo.

  • Particione el proyecto y utilice metodologías ágiles. Esto puede parecer más caro pero a la larga con metodologías ágiles se tendrán dos beneficios: mayor transparencia sobre los proyectos y menores desvíos en los mismos. Tenga en cuenta que para esto será necesario tener un mayor trabajo de integración.

  • Por último; no se apure en empezar un proyecto. Arranque el proyecto cuando crea que es un buen momento hacerlo. Los apuros en Odoo se terminan pagando caro.

Acerca de:

Gustavo Orrillo

Apasionado de la programación, implementa Odoo para distintos tipos de negocios desde el año 2010. En Moldeo Interactive es Socio fundador y Programador; además de escribir en el Blog sobre distintos temas relacionados a los desarrollos que realiza.