jueves, 5 de julio de 2012

Reutilización en desarrollos SW: Sí, pero con matices


El gobierno vasco está a punto de aprobar un Decreto, si no lo ha hecho ya, por el cual el sector público vasco estará  “obligado a ver y coger del directorio las soluciones, totales o parciales, que hay disponibles para adaptarlas a sus necesidades”. Y si no van a aprovechar nada o pretenden crear un nuevo programa, “deberán argumentar por qué no lo hacen o qué tiene de especial ese software".

El Ministerio de Hacienda y Administraciones Públicas parece que va a la zaga y también va a aplicar una normativa similar al gobierno vasco.
Y digo yo al respecto,  que me parece una gran medida porque de todos es sabido el constante “reinventar la rueda” en nuestro ámbito laboral. Sin embargo, a la hora de aplicarlo hay que tener mucho cuidado y saber diferenciar adecuadamente proyectos que son susceptibles de ser reutilizables de los que no.


En aplicaciones de desarrollo que sustenten líneas verticales, es decir del negocio, va a ser muy complicado poder reutilizar otros proyectos similares. Tomando como ejemplo   mi ámbito puedo tener  una aplicación para gestionar sanciones y quizás en otro Ministerio ya dispongan de una herramienta similar,  sin embargo la casuística será lo suficientemente diferente como para no plantearse una reutilización. Y aquí es donde yo quiero dar mi opinión de forma tajante:

En condiciones normales, la reutilización en los proyectos de desarrollo SW verticales sólo  es aplicable  cuando se ajusta de forma completa y perfecta con el propósito buscado. Los servicios ofrecidos de forma no intrusiva son los que mejor se adaptan para poder ser reutilizados.

Es decir, el coste que normalmente supone reutilizar un proyecto ya existente “sobre todo si es comercial” aunque bastante a menudo también en los realizados a medida, suele ser muy superior a realizar un desarrollo ad hoc para el propósito que se plantee. Y lo que es todavía más importante: suele ser de menor calidad ya que al final se nota que lo que se ha hecho son parches y la calidad del aplicativo/servicio se suele resentir demasiado.

Proyectos como @firma o los servicios de intermediación son un ejemplo claro de proyectos de desarrollo que sí son reutilizables porque se ajustan a las necesidades del proyecto que lo solicita de forma no intrusiva. Y aquí va mi segunda afirmación rotunda:

Los proyectos de desarrollo que son reutilizables suelen ser orientados a servicios. A nivel de aplicativos Web es difícil que sean reutilizables.

Normalmente el poder reutilizar un aplicativo (con interfaz, BD y resto de componentes que atañen a una aplicación) para dar soporte a una línea vertical de tu negocio es en la mayoría de las ocasiones “misión imposible”.

Ahora bien, en proyectos horizontales  tipo plataformas de correo electrónico, herramientas de colaboración, traductores a diferentes idiomas, etc.  aquí si que la reutilización es un filón para el ahorro de costes sin menoscabo alguno de calidad en el servicio.

En conclusión, los desarrollos a medida son la mejor solución en algunos casos, pese a que existan soluciones aproximadas ya existentes. Y por lo tanto espero que la aplicación del Decreto de reutilización sea lo suficientemente flexible para saber discernir aplicaciones susceptibles de reutilización y aplicativos que no lo son, de tal forma que cada vez que quieras hacer algún desarrollo necesario no te pongan mil trabas que lo único que consigan es hacerte perder el  tiempo o incluso abortarlo.

No hay comentarios:

Publicar un comentario