====== Validar Requisitos ====== {{:mda:req:mda-pr-1.0-req-validacion.png?900X941|}} ====== Objetivos ====== El principal objetivo de este proceso es validar los requisitos técnicamente por parte del equipo de trabajo, llegar a un acuerdo con el cliente para la aprobación de los requisitos que se han elicitado. También es parte de este proceso la validación por parte del cliente de los diseños de las interfaces de usuario, procedentes de la disciplina de Análisis y Diseño. Para ello, los requisitos funcionales y no funcionales se revisarán por parte del equipo de trabajo y una vez comprobado que son adecuados se le mostrará al cliente junto con el diseño de pantallas, prototipos o cualquier otro artefacto que sea útil para hacerse entender con el cliente y para que este dé su visto bueno. ====== Roles ====== Los siguientes son los roles participantes en este proceso: ^ Rol ^ Tareas que interviene ^ |**Cliente** | | | |MDA-TR-1.0-REQ-Aprobar requisitos| | |MDA-TR-1.0-REQ-Aprobar diseño| |**Ingeniero de Requisitos** | | | |MDA-TR-1.0-REQ-Validar Requisitos técnicamente | |**Jefe de Proyecto**| | | |MDA-TR-1.0-REQ-Aprobar requisitos| | |MDA-TR-1.0-REQ-Aprobar diseño| ====== Tareas ====== ===== MDA-TR-1.0-REQ-Validar requisitos técnicamente ===== Todos los requisitos de la aplicación, funcionales (casos de uso e historias) y no funcionales deben ser validados técnicamente, de manera que estemos seguros que es posible su desarrollo técnico en las siguientes fases del proyecto. ==== 1. Dar de alta en JIRA ==== Un **Ingeniero de Requisitos** (distinto al que escribió el documento de requisitos) DEBE crear un **JIRA** con los siguientes datos, y **registrar las horas de trabajo** en ella: ^ Tipo ^ Sumario ^ Disciplina ^ Proceso ^ Version Fijada ^^^ | //Tarea// | //Comprobar Requisitos Técnicamente// | //Requisitos// | // REQ-ValidarRequisitos// | //[Versión del proyecto]// | ==== 2. Comprueba que los requisitos están técnicamente bien escritos ==== El Ingeniero de Requisitos, **DEBE** revisar cada uno de los requisitos presentes en el **Documento de Requisitos** (Casos de Uso, Historias y Requisitos no funcionales). **2.1.** **PARA CADA UNO** de los requisitos se debe verificar que: * Sea **Consistente**: Debe ser coherente con el resto de requisitos para que no se contradigan entre ellos. * Sea **Adecuado para ser implementado**: Debe ser posible su implementación con las tecnologías actuales existentes en ATICA. * Sea **Claro**: Debe estar adecuadamente escrito de manera que se entienda fácilmente lo que exponen y que no de lugar a equivocos. * Sea **Verificable (Testeable)**: Es importante que podamos probar el requisito. Debe estar escrito de manera que pueda ser probado, preferiblemente de manera automática. * Sea **Trazable**. Debe incluirse información suficiente para establecer trazabilidad entre requisitos (visión, casos de uso, historias y no funcionales) y entre requisitos y artefactos de código. * **Trazabilidad hacia arriba**: Es decir, establecer relación entre el documento de visión y los requisitos. Para ello, **CADA** requisito en el documento de requisitos debe incluir el **código del documento de visión** del que deriva (VIS-XX). * **Trazabilidad hacia abajo**: Esto se conseguirá a través de JIRA, se ve en la siguiente tarea. **2.2.** En general, en el **Documento de requisitos** se debe verificar que se **CUMPLA**: * Ser **Completo**: Debe contener toda la información necesaria para poder analizar, diseñar y desarrollar los componentes necesarios para satisfacer el requisitos. * Ser **Consistente**: Al igual que a nivel individual, todos los requisitos deben ser coherentes y no contradecirse entre ellos. **2.3.** Una vez comprobado todo lo anterior, se **MODIFICARA** el **Documento de Requisitos** de manera que a **CADA REQUISITO** se le añadan los dos siguientes campos: * **Validado por:** Nombre del Ingeniero de Requisitos. * **Fecha**: Fecha de validación. **2.4.** Para finalizar, registrar las horas de trabajo empleadas en el JIRA anterior. ===== MDA-TR-1.0-REQ-Aprobar Requisitos ===== ==== 1. Dar de alta en JIRA ==== El jefe de proyecto crea un JIRA para la reunión de aprobación con el cliente, con los siguientes datos: ^ Tipo ^ Descripción ^ Disciplina ^ Proceso ^Label ^ Version Fijada ^^^ | //Tarea// | //Reunión Aprobación Documento Requisitos// | //Requisitos//|//REQ-Validar Requisitos// | REUNION | //[Versión del proyecto]// | ==== 2. Reunión de Aprobación ==== En esta tarea se realizará la reunión para intentar aprobar los requisitos por parte del cliente. **2.1.** Fijar una reunión con el cliente * Asistentes: Jefe de Proyecto, Ingeniero de Requisitos, Cliente/s. **2.2.** Durante la reunión, se le debe guiar al cliente, explicándole cada uno de los requisitos, y comentándole cada uno de las repercusiones de cada requisito. ==== 3. Crear documento de Acta de Aprobación Requisitos ==== **2.1.** El jefe de proyecto, tras la reunión, inicia la creación de un nuevo **Acta de Reunión**. ^Plantilla^Siglas^Nomenclatura^Ubicación^ |[[https://svn.um.es/svn/MNCS/NuevaMNCS/MEDEA/web_iuturna/Proyecto/Fuentes/Documentacion/1.GestionProyecto/Acta.ott|ActaAprobaciónRequisitos]]| ACT | XXX-yyyymmdd-ACT-AprobacionRequisitos.odt | ///Proyecto/Documentacion/1.GestionProyecto/1.2.OrdenesYactas// | **2.2.** Escribir la siguiente sección del **Acta de Aprobación**: * "//1. Conformidad//", Conformidad del cliente. ==== 4. Crear las Historias en JIRA que representan los Requisitos ==== **PARA CADA** Requisito identificado en el documento de Requisitos, validado técnicamente y además aprobado por el cliente. El jefe de proyecto Da de alta un **JIRA** con los siguientes datos ^ Tipo ^ Descripción ^ Disciplina ^ Proceso ^Requisito ^ Version Fijada ^^^ | //Historia// | //REQ-XX: Descripción Requisito// | //Desarrollo//|//DE-Crear componentes// | //Código Requisito//|//[Versión del proyecto]// | ===== MDA-TR-1.0-REQ-Aprobar Diseño ===== Esta tarea se realizará tras el proceso de Diseño del proyecto; en ella, se han creado los prototipos de interfaces de usuario, que deben ser aprobados por el cliente. ==== 1. Dar de alta la tarea en JIRA ==== Se debe de crear un JIRA para la reunión de aprobación del diseño con el cliente, con los siguientes datos: ^ Tipo ^ Descripción ^ Disciplina ^ Proceso ^Label ^ Version Fijada ^^^ | //Tarea// | //Reunión Aprobación Interfaz Diseño// | //Requisitos//|//REQ-Validar Requisitos// |REUNION| //[Versión del proyecto]// | ==== 2. Reunión de Aprobación ==== En esta tarea se realizará la reunión para intentar aprobar los diseños por parte del cliente. **2.1.** Fijar una reunión con el cliente (Puede ser la misma que la reunión de aprobación de requisitos) * Asistentes: Jefe de Proyecto, Diseñador de interfaces, Cliente/s. **2.2.** Durante la reunión, se le debe guiar al cliente, explicándole cada uno de los diseños y la navegación entre pantallas. ==== 3. Crear documento de Acta de Aprobación Diseño ==== **3.1.** Iniciar la creación de un nuevo **Acta de Reunión**. ^ Plantilla del Artefacto ^ SIGLAS ^ Nomenclatura ^ Ubicación ^^^ |[[https://svn.um.es/svn/MNCS/NuevaMNCS/MEDEA/web_iuturna/Proyecto/Fuentes/Documentacion/1.GestionProyecto/Acta.ott|ActaAprobaciónDiseño]]| ACT | XXX-yyyymmdd-ACT-AprobacionDiseno.odt | ///Proyecto/Documentacion/1.GestionProyecto/1.2.OrdenesYactas// || **3.2.** Escribir la siguiente sección del **Acta de Aprobación**: * "//1. Conformidad//", Conformidad del cliente. ====== Artefactos ====== ===== De entrada ===== ^ Plantilla del Artefacto ^ SIGLAS ^ Nomenclatura ^ Ubicación ^^^ |[[https://svn.um.es/svn/MNCS/NuevaMNCS/MEDEA/web_iuturna/Proyecto/Fuentes/Documentacion/2.Requisitos/DocumentoRequisitos.odm|Documento de Requisitos]]| DRQ | XXX-DRQ-1.2.3-DocumentoRequisitos | ///Proyecto/Documentacion/2.Requisitos// | * **NOTAS**: * XXX: Código del proyecto. * 1.2.3: Número de version del documento. ===== De salida ===== ^ Plantilla del Artefacto ^ SIGLAS ^ Nomenclatura ^ Ubicación ^^^ |[[https://svn.um.es/svn/MNCS/NuevaMNCS/MEDEA/web_iuturna/Proyecto/Fuentes/Documentacion/1.GestionProyecto/Acta.ott|ActaAprobaciónRequisitos]]| ACT | XXX-yyyymmdd-ACT-ActaAprobaciónRequisitos.odt | ///Proyecto/Documentacion/1.GestionProyecto/1.2.OrdenesYactas// || |[[https://svn.um.es/svn/MNCS/NuevaMNCS/MEDEA/web_iuturna/Proyecto/Fuentes/Documentacion/1.GestionProyecto/Acta.ott|ActaAprobaciónDiseño]]| ACT | XXX-yyyymmdd-ACT-ActaAprobaciónRequisitos.odt | ///Proyecto/Documentacion/1.GestionProyecto/1.2.OrdenesYactas// || * **NOTAS**: * XXX: Código del proyecto. * yyyymmdd: corresponde a un número con el año, mes y día en formato numérico ====== Herramientas ====== ^ Herramienta ^ Version ^ Utilizada en ^ Descarga ^^^ |OpenOffice Writer | 3.3 |Documento Análisis, Documento Diseño | http://es.openoffice.org/ || |[[https://jira.atica.um.es/jira/|JIRA]] | 4.2.x | Modificación de las tareas para acumular tiempo o resolverlas. | | ====== Métricas ====== Las métricas del proyecto se guardarán dentro de la carpeta del proyecto en //Proyecto/Documentacion/1.Gestionproyecto/1.4.Metricas//. Las métricas de este proceso en concreto se almacenan en la Hoja //REQ//. ^**NOTA:** Todos los tiempos se miden en horas, salvo que se indique expresamente lo contrario.^ ===== Tiempo dedicado al proceso ===== - Entra en Jira en el navegador de incidencias. Realiza una query simple y selecciona todas las tareas del proyecto. * project = //ClaveDelProyecto// * Disciplina-Proceso = //Requisitos//-//REQ-ValidarRequisitos// Pulsa el botón //Search// Usa la [[https://svn.um.es/svn/MNCS/NuevaMNCS/MEDEA/web_iuturna/Proyecto/Fuentes/Documentacion/1.GestionProyecto/PlantillaSeguimiento.ots|Plantilla de Seguimiento]] tal y como se indica en el apartado [[mda:Calcular_Tiempos|Calcular tiempos con Jira]]. ===== Tiempo total empleado en reuniones de Validar requisitos ===== - Entra en Jira en el navegador de incidencias. Realiza una query simple y selecciona todas las tareas del proyecto. * project = //ClaveDelProyecto// * Disciplina-Proceso = //Requisitos//-//REQ-ValidarRequisitos// * Label = //REUNION// Pulsa el botón //Search// Usa la [[https://svn.um.es/svn/MNCS/NuevaMNCS/MEDEA/web_iuturna/Proyecto/Fuentes/Documentacion/1.GestionProyecto/PlantillaSeguimiento.ots|Plantilla de Seguimiento]] tal y como se indica en el apartado [[mda:Calcular_Tiempos|Calcular tiempos con Jira]]. ^**NOTA: ** Si a una determinada reunión van tres personas debemos sumar el tiempo de las tres personas que asistieron. Si todas las personas que asistieron a la reunión introdujeron sus horas en Jira, obtendremos esta métrica correctamente.^