Marco Metodológico WATCH

El Marco Metodológico WATCH

Un marco de trabajo para proyectos de desarrollo de software

¿Qué es?
Características
Estructura
Metáfora

En la actualidad, uno de los principales problemas a los que se enfrentan los desarrolladores de software y en especial, los líderes de proyectos, es en la adaptación de un método de desarrollo de software que sea utilizado para un proyecto con características particulares y dentro un dominio de aplicación específico.

Para solventar parte de estos problemas, el marco metodológico WATCH ha sido utilizado como una guía o patrón para la elaboración de una serie de métodos de desarrollo de software, los cuales conforman la suite WATCH y que intentan:

  1. Minimizar el esfuerzo y tiempo requerido para la selección, configuración y adaptación de métodos a las particularidades de cada proyecto de desarrollo de software.
  2. Reducir al mínimo el conjunto de factores negativos que afectan un proyecto y que son producto de los errores cometidos por la adaptación de un método.
  3. Balancear la deficiencia que tengan los líderes de proyectos en cuanto al conocimiento de métodos y experiencia en dominios de proyectos.

¿Qué características tiene el Marco Metodológico WATCH?

Ciclo de desarrollo

Cubre todo el ciclo de desarrollo de software; desde la definición del proyecto, pasando por el modelado del dominio de aplicación, la definición de los requisitos de software, hasta la implantación y puesta en operación de la aplicación, bajo la perspectiva de un proyecto de software.

Procesos de Gestión y Soporte

Incluye los procesos de gestión y de apoyo de cualquier proyecto de ingeniería e involucra al personal técnico y gerencial en la ejecución de los mismos.

Principios, modelos y prácticas

Se basa en principios de ingeniería de software, modelos de referencia comunes, planes de formación profesional y prácticas de software como CMMi, normas IEEE, SWEBOK, PMBOK.

Mejores prácticas de la IS

Emplea algunas de las mejores prácticas de la ingeniería de software como son: el desarrollo de software iterativo, realizado mediante ciclos, versiones e incrementos; la gestión de requisitos; el desarrollo de componentes basados ​​en la reutilización; la verificación y validación continua de la calidad del producto; el control de cambios y la gestión de proyectos.

Notación UML 2 y UML Business

Usa la notación UML 2 y la extensión UML Business (Eriksson y Penker, 2000) para documentar las especificaciones de software y ayudar a las transformaciones de los diferentes modelos creados en cada una de las fases del desarrollo de software.

¿Qué estructura tiene el Marco Metodológico WATCH?

La especificación formal del marco metodológico WATCH está inspirado en los principios de la Ingeniería de Métodos, el cual está descrito por tres elementos interrelacionados de alto nivel de abstracción:

Meta-modelo de Producto

Meta-modelo de Procesos

Meta-modelo de Actores

El Meta-modelo de Producto

El Meta-modelo de Producto

El Meta-modelo de Producto representa el conjunto de productos, tanto intermedios como finales, que son elaborados durante un proyecto de desarrollo software. El producto final de un proyecto de desarrollo de software es la entrega de una aplicación, que está completa y ha sido validada por sus usuarios. Los productos intermedios son todos aquellos documentos, modelos, listas, librerías de software, matrices, etc., que se elaboran durante la ejecución de los procesos técnicos, de soporte y de gestión y que son necesarios para desarrollar el producto final, es decir, la aplicación.

El Meta-modelo de Procesos

El Meta-modelo de Procesos

El Meta-modelo de Procesos describe las actividades que van a ser ejecutadas por el equipo técnico y gerencial para desarrollar una aplicación. Estas actividades han sido clasificadas, con respecto al proceso de desarrollo de software, en tres grandes grupos: procesos técnicos, procesos de gestión y procesos de soporte.
Los procesos técnicos representan el conjunto central de las actividades para desarrollar software de alta calidad, en ellos se incluyen: Modelado del Negocio, Ingeniería de Requisitos, Diseño Arquitectónico, Diseño Detallado del Software, Programación & Integración, Pruebas y Entrega de la Aplicación.
Los procesos gerenciales apoyan la ejecución de los procesos técnicos y están relacionados directamente con la gestión del proyecto de desarrollo de software. Estos procesos agrupan las actividades de planificación y control del proyecto, estimación de tiempos, costos y recursos humanos necesarios para el desarrollo de los productos del proyecto.
Por otra parte, los procesos de soporte, al igual que los procesos de gestión, son distribuidos a lo largo de todo el proyecto de desarrollo, apoyando también, la ejecución de los procesos técnicos. En este grupo se incluyen las actividades relacionadas con el aseguramiento de la calidad, gestión de riesgos y la configuración de cambios.

El Meta-modelo de Actores

El Meta-modelo de Actores

El Meta-modelo de Actores identifica al conjunto de actores o interesados (stakeholders) que participan, de forma directa o indirecta, en un proyecto de desarrollo de software. Este modelo describe además, las distintas modalidades de organización de los grupos de trabajo e identifica los roles y responsabilidades que cada uno de ellos juega en la ejecución del proyecto, los cuales son requeridos para ejecutar los procesos descritos en el Meta-modelo de Procesos.

El Núcleo de Conceptos del Marco Metodológico y sus Meta-Modelos

¿Cuál es la metáfora en la que se basa el WATCH?

El marco metodológico WATCH está inspirado en la metáfora del reloj de pulsera analógico

Metáfora en la cual el proceso de desarrollo de software es visto como un reloj, donde los diales representan a los procesos técnicos, ubicados alrededor de la esfera y cuyo motor lo constituyen los procesos de gestión y soporte, ubicados en el centro de la esfera.

Los procesos técnicos son los encargados de elaborar la aplicación y son ejecutados en el sentido en que giran las manecillas del reloj. Por otra parte, los procesos de gestión y soporte, controlan la ejecución de los procesos técnicos e intervienen durante todo el ciclo del desarrollo de software (ciclo que incrementa una hora o minuto en el reloj).

De acuerdo a la estructura de este modelo, el proceso de desarrollo de software se inicia con la constitución y planificación del proyecto, la cual es parte de los procesos de gestión. Una vez planificado el proyecto, se da inicio a sus procesos técnicos mediante la ejecución del Modelado del Negocio. Se continua, luego, con los procesos de Ingeniería de Requisitos, Diseño Arquitectónico, Diseño Detallado, Programación & Integración y Pruebas de la Aplicación, en el orden indicado por las agujas del reloj; finalizando con la Entrega de la Aplicación.