Herramientas de proceso de Desarrollo de Software

Page 1

Gestiรณn de Procesos de Desarrollo Software TEMA 3 - Herramientas de Gestiรณn del Desarrollo de Software Edson Terceros Marzo 2018


Attlassian • Empresa de so*ware con sede en Australia que crea productos para empresas y desarrolladores de so*ware en par5cular • Fundada en Sidney en 2002, cuenta con oficinas en San Francisco, Amsterdam y Tokio. • Líder en el Cuadrante Mágico de Gartner para herramientas de Planificación Agil Empresarial.


Productos de Atlassian Planificación, seguimiento y liberación de software. Organiza, crea documentos y analiza cualquier tema de forma centralizada. Comunicación de equipo. Chat de grupo, videochat y uso compartido de pantalla. Gestión de identidades e inicios de sesión únicos

Colabora en la creación de código con comentarios en línea y solicitudes de incorporación de cambios. Gestiona y comparte tus repositorios Git para compilar y lanzar software en equipo. Aprovecha las posibilidades que ofrecen Git y Mercurial. Cliente de escritorio de Git y Mercurial.

Integración despliegue y versiones.

continua, gestión de

Busca, supervisa y realiza el seguimiento en los repositorios de SVN, Git y Perforce. Detecta errores y mejora la calidad del código mediante revisión por pares.


Arquitectura de Jira Software


Arquitectura de Jira Software: Componentes - WebWork • JIRA es una aplicación web. • JIRA u2liza WebWork 1 de OpenSymphony • Procesar las solicitudes web enviadas por los usuarios.

• WebWork 1 es un framework MVC similar a Struts. • Cada solicitud es manejada por una acción de WebWork que usualmente usa otros objetos, como clases de u2lidad y Administrador para realizar una tarea.

• JIRA usa JSP para la capa de Vista


Arquitectura de Jira Software: Componentes JIRA WebWork actions and src/webapp/WEBINF/classes/actions.xml


Arquitectura de Jira Software: Componentes - Seraph • La auten'cación en JIRA se realiza a través de Seraph, el framework de auten'cación web de código abierto de Atlassian. El obje'vo de Seraph es proporcionar un sistema de auten'cación simple y extensible a usar en cualquier servidor. • Implementado como un Servlet Filter. • Solo auten'fica usuarion y delega la ges'ón de usuarios a Crowd


Arquitectura de Jira Software: Componentes – Crowd embedido • Administración de identidad y Single Sign On (SSO) de Atlassian. • Tanto JIRA como Confluence ahora integran un subconjunto de módulos principales de Crowd para una administración de usuarios potente y consistente. • Funcionalidad: • • • • •

Almacena usuarios y grupos en la base de datos de JIRA Almacena Membresía de grupos en la base de datos de JIRA Autentica usuarios API que permite administrar usuarios, grupos y membresías de grupos. Permite a JIRA conectarse a sistemas externos para recuperar datos de usuarios / grupos (por ejemplo, Microsoft AD, LDAP)


Arquitectura de Jira Software: Componentes – Clases de JIRA Utility and Manager • Las clases son clases de utilidad o gestores de objetos. • Los objetos gestores tienen un objetivo específico. Por ejemplo, com.atlassian.jira.project.version.VersionManager se utiliza para trabajar con versiones de proyectos, CRUD de versiones. • Cualquier validación la realizan las clases de servicio mientras que las clases de gestión son responsables de hacer la acción. • ProjectService tiene validateCreate y su correspondiente método de creación. • ProjectManager tiene un método para crear un proyecto suponiendo que la validación ya sucedió.


Jira y Confluence: Gestión de Proyectos • Gestión de proyectos SSI tiene dos componentes principales: • JIRA: gestión de problemas basada en la web • Confluence: wiki de texto enriquecido

• Aprovechar las fortalezas de su integración


Jira y Confluence: Plan de Trabajo • Ges$ón de tareas del plan de trabajo del proyecto SSI • Tareas asociadas con cada Epic • Tareas basadas en los hitos (millestone) del Plan de Trabajo • Flujo de trabajo simple y reversible


Jira y Confluence: Confluence • Interfaz web centralizada • Documentación técnica y de proyecto • • • • •

Pagina de inicio de proyectos Páginas de inicio del proyecto individual Desarrollo del plan de trabajo Informes Tableros de proyectos

• Interfaz de usuario simple pero potente • Altamente personalizable


Jira y Confluence: Issue JIRA • Se pueden “asignar” (incluso a si mismo) así como “mirar”(observar) • Colaboración: los comentarios agregados generan notificaciones por correo electrónico a los asignados y observadores, y se asocian con cada problema para una futura referencia fácil


Jira y Confluence: Uso en SSI • Cada proyecto de SSI tendrá un JIRA Epic padre y una página principal Confluence vinculada. (Gestión de proyectos) • Ambos funcionan como un tablero para el proyecto • JIRA Epic para coordinar fases / estados del proyecto (como la creación del plan de trabajo, informes, etc.). • Tareas asociadas de JIRA vinculadas a un Epic, para representar hitos / tareas en el proyecto

• Página de inicio del proyecto Confluence • Tablero de estado • Enlaces de creación de reportes • Enlace de creación del plan de trabajo


Roles y Responsabilidades del Gerente del Proyecto • Una vez no(ficado de un proyecto entrante

• Crear un JIRA Epic para el proyecto • Crear la página de inicio del proyecto Confluence (con un enlace de estado del proyecto) • Crear el plan de trabajo con un enlace al Epic

• Asignar proyecto al administrador L3 (transición a “Proyecto abierto”)

• Trimestralmente:

• Cambiar todos los reportes elegibles trimestrales del proyecto a “Reportes trimestrales”

• Según sea necesario

• Procesar extensiones de proyectos existentes

• Al final del proyecto

• Transición del proyecto al estado ”Reporte Final" • Cuando se complete el reporte, enviar el reporte final a los directores L2 y hacer la transición a ”Entrevista".

• Después de la entrevista

• Ingrese los resultados de la entrevista en el Epic, y hacer la transición a ”Cierre Final”


Roles y responsabilidades de los administradores de L3 • Cuando reciba el proyecto de PM, verificar que el proyecto sea apropiado para el área L3 • Recluta / asigna personal adecuado y se asegura de que estén en la lista del Epic padre • Transición del proyecto a “Consultor escribe Plan de trabajo” • Revisar y aprobar el plan de trabajo, transición del proyecto a "Proyecto en progreso" • Monitorizar proyectos (progreso, informes, etc) • Aprobar los planes de trabajo modificados según sea necesario


Funciones y responsabilidades de los expertos de SSI • Expertos de SSI comenzarán su trabajo en Confluence, definiendo el plan de trabajo con el equipo de investigación

• A través de JIRA, el equipo le indicará al gerente L3 que el plan de trabajo está listo para su revisión

• Una vez que L3 aprueba el plan de trabajo (indicado al colocar el proyecto en "Proyecto en progreso"), los expertos de SSI se encargan de:

• Crear problemas JIRA desde el plan de trabajo • Asignar problemas según corresponda y asignar observadores (colaboradores) según corresponda.

• Escribir informes trimestrales (Confluence) cuando se le notifique, y devuelva el proyecto a "Proyecto en progreso" cuando se complete con el informe. • Escriba los informes finales (en confluencia) cuando se le notifique y cambiar el estado a "Proyecto cerrado"


Roles y responsabilidades de los directores L2 • Los Directores L2 deberían poder acceder a los dashboards del proyecto en Confluence para conocer rápidamente el estado de los proyectos en SSI. • Los directores L2 realizan entrevistas después del "Proyecto cerrado" • Los resultados de las entrevistas se comunican al director del proyecto PM, y lo registra en el Epic apropiado y hace la transición del proyecto a “Cierre Final”


Crear un Proyecto Scrum en JIRA Parte1 • Navega a la url de la instancia de JIRA h5p://localhost:8080 • Crear un proyecto Scrum


Crear un Proyecto Scrum en JIRA Parte2 • Seleccionar Scrum Software • Introducir el nombre del proyecto y su código


Crear un Proyecto Scrum en JIRA Parte3 • Seleccionar Scrum Software • Introducir el nombre del proyecto y su código


Crear un Proyecto Scrum en JIRA Parte4


Crear un Proyecto Scrum con Datos de Ejemplo Precargados Parte1 • Navega a la url de la instancia de JIRA a la pagina de bienvenida http://localhost:8080/secure/W elcomeToJIRA.jspa • Seguir los mismo pasos de creación de un proyecto nuevo.


Crear un Proyecto Scrum con Datos de Ejemplo Precargados Parte2


Configuración de un Proyecto Scrum • Navegar al proyecto a eliminar • Hacer clic en Project Settings • La pagina de configuración ofrece diferentes acciones de configuración como se aprecia


Desarrollo del plan de trabajo en Confluence • Cuando se le asignó el proyecto, debería incluir un link a la página de inicio del proyecto. • Si no, navegar al Espacio de proyectos de SSI.


Desarrollo del plan de trabajo en Confluence โ ข Puede navegar al รกrea L3 apropiada


Desarrollo del plan de trabajo en Confluence โ ข Luego a la pรกgina de inicio del proyecto


Desarrollo del plan de trabajo en Confluence • Luego a la pagina del plan de trabajo.


Desarrollo del plan de trabajo en Confluence • Entrar en modo Edición del plan de trabajo


Desarrollo del plan de trabajo en Confluence • Existe texto instructivo (gris) agregado como guía a la edición. • Solo seleccione y comience a escribir


Desarrollo del plan de trabajo en Confluence • Seleccionar una fila en una tabla ilumina los controles de edición de la tabla • (por ejemplo, insertar fila, eliminar fila, etc.)

• Esto permi9ría agregar elementos a las tablas en el plan de trabajo según sea necesario


Desarrollo del plan de trabajo en Confluence • Compartir el plan de trabajo a través de Confluence Export • exportarlo a PDF o Word.

• Cuando el Plan de Trabajo haya sido aprobado • Transformar el plan en tareas en JIRA


Plan de trabajo en Confluence: Creación issues JIRA • Marca (selecciona) la primera tarea en la tabla tarea / hitos • Seleccione el icono emergente de JIRA


Plan de trabajo en Confluence: Creación tareas JIRA • Compruebe que corresponda a SSI y tipo Tarea • Seleccionar Crear Múltiples Tareas de la tabla


Plan de trabajo en Confluence: Creaciรณn tareas JIRA โ ข Seleccione "Crear" para generar automรก2camente las tareas (esto puede haber sido hecho por su administrador L3)


Plan de trabajo en Confluence: Creación tareas JIRA • El plan de trabajo se ha transformado y se vincula a un conjunto de tareas de JIRA • El proyecto ahora esta listo para estar en progreso.


Proyecto en Progreso • El plan de trabajo se ha transformado y se vincula a un conjunto de tareas de JIRA • El proyecto ahora esta listo para estar en progreso.


Proyecto en Progreso • Con las tareas JIRA creadas, uno puede comenzar a trabajar en el proyecto • Seleccione una tarea para comenzar y navegar a la tarea JIRA


Proyecto en Progreso


Proyecto en Progreso: Issues en JIRA • Debería asignar la tarea al líder principal • Se pueden agregar otros colaboradores como observadores • Puede agregar archivos relacionados • Buena práctica: agregar comentarios a medida que avanza el trabajo


Proyecto en Progreso: Issues en JIRA • Puede avanzar en el flujo de trabajo a medida que avanza el trabajo • Ahora "Tarea en progreso” • Puede Acceder al Epic padre • Puede Acceder al Plan de Trabajo en Confluence


Agregar / modificar tareas en el Plan de trabajo • Entre en modo edición al Plan de Trabajo. • Seleccione la fila que desea agregar la tarea (antes o después) • Agregue una fila antes o después para una nueva tarea • Escriba el @tulo de la tarea JIRA • Seleccione el @tulo y u@lice el asistente de JIRA.


Agregar un Issue en JIRA • En el Dashboard del proyecto hacer clic en el botón Create • Issue type: por defecto son Tarea, Bug y Epic. • Summary: Es el titulo del issue • Reporter: el que registra el issue • Components: los componentes a los que afecta. • Descripcion: Puede utilizarce para reflejar la definición de aceptación. Describe el trabajo que tiene que realizarse.


Agregar un Issue en JIRA • Fix Version: Version en la que se hará efectiva. • Priority: Muy alta, alta, media, baja, muy baja. • Label: aplicar una etiqueta, útil en filtros. • Linked issues: tipo de relación con issues relacionados. • Issue: código de los issues relacionados. • Assignee: Responsable de realizar la tarea. • Epic link: si esta relacionado a un Epic • Sprint: Sprint al que corresponde


Agregar un Issue en JIRA • Navegar en la barra izquierda al sprint activo y podrá visualizar la tarea creada. • Haciendo clic en esta puede visualizar un resumen.


Agregar comentarios y archivos adjuntos a un Issue en JIRA • Ac#var a'achments en Administra#on-> System

Jira

• A'achements

• Una vez en un issue usted puede añadir: • Comentarios

• Referencia a personas con @nombre

• Archivos adjuntos (imagenes, etc) • Puede issues

observar


Seguimiento de Issues โ ข Filtros bรกsicos y avanzados


Características adicionales • Las actualizaciones por lote (bulk) se pueden aplicar a los issues devueltos por un filtro, por ejemplo, reasignándolos, cambiando su estado.


Características adicionales • Un issue puede ser clonado. • Un problema se puede descomponer en subtareas para un seguimiento más detallado o cuando hay varios Asignatarios.


Flujo de trabajo JIRA (Workflow) • Se asocia un flujo de trabajo a un proyecto para definir qué sucede con los problemas a medida que se mueven (la transición) a lo largo de su ciclo de vida. • • • • •

El estado en cualquier punto. Las condiciones bajo las cuales se permite una transición a ese Estado. Quién puede realizar una transición dada. Qué validaciones se deben realizar Qué procesamiento adicional se debe hacer después de una transición.


DashBoard • Es posible personalizar los Dashboard • Board->Configure


Backlog • Permite arrastrar mover issues

y

• los que están mas arriba tienen mas prioridad • Sirve para la planificación del Sprint


Reportes • JIRA presenta variedad de Reportes con diferentes propósitos


Releases y Componentes

• Los releases están compuestos de issues.

• Al hacer reléase Bitbucket genera un build.

• Los componentes permiten dividir en subsecciones como UI, Bugs, Features


Crear una Version

• Un release puede estar o contener varios Sprint


Crear JIRA Epic • Navega al Proyecto SSI •

Seleccione el botón Crear

• Epic esta compuesta por varios Story. • Puede asignar un Epic a un issue • Puede arrastrar los issue a las versiones y Epics


Completar un Sprint


Crear un Sprint


Reportes: Sprint Report

La línea roja representa el numero de issues que falta completar La línea gris representa la trayectoria general del sprint Las tareas creadas después que el Sprint inicio 9enen asteriscos en el listado de tareas que provocan que la línea gris suba. Esto te ayuda a determinar si tu equipo está comprome9do en exceso o si hay un alcance excesivo. Eje X -> 9empo en días de duración del sprint Eje Y la can9dad de trabajo comprome9da con el cliente en el sprint


Reportes: Burndown Chart • Seguimiento del trabajo total restante y proyectar la probabilidad de alcanzar el objetivo del sprint. Esto ayuda a su equipo a gestionar su progreso y responder en consecuencia. • Presenta un listado cronológico de las tareas.


Reportes: Velocity Chart • Seguimiento de la cantidad de trabajo completado de sprint a sprint. • Ayuda a determinar la velocidad del equipo y a estimar el trabajo que el equipo puede lograr de manera realista en futuros Sprints. • Dinamico


Reportes: Cumulative Flow Diagram • Muestra los estados de los problemas a lo largo del /empo. Esto lo ayuda a iden/ficar potenciales cuellos de botella que deben ser inves/gados. • Si un área es muy ancho es indicador de cuello de botella


BitBucket • Un repositorio de control de versiones WEB • Soporta Git y Mercurial • Similar a Github • Diff Views • Revisiones de Checkin


BitBucket: Integración • Buscar JIRA y persionar el botón añadir. • Ingresar el URL de la instancia de JIRA y añadir. • docker inspect <instancia>


BitBucket: Integración

• Generar una clave Oauth en Bitbucket

• Despues de generar la llave Copiar los valores generados que serán necesarios en JIRA integrations


BitBucket: Integraciรณn


Jira Bitbucket: Integraciรณn


Jira Workflows

Para crear un workflow hacer clic en Add workflow


Jira Nuevo Workflow


JIRA Workflow Transition Triger


Workflow Regular para tareas


Devops Pipeline Workflow


Jira Issue: Crear un branch


Confluence: Espacio • Los espacios son la forma en que Confluence organiza el contenido en categorías significativas • Se puede administrar permisos para cada espacio • Personal • Teams • Global


Confluence: Crear espacio


Confluence: Layout, secciones


Confluence Permisos


Confluence: Reuniones Page


Confluence: Templates


Confluence: Archivos adjuntos


Confluence: Tabla de contenidos


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.