"Rediseño del desarrollo de Software"

5. Situación Actual

5.1. Identificación del Problema

El problema que se plantea en este proyecto de titulación fue identificado por el subgerente de sistemas técnicos de distribución, quien mediante conversaciones informales, comentarios de terceros y la observación de las grandes cantidades de tiempo invertidas en corregir sistemas informáticos implantados en las empresas clientes, manifestó que se estaba entregando un servicio que no cumplía con los estándares de calidad mencionados en la misión de la subgerencia. La realización de encuestas de tipo informal y exploratorio permitió confirmar este juicio.

Las encuestas que fueron realizadas a los empleados de la organización permitieron confirmar los problemas que existen actualmente en la organización y además permitieron justificar el proyecto.

Los juicios que se obtuvieron de las encuestas se agruparon de la siguiente forma:

- No se sabe con certeza con quién se deben comunicar para solicitar los servicios entregados por Synapsis (mantención, implantación, desarrollo, etc.). Este juicio fue hecho por el 15% de los encuestados.
- Existe gran demora en determinar los presupuestos de algunos servicios, tales como mantención adaptativa e implantación de sistemas. Este juicio fue hecho por el 23% de los encuestados.
- Existe gran demora en determinar los plazos de un determinado servicio. Este juicio fue hecho por el 15% de los encuestados.
- No se cumplen los plazos que se establecen en la entrega de los servicios. Este juicio fue hecho por el 77% de los encuestados.
- Existen muchos errores operativos en los sistemas implantados. Este juicio fue hecho por el 54% de los encuestados.

5.2. Descripción del Proceso

La Subgerencia de Sistemas de distribución está compuesta por tres áreas; estas son:

· Proyectos Distribución. Encargada de la definición de los nuevos proyectos. Esta definición puede ser originada por clientes internos, externos o por la participación en licitaciones públicas.
· Desarrollo Sistemas Distribución. Encargada de desarrollar los sistemas solicitados. Esta actividad comienza cuando se ha definido el nuevo proyecto, es decir cuando se tiene la formalización de los requerimientos del cliente.
· Soporte y Mantención. Encargada de brindar soporte y mantención a los sistemas que han sido desarrollados por Synapsis S.A.

Las actividades que realizan estas áreas son las que componen el proceso de desarrollo de software.

A modo de análisis de la situación actual, se describirán a continuación las actividades pertenecientes a la mantención de sistemas llevada a cabo por el área de soporte y mantención.

Existen dos tipos de mantención:

- Mantención Correctiva: Es aquella de primer nivel, que busca corregir el funcionamiento incorrecto de aplicaciones o errores que se presenten en éstas, producto del mal manejo por parte de los usuarios del sistema.
- Mantención Adaptativa: Es aquella que exige la incorporación de nuevas funcionalidades al sistema, resultado ya sea de nuevas exigencias por parte de los procesos a los que apoyan, como también producto de cambios en la normativa legal que regula los procesos.


Descripción Proceso de Mantención Correctiva

Generación de la Solicitud: El usuario sufre una falla en una aplicación que le impide continuar con sus funciones normales; si él considera que se trata de un requerimiento correctivo, envía la solicitud al ejecutivo de empresas (E.E.) o al encargado del sistema o módulo vía e-mail (no se hace a través de ningún documento ni se utilizan pautas formales).

Recepción de la Solicitud: Si la solicitud es recibida por el encargado, éste procede al análisis del requerimiento, que consiste en determinar qué programas debe revisar para su posterior evaluación. Si es recibida por el E.E., éste le transfiere el requerimiento al encargado junto a un correlativo que se utiliza para la facturación de los servicios entregados.

Análisis de Requerimientos: En caso de que se necesiten más antecedentes, el encargado se contacta con el usuario (por e-mail o teléfono) para solicitar la información necesaria. Una vez que tenga los datos necesarios (especificaciones extras para obtener una clara definición del problema), él debe decidir si puede solucionar el problema o prefiere transferirlo a un analista o programador, dependiendo de los conocimientos que éste tenga del módulo o sistema a modificar.

Solución del Requerimiento: Una vez solucionado el problema, el encargado debe hacer pruebas a la solución propuesta. No existen pautas para hacer las pruebas y básicamente consisten en tomar el programa que fue modificado y ejecutarlo. Además, si la solución fue dada por un analista o programador ésta se somete a una validación por parte del encargado.

Recepción de la Solución: Cuando ya se han realizado las pruebas a la solución se da aviso al cliente. En caso de que el cliente apruebe con un mensaje enviado por e-mail, el proceso se da por terminado. En caso de que el cliente no esté satisfecho, éste se contacta con el encargado nuevamente para darle especificaciones extras.


Descripción Proceso de Mantención Adaptativa

Generación de la Solicitud: Debido a cambios en las necesidades del negocio o normativas legales, se produce un requerimiento de modificación en las funcionalidades de los sistemas. Se envía la solicitud al ejecutivo de empresas 6 (E.E.) o al encargado del sistema o módulo vía e-mail (no se hace a través de ningún documento ni se utilizan pautas formales).

Recepción de la Solicitud: Si la solicitud es recibida por el encargado, éste procede al análisis de requerimientos, que consiste en determinar qué programas debe revisar para su posterior evaluación. Si es recibida por el E.E. éste le transfiere el requerimiento al encargado junto a un correlativo que se utiliza para la facturación de los servicios entregados.

Análisis de Requerimientos y Cotización: En esta etapa es necesario concertar una reunión entre el Encargado, el Ejecutivo de Empresa y el Cliente, para definir cuidadosamente los requerimientos (explicarlos verbalmente y entenderlos sin ambigüedades por todas las partes) además de evaluar los costos asociados a ejecutarlo, lo cual lleva a decidir finalmente si se lleva cabo o no la mantención adaptativa.

Solución del Requerimiento: En caso de que se necesiten más antecedentes, el encargado se contacta con el usuario para solicitar la información necesaria (especificaciones extras para obtener una clara definición del problema). Una vez que tenga los datos necesarios, él debe decidir si puede solucionar el problema o prefiere transferirlo a un analista o programador. Una vez solucionado el problema, el encargado debe hacer pruebas a la solución propuesta. No existen pautas para hacer las pruebas y básicamente consisten en tomar el programa que fue modificado y ejecutarlo. Además, si la solución fue dada por un analista o programador ésta se somete a una validación por parte del encargado.

Recepción de la Solución: Cuando ya se han realizado las pruebas a la solución se da aviso al cliente. En caso de que el cliente apruebe, con un mensaje enviado por e-mail, el proceso se da por terminado. En caso de que el cliente no esté satisfecho, éste se contacta con el encargado nuevamente para darle especificaciones extras.


5.3. Modelamiento del Proceso

El modelamiento de las actividades 7 de mantención adaptativa y correctiva se hizo como diagrama de proceso. Además se modeló la situación actual del proceso de desarrollo de software utilizando la herramienta Bpwin 8.

Se debe aclarar que la actividad de Planificación que aparece en el modelo no se refiere a una planificación formal, como la que se propone en las mejoras al proceso. Lo que se hace en la situación actual es una estimación de plazos, recursos, costos, etc., a partir de la experiencia de proyectos anteriores, pero esta está sujeta a muchos errores.


5.4. Conclusiones

El análisis de la situación actual, que consistió en entrevistas informales al personal de Synapsis, y la contraposición del modelo del proceso realizado en Bpwin con la Macro 1, permitieron identificar los siguientes problemas:
- No existe una formalización de los requerimientos
- No existe una planificación formal del proyecto que permita hacer estimaciones que se ajusten a la realidad
- No existe Mantención de estado
- Desconocimiento de la situación real del proyecto (avances, etc.)
- Se excede el tiempo y costo de lo planificado
- Gran demora en determinar los plazos de un determinado servicio
- Se destina mucho tiempo en realizar correcciones a sistemas ya desarrollados

La mejora fundamental en el proceso de desarrollo de software es el que se menciona en los objetivos específicos, que es mejorar el grado de cumplimiento de compromisos en las fechas y con los recursos establecidos. Lo que significa encontrar la mejor manera de administrar los requerimientos y los proyectos de desarrollo en cuanto a su planificación, seguimiento y manejo de la información, teniendo presente mejoras en la calidad del producto entregado.


6 Nexo entre la empresa cliente y Synapsis S.A., su objetivo es hacer más expedita la solicitud de mantención.
7 Anexo Nº3: Modelamiento Mantención Correctiva
y Anexo Nº4: Modelamiento Mantención Adaptativa
8 Anexo Nº5: Modelo de la Situación Inicial del Proceso de Desarrollo de Software