| Artículos | 17 JUN 1994

CASE: Industrialización del desarrollo

Reflexiones de un usuario
Rafael Higes Director División Productos Software de Ibermática.

A la hora de abordar proyectos de renovación y ampliación de los sistemas de información, los usuarios suelen encontrase en la disyuntiva de abordar éstos con la ayuda de herramientas CASE o prescindir de la Ingeniería de Software Asistida por Ordenador. En muchos casos, el desconocimiento de las funcionalidades y las posibilidades reales ofrecidas por la tecnología CASE es un obstáculo a su implementación, lo que provoca posteriormente importantes problemas a la hora de mantener, ampliar y desarrollar la estructura de sistemas instalada.

La empresa que en 1994 empieza el desarrollo de un nuevo sistema de información, o un proyecto informático nuevo, quiere olvidarse de los que hoy son algunos de sus principales problemas:

- Elevado coste de mantenimiento del actual sistema de información

- Imposibilidad de introducción de mejoras, debido a la falta de documentación y a la carencia de una estructura adecuada de los procesos (desarrollo indiscriminado, programación acelerada, etc.)

- Imposibilidad de reutilización de los procesos, dada su falta de documentación y estructuración

- Rápida obsolescencia de los desarrollos abordados hace pocos años.

Ante estas limitaciones, miramos hacia adelante y decidimos abordar el desarrollo de un nuevo sistema de información; o bien nos planteamos el desarrollo de un nuevo proyecto. Comienza entonces un período de selección de nuevas y modernas herramientas de desarrollo y, en algún caso, de nuevos equipos informáticos.

Ya no dudo que seleccionaré un entorno abierto (Unix, OS/2, Windows, NT), un puesto de trabajo gráfico (GUI) para cada usuario, una base de datos relacional, una arquitectura cliente/servidor, un lenguaje de cuarta generación -con posibilidad de tratamiento de objetos, multimedia, etc.- y, quizá, tratamiento distribuido.

Todavía me acuerdo de los problemas que me producen la falta de documentación, estructuración de procesos, utilización de metodología adecuada, etcétera, y el proveedor de herramientas CASE me lo recuerda. Por ello, propongo a mi experto equipo de desarrollo interno o externo que considere la utilización de una herramienta CASE.

Pero mi equipo me contesta que su uso es complicado, supone retrasar el desarrollo, el período de formación es demasiado largo, el entorno de desarrollo poco flexible, requieren un cambio en la mentalidad y los hábitos de trabajo del personal de desarrollo y que se controlan mejor los tiempos de desarrollo y los resultados si el desarrollo se sigue realizando con el método tradicional.

Van pasando los meses, existe un compromiso para la realización del nuevo sistema de información, y hay que empezar ya. Si el uso de herramientas CASE implica tantos problemas, lo probaremos en otro momento. Así, formo rápidamente al personal de desarrollo en las nuevas herramientas y nuevos sistemas operativos. Desarrollo rápidamente el proyecto y, cuando parece que veo ya el final, las especificaciones, criterios funcionales, pequeños matices o interpretaciones que no parecían muy claras al principio -pero que no se consideraron relevantes- obligan a cambiar la planificación.

Rebaso el tiempo límite de desarrollo y, mientras todos discuten y se exigen mutuas responsabilidades, sigo desarrollando a presión diferentes versiones de la aplicación inicial, de las que parece que ninguna es válida. Finalmente, un día, cuando el mutuo desgaste llega a su límite, se da por terminado el desarrollo del nuevo sistema de información, más que por haber alcanzado los objetivos previstos inicialmente, por la determinación del hasta aquí hemos llegado.

A las pocas semanas de poner en producción el nuevo sistema, me doy cuenta de una situación que me deja perplejo y asombrado:

- Todo mi equipo de desarrollo está prácticamente involucrado en el mantenimiento de mi nuevo sistema de información

- Se piden actualizaciones urgentes, sencillas de ejecutar, pero que suponen enormes dificultades porque la documentación (si existe) no esta actualizada, hay programas que no se sabe muy bien qué es lo que hacen, hay programas que no se sabe porqué están allí y, en definitiva, no conseguimos entender lo programado, porque el desarrollo real no tiene una mínima estructura o metodología.

La conclusión es frustrante. Hemos realizado una importante inversión en herramientas, equipos,personal, etcétera, y mi nuevo sistema de información reproduce los problemas que me obligaron a cambiar el antiguo.

Un proyecto CASE Desarrollar un nuevo proyecto con una herramienta CASE significa muchas cosas. Su utilización garantiza:

- Un método estructurado

- Descomposición de los sistemas complejos en procesos simples, donde las interpretaciones poco claras desaparecen

- Diseño de aplicaciones y datos de alta calidad

- Documentación completa (diagramas de procesos, funcionalidad de cada proceso, estructura de datos, fuentes de programas, programación estructurada, etcétera) obtenida de forma automática

- Establecimiento de normas de mantenimiento y de los métodos de trabajo

- Participación del usuario, desarrollador y personal del mantenimiento más fluida y positiva en el sistema de información

- Elevación del nivel de calidad de desarrollo

- Cumplimiento de los plazos, alcanzando gran productividad en desarrollo y explotación

- Mayor control del sistema de información

Por tanto, el gran enemigo que tiene una herramienta CASE, lo que impide su uso es el desconocimiento de las posibilidades reales que ofrece. Y es a los responsables de desarrollo y jefes de proyecto a los que corresponde liderar la utilización de estas tecnologías.

El desarrollo de un sistema de información debe entenderse como un proceso de fabricación de software. El conocimiento de las herramientas CASE de Wetsmount nos ha permitido verificar lo anteriormente expuesto y demostrar, día a día, que la fabricación de aplicaciones informáticas o software en general, no tiene porqué estar sujeta a incertidumbres que no existen en la fabricación de cualquier otro tipo de productos industriales.

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios