Desafíos del desarrollo de software a medida

Por Federico Arambarri
Federico Arambarri, gerente de Proyectos de Snoop Consulting, señaló que hay que comprender que los sistemas son soporte de la operatoria de otros negocios y su objetivo es que éstos puedan ejecutarse eficientemente

Existen varios tipos de proyectos en el área de la ingeniería de software, entre los que se encuentra el desarrollo de software a medida. Si tomamos como cálculo de éxito finalizar en el tiempo, con el costo y el alcance inicial (el no ser así es visto como desvío por los gerentes), la gran mayoría de estos proyectos fracasan. Desde mi punto de vista esto no siempre es un fracaso, ni siquiera es necesariamente un desvío.

Federico Arambarri

Este tipo de proyectos tienen un gran grado de complejidad y dependen de todos los participantes y las relaciones entre ellos. En muchos casos los involucrados son técnicos, y algunos consideran que la excelencia de la aplicación está dada por usar tecnologías de última generación. Es bueno ser innovador (no hay necesidad de andar en un Ford T toda la vida), siempre que aquello que se use esté pensado para tal fin. Sin embargo hay que ser cuidadosos, la aviación comenzó a principios del siglo XX pero el primer vuelo comercial fue 19 años después.

De todas maneras, no es ni la excelencia técnica ni las metodologías lo que debe impulsar el concepto de éxito y la visión que todos los involucrados deben seguir. Si bien hay que ayudarse de estos elementos.

Cada vez que se comienza un proyecto, independientemente del tipo y del tamaño, este tiene un objetivo de negocio. En particular, en los proyectos de software hay que comprender que los sistemas son soporte de la operatoria de otros negocios y su objetivo es que éstos puedan ejecutarse eficientemente.

Además, es importante tener en cuenta que el esfuerzo que se realiza tenga retorno de inversión. Lo que hay que lograr es que cumpla la funcionalidad que retorna valor, en la mejor relación costo-beneficio. Es importante que todos los involucrados en el proyecto comprendan esto y desde su lugar (su rol, sus habilidades, su poder de decisión) aporten para lograr el éxito del proyecto, que está relacionado con la obtención de beneficios para el negocio de la compañía.

Federico Arambarri es Licenciado en Informática, egresado de la Universidad Nacional de La Plata. Trabaja en Snoop desde 2000 realizando tareas de programación, consultoría, capacitación, mentoring, arquitectura y, en los últimos años, liderando proyectos. Entre los clientes que atendió desde su posición son La Caja, Citibank, TGS, Clarín, Siderar, Techint y Oracle, entre otros. Además, Federico es docente de Dirección de Proyectos en la UADE.
Por otro lado, el primer punto que debe asumir la empresa que compra es que el desarrollo de software a medida no es una compra transaccional y no hay forma que lo sea. Un proyecto por definición es una actividad de elaboración gradual, durante el cual deben sumarse al mismo dedicando gran esfuerzo.

Para obtener los mejores beneficios de los proyectos siempre que se pueda es preferible partir el todo del proyecto en etapas que se puedan poner productivas. La ventaja de este mecanismo es que se comienza a retornar valor de la inversión realizada mientras se termina la segunda etapa (o las posteriores). Este esquema lleva más esfuerzo y más horas de desarrollo y de verificación, sin embargo es menos riesgoso y baja la ansiedad de los inversores, ya que tienen algo que pueden aprovechar concretamente.

Siempre la mejor solución es la más simple que cumple con los requerimientos reales actuales, para esto hay que pensar bien antes de trabajar, ya que siempre es mejor hacer las cosas bien de entrada que tener que rehacer. Sobre esto hay que tener en cuenta el principio KISS. Aparte de ser una banda legendaria de rock y la palabra beso en inglés, es un principio que recomienda el desarrollo empleando partes sencillas, comprensibles y con errores de fácil detección y corrección, rechazando lo enrevesado e innecesario en el desarrollo de sistemas complejos en ingeniería En otras palabras, “Keep it Simple Stupid”.

Todos los del equipo (en su sentido amplio) deberían reflexionar juntos sobre estos puntos al comenzar un proyecto. El grupo de trabajo es esencial. La confianza entre las partes, el estar seguro que el otro va a hacer lo mejor posible, el que ninguno salga perjudicado (tiene que ser una relación ganador-ganador), son piezas fundamentales para generar proyectos exitosos.

Hay que encontrar formas de contratación y trabajo que permitan al equipo trabajar con tranquilidad, ayudando todos al objetivo común sin tener que estar en negociaciones o fricciones permanentes, que a la larga llevan tanto esfuerzo de las partes que termina lentificando el proceso y se desvía esfuerzo de generar valor agregado al negocio, generando el retraso de retorno a la inversión y encareciendo el proyecto.

Más allá de todo, lo importantes es hacer cosas que terminen productivas, hacer cosas que funcionan, que son útiles y que retornan valor. A partir de allí uno aplica conceptos de calidad y mejora continua, aprendiendo de las experiencias previas. Como dijo Carlitos Balá, como el movimiento se demuestra andando, pues andemos…


Más información: www.snoopconsulting.com.