====== Definir el proyecto ====== {{:mda:gp:mda-pr-1.1-gp-definicion_del_proyecto.png?900x1300|Definición del proyecto}} ====== Objetivos ====== El objetivo principal del proceso **Definición del proyecto** es identificar todas aquellas variables que van a ser críticas durante el desarrollo del proyecto y obtener control sobre ellas desde el comienzo. Esto se consigue a través de la elaboración de un buen Plan de Proyecto. El Plan de Proyecto es el instrumento que nos permite gestionar todos los aspectos críticos: * Clientes * Equipos de trabajo * Entorno tecnológico * Herramientas * Compromisos con y del cliente * Plazos de entrega, etc. El Plan de Proyecto es el marco en que vamos a definir todos los factores que nos influyan en el desarrollo del proyecto. Aunque el plan nos permitirá hacer un seguimiento adecuado del proyecto y tomar decisiones cuando el proyecto se aparte significativamente de las decisiones tomadas, **no es un cronograma** de las actividades del proyecto. En el Plan del Proyecto definiremos cosas como quiénes son nuestros interlocutores en el proyecto, qué metodologías, herramientas, ciclo de vida vamos a utilizar para desarrollar el software, cuál es el grupo de trabajo, qué formación necesita para llevar a cabo con éxito el proyecto, qué seguimiento le vamos a hacer al proyecto, cada cuánto tiempo vamos a realizar informes de seguimiento, etc. ====== Roles ====== El jefe de proyecto es el responsable de iniciar el proyecto y comenzar con su definición. ^ Rol ^ Tareas que interviene ^^^ |**Jefe de Proyecto**| | | |MDA-TR-1.0-GP-Identificar el Proyecto| | |MDA-TR-1.0-GP-Realizar el Plan de Proyecto| | |MDA-TR-1.0-GP-Crear y configurar el entorno del Proyecto| ====== Tareas ====== Una vez dispongas del proyecto en Jira (ver como [[mda:crear_proyecto_jira|dar de alta un proyecto en JIRA]]), da de alta las tareas correspondientes en Jira. En el campo Disciplina-Proceso de la tarea introduce los valores //Gestión de Proyectos//-//GP-Definir el proyecto//. Esto es imprescindible para luego poder recabar las métricas de este proceso. Crea la versión 1.0.0 del proyecto en [[https://jira.atica.um.es/jira/|Jira]]. Para ello selecciona la opción de menú //Administración -> Proyectos// y selecciona el nombre del proyecto. En la parte inferior derecha de la pantalla selecciona //Manage// dentro del marco **Versions** y da de alta la versión 1.0.0 ^Version Name^Description^ |1.0.0|Versión 1.0.0 de la aplicación **NombreAplicación**| ===== MDA-TR-1.0-GP-Identificar el Proyecto ===== ==== 1.- Celebra una primera reunión con el Cliente ==== La aplicación puede ser una nueva aplicación o la ampliación de funcionalidades de la aplicación existentes. Envíale previamente un orden del día realizado con la plantilla [[https://svn.um.es/svn/MNCS/NuevaMNCS/MEDEA/web_iuturna/Proyecto/Fuentes/Documentacion/1.GestionProyecto/Orden.ott|Orden del día]]. Sigue las [[mda:req:mda-pr-1.0-req-alcance#Artefactos|instrucciones]] acerca de cómo nombrar el documento de órden del día y dónde debes guardarlo. Los puntos a abordar en el órden del día de esta primera reunión con el cliente son: * Breve descripción del proyecto. (Una primera visión de muy alto nivel) * Personal del cliente involucrado en el proyecto. (nombres, cargos, correos, email, etc.) * Plan Seguimiento del proyecto. (Cuéntale como va a desarrollarse temporalmente el proyecto, fases de requisitos y análisis, periodicidad de las iteraciones, envío de informes de avance) * Calendario de reuniones de requisitos * Escalado de asuntos (Compromiso de plazos de respuesta en ambos sentidos) **Elabora el acta de la reunión** Para realizar el acta utiliza la plantilla [[https://svn.um.es/svn/MNCS/NuevaMNCS/MEDEA/web_iuturna/Proyecto/Fuentes/Documentacion/1.GestionProyecto/Acta.ott|Acta]]. Sigue las [[mda:req:mda-pr-1.0-req-alcance#Artefactos|instrucciones]] acerca de cómo nombrar el acta y dónde debes guardarlo. Envíala a los participantes para su aprobación. **OjO** 8-O Por cada reunión da de alta un Jira al que debes imputar todas las horas de trabajo que ha llevado la reunión (elaborar orden del día, reunión en sí, y acta): ^ Tipo ^ Fecha de Entrega ^ Sumario ^ Disciplina ^ Proceso ^ Label ^ Version Fijada ^^^ | //Tarea// | //Fecha de la reunión// |// Motivo reunión//| //Gestión de Proyecto// | //GP-Definir el proyecto// | REUNION | //[Versión del proyecto]// | Clona esta tarea en Jira por cada uno de los participantes, de modo que cada uno de ellos pueda asignarle las horas que duró la reunión. :!: Que el Jefe de Proyecto dé por cerrada la tarea una vez se apruebe el acta de la reunión. ===== MDA-TR-1.0-GP-Realizar el Plan de Proyecto ===== ==== 1.- Crear un nuevo Plan de Proyecto (PP) ==== Utiliza la plantilla [[https://svn.um.es/svn/MNCS/NuevaMNCS/MEDEA/web_iuturna/Proyecto/Fuentes/Documentacion/1.GestionProyecto/PlanProyecto.ott|Plan de proyecto]] para crear un nuevo plan de proyecto. Sigue las [[mda:gp:mda-pr-1.0-gp-definicion_del_proyecto#De salida|instrucciones]] de nombrado, y asigna un nombre al proyecto y la misma clave que te asignaron en Jira para el proyecto. - Apartado 1 del PP. * Introduce como versión del Plan de proyecto la 1.0 y como autor al jefe del proyecto. * Introduce la fecha de inicio del proyecto y la fecha prevista para su finalización. * Identifica al cliente. Normalmente el cliente será una Unidad Administrativa, por ejemplo Sección de Títulos, Gestión Académica, Unidad para la Calidad, Servicio de relaciones internacionales, etc. - Apartado 3 del PP. Introduce una descripción del proyecto. No debe ser muy detallada, este apartado no es más que una breve descripción. Más adelante en el [[https://svn.um.es/svn/MNCS/NuevaMNCS/MEDEA/web_iuturna/Proyecto/Fuentes/Documentacion/2.Requisitos/DocumentoVision.ott|Documento de Visión]] se hará la descripción del proyecto con todo el detalle necesario, pero no está de más que en esta primera fase de definición del proyecto se plasme por escrito esta breve descripción que nos sirva para "enfocar" el proyecto. Incluye lo siguiente: * Objetivos del proyecto * Características técnicas del producto a desarrollar * Principales funcionalidades * Cliente y sus necesidades - **Crea una tarea en Jira para la escritura del Plan de Proyecto**: ^ Tipo ^ Sumario ^ Disciplina ^ Proceso ^ Label ^ Version Fijada ^^^ | //Tarea// | // Escribir Plan de Proyecto//| //Gestión de Proyecto// | //GP-Definir el proyecto// | PP | //[Versión del proyecto]// | * Sí participan varias personas en la escritura del Plan de Proyecto que cada una clone la tarea y se la asigne. * Que cada una de las personas que han participado en la escritura del Plan de Proyecto se computen horas. ==== 2.- Incluir contactos en el Cliente ==== - Apartado 2 del PP. Introduce los contactos del proyecto en el apartado 2.- Contactos del [[https://svn.um.es/svn/MNCS/NuevaMNCS/MEDEA/web_iuturna/Proyecto/Fuentes/Documentacion/1.GestionProyecto/PlanProyecto.ott|Plan de proyecto]]. Los contactos serán las personas del cliente que están involucrádas en el proyecto. Incluye directivos de la unidad cliente, expertos de la unidad cliente, aquellos usuarios que van a validar el software o que van a determinar los requisitos de producto. La información relevante es información de contacto, nombre, teléfono, correo, fax, etc. ==== 3.- Realizar el Plan de Monitorización ==== - Apartado 5.2 del PP Establece un calendario de reuniones de periodicidad fija con el cliente. Conviene distinguir entre la fase de definición de requisitos, en la que han de ser más frecuentes y la fase de desarrollo en que las reuniones pueden ser más esporádicas para presentar el resultado del desarrollo. Establece plazos para enviar informes de avance del proyecto al cliente. Si utilizas una metodología Iterativa e incremental para el desarrollo del proyecto, escoge plazos que coincidan con el final de las iteraciones. Envía también informes al final de cada fase, análisis, desarrollo, pruebas, etc. - Apartado 5.3 del PP Establece tiempos de respuesta por parte de los clientes a las cuestiones que les envíes. Establece también a quién debes preguntarle si se superan los tiempos de respuesta indicados. Así no esperarás respuestas eternamente. ==== 4.- Definir el Equipo ==== - Apartado 6 del PP Identifica las personas que van a desempeñar cada uno de los roles en el proyecto. Los roles van incluidos ya en la tabla del PP. No puedes eliminar roles ni añadir roles, ya que los roles vienen prefijados por la metodología. Sí puede suceder que una misma persona desempeñe varios roles en el proyecto o que un rol sea desempeñado por varias personas. Recoge aquí también el equipo del cliente, personas que van a intervenir para descubrir los requisitos de la aplicación, para hacer las pruebas, para validar la aplicación, etc. Procura que el equipo del cliente también tenga cubierto los diferentes roles necesarios, el propio cliente, expertos en el negocio, y usuarios de la aplicación. Puede haber otras personas que tengan algún tipo de responsabilidad ¿Sistemas, Unidades afectadas de manera indirectas, Jefes de proyecto de otras aplicaciones? ===== MDA-TR-1.0-GP-Crear y configurar el entorno del Proyecto ===== ==== Qué es el entorno del Proyecto ==== Cuando hablamos del "entorno" del proyecto estamos hablando de: * SVN: necesitamos que Sistemas nos proporcione un repositorio SubVersion para el proyecto, que además incluya la [[mda:gc:mda-pr-1.0-gc-establecer_el_sistema_de_gestion_de_configuracion#estructura_de_directorios_del_proyecto | estructura de directorios]] de MEDEA, de modo que podamos empezar a usar las plantillas de MEDEA. * JIRA: es necesario también, que el [[grp:responsble_jira|Responsable de JIRA]] dé de [[mda:crear_proyecto_jira| alta nuestro proyecto en JIRA]], para poder empezar a gestionarlo adecuadamente. * FUNDEWEB: además, necesitaremos que Sistemas dé de alta la aplicación web (sea FundeWEB o no) en el servidor de aplicaciones correspondiente (desarrollo/pruebas y explotación). * ORACLE: también será necesario que Sistemas cree los usuarios de Base de Datos que sean necesarios (usuario propietario del modelo de datos, fuente de datos, etc). * JENKINS: y finalmente, el propio jefe de proyecto debe [[https://fundeweb.um.es/prototipo/gt/ic_crear_proyecto.seam?cid=96|crear el proyecto en el Servidor de Integración Continua (Jenkins)]], y [[https://fundeweb.um.es/prototipo/gt/ic_configurar_proyecto.seam?cid=101|configurar el proyecto en dicho Servidor de Integración Continua]] * ARCHIVO ELECTRÓNICO o GESTOR DOCUMENTAL: Si estás involucrado en un proyecto/aplicación que maneja uno o varios documentos, que van a ser almacenados en el Gestor Documental (Alfresco), debes asegurarte de si el documento o documentos en cuestión DEBEN guardarse en el** [[https://wiki.um.es/wikis/programador/doku.php?id=bpm:arc:archivado_electronico#archivo_electronico|Archivo Electrónico]], **consultando con [[danielsm@um.es|Daniel Sánchez]] (extensión 9531) y/o [[jesus.jimenez@ticarum.es|Jesús Jiménez Re]] (extensión 8753). ==== Cómo crear y configurar el entorno del Proyecto ==== Todas estas tareas se pueden resumir en poner partes de trabajo en JIRA a: * Sistemas: pon un jira al proyecto [[https://jira.um.es/jira/browse/MIDWEB|MIDDLEWARE WEB]] especificando que se trata de una aplicación MEDEA, y Sistemas automáticamente creará todo lo necesario (repositorio SVN, usuarios de BD y servidores de aplicaciones). * Si la aplicación es FundeWEB rellena la [[https://svn.um.es/svn/MNCS/proyectos/fundeweb/documentos%20de%20trabajo/seam/Documentacion/Plantillas%20Aplicaciones%20Fundeweb/Aplicacion_Seam.txt|siguiente plantilla]] y consulta el proceso [[mda:de:mda-pr-1.0-de-organizar_el_codigo#solicitud_de_creacion_del_proyecto_de_desarrollo|Organizar el Código]] de la disciplina [[mda:de:desarrollo|Desarrollo]], para ver qué información adicional necesita Sistemas. * Si la aplicación NO es web, pon un jira al proyecto [[https://jira.um.es/jira/browse/MIDWEB|MIDDLEWARE WEB]] para que Sistemas cree el repositorio SVN para tu proyecto. En cualquier caso, indica el nombre del repositorio SVN, y los usuarios que han de tener acceso y/o permisos de lectura/escritura. * Si necesitas algún esquema de BD adicional, solicítalo a Sistemas, poniendo un jira al proyecto [[https://jira.um.es/jira/browse/BD|DJ-AT Base de datos]], asegurándonos de proporcionar a Sistemas los datos necesarios que se indican en la [[plsql:normativa_desarrollo_bd#solicitar_a_sistemas_un_esquema_de_bd | Normativa de Desarrollo de Base de Datos]]. * JIRA: solicita al [[grp:responsble_jira|Responsable de JIRA]] que dé de [[mda:crear_proyecto_jira| alta tu proyecto en JIRA]] según las instrucciones del enlace anterior. * Jefe de Proyecto: debe [[https://wiki.um.es/wikis/programador/doku.php?id=fdw2.0:fundeweb2.0#servidor_de_integracion_continua_jenkins|crear y configurar el proyecto en el Servidor de Integración Continua (Jenkins)]]. :!: Los enlaces anteriores son guías técnicas del Portal de FundeWEB. ==== Completar el PP (Plan del Proyecto) ==== Termina de rellenar los apartados 4.1, 4.2 y 4.3 del PP - Identifica la versión de MEDEA que estás utilizando y ponla en el apartado 4.1 - Identifica el entorno de desarrollo y coloca las versiones de los distintos servidores que vamos a utilizar en el apartado 4.2. - Identifica las herramientas y versiones que vas a utilizar y escríbelo en el apartado 4.3. ====== Artefactos ====== ===== De salida ===== ^ Plantilla del Artefacto ^ SIGLAS ^ Nomenclatura ^ Ubicación ^^^ |[[https://svn.um.es/svn/MNCS/NuevaMNCS/MEDEA/web_iuturna/Proyecto/Fuentes/Documentacion/1.GestionProyecto/Orden.ott|OrdenDelDía]] |ORD|XXX-yyyymmdd-ORD-Descripción|//Proyecto/Documentacion/1.GestionProyecto/1.2.OrdenesYactas//| |[[https://svn.um.es/svn/MNCS/NuevaMNCS/MEDEA/web_iuturna/Proyecto/Fuentes/Documentacion/1.GestionProyecto/Acta.ott|Acta]] | ACT|XXX-yyyymmdd-ACT-Descripción|//Proyecto/Documentacion/1.GestionProyecto/1.2.OrdenesYactas//| |[[https://svn.um.es/svn/MNCS/NuevaMNCS/MEDEA/web_iuturna/Proyecto/Fuentes/Documentacion/1.GestionProyecto/PlanProyecto.ott|PlanDeProyecto]]|PP|XXX-PP-1.2.3-PlanDeProyecto|//Proyecto/Documentacion/1.GestionProyecto/1.1.Planificacion//| |Repositorio SVN| | |https://svn.um.es/svn/NombreProyecto| |Proyecto Jenkins| NombreProyecto_GrupoTrabajo| |https://jenkins.um.es| * **NOTAS**: * XXX: Código del proyecto. * yyyymmdd: corresponde a un número con el año, mes y día en formato numérico * 1.2.3: Número de version del documento. * Descripción: corresponde con una breve descripción del asunto de la reunión ^**NOTA:** Para la copia de trabajo se recomienda separar el código -y tratarlo tal y como se especifica en las guías técnicas de FundeWeb- y la documentación del proyecto.^ ====== Herramientas ====== ^ Herramienta ^ Version ^ Utilizada en ^ Descarga ^^^ |OpenOffice Writer | 3.3 | Todas | Novell|| |TortoiseSVN | 1.6.2 | Crear y configurar el entorno del Proyecto| [[http://sourceforge.net/projects/tortoisesvn/files/ | Disponible en Sourceforge ]]| | Jenkins| 1.651 | Crear y configurar el entorno del Proyecto | [[https://jenkins.um.es|Disponible en linea]] | ====== 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 //GP//. ^**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 = //Gestión de Proyectos//-//GP-Definir el proyecto// 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]]. ===== Nº de Reuniones Realizadas ===== - Cuenta el número de reuniones realizadas ===== Tiempo total dedicado a reuniones ===== - Entra en Jira en el navegador de incidencias. Realiza una query simple y selecciona todas las tareas del proyecto. * project = //ClaveDelProyecto// * Disciplina-Proceso = //Gestión de Proyectos//-//GP-Definir el proyecto// * 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.^ ===== Tiempo dedicado a redactar el Plan de Proyecto ===== - Entra en Jira en el navegador de incidencias. Realiza una query simple y selecciona todas las tareas del proyecto. * project = //ClaveDelProyecto// * Disciplina-Proceso = //Gestión de Proyectos//-//GP-Definir el proyecto// * Label = //PP// 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]].