Introducción a la Administración Colaborativa del Ciclo de Vida de las Aplicaciones (C/ALM) Germán Domínguez Montes IBM Rational IT Specialist germand@mx1.ibm.com
Administración Colaborativa del Ciclo de Vida de las Aplicaciones El reto: ejercerla Tool A Tradicionalmente cada herramienta tiene su propio/a: UI - Presentación web y escritorio para vistas y tareas Logica Flujo de trabajo, procesos, Tool búsqueda, escalabilidad, seguridad y colaboración Almacenamiento Disponibilidad, rastreabilidad Privacidad, respaldo/archivado Esto termina en... DB LOGIC DB E DB UI Tool C LOGIC DB Tool D UI LOGIC UI LOGIC UI LOGIC DB Integraciones pobres Silos en todas partes Alto costo de mantenimieto y administración Interfaces de programación de aplicaciones propietarias(apis) Tool B UI
Integraciones en ALM... una bendición y un reto... Las integraciones es lo #1 Razón por la cuál los clientes compran productos. Problema después de la compra. Application Programming Integraciones frágiles Se necesita Inconsistencia Interfaces integrar completa entre productos (APIs) y libremente el Interfaz de propietarias trabajo de los usuario, lógica probadores, de los Poca o nula visibilidad del interna, analistas de negocio Es difícil repositorios proyecto la administración Altos costos de almacenamiento y desarrolladores promulgar del proyecto y reportes administración y necesitan abarcar múltiples un Proceso mantenimiento repositorios y zonas horarias Nuestros clientes han solicitado integraciones por muchos años, esto no es nuevo. Lo que es nuevo, es nuestro enfoque de solucionar el problema por medio de IBM Rational Jazz Integration Architecture.
El Internet una inspiración para una arquitectura Increiblemente escalable Integra información a una escala masiva Extensible infinitamente Colaboración a escalas sin precedente Información visible en todo el mundo Indic Audi /Vide mo3, div, omov googl e, e yaho o p Páginas htm, cs, j Web l s x Document pdos, do f HTT gep/pu /pos t c s t t
Entonces, que tal si Todos los datos son recursos en URL's Los recursos tienen representaciones Las representaciones están especificadas independientemente de las herramientas como estándares Las ligas son URLs incrustadas Múltiples Herramientas acceden a los datos REST (Representational State Transfer)...una Web semántica de información Indice Global Páginas Web html, css, js Requerimientos Solicitudes de cambio HTTP get /put /post
Jazz: Una arquitectura para Integración de Aplicaciones Jazz Team Server Tool A Server Extension Server Extension server 3 Discovery Administration Query Presentation Tool C Server Extension Tool D Third party REST APIs (OSLC, JFS, product specific) B C Tool A Desktop Client Tool B JFS server 2 server 1 Las herramientas Jazz implementan la especificación de Open Services for Lifecycle Collaboration (OSLC) Cada herramienta ofrece un conjunto de servicios basados en REST de dominio específico, de lenguaje neutro y basados en internet para acceder a los datos que contiene Jazz Integration Architecture (JIA) extiende el OSLC para una mayor integración de herramientas JIA define los Jazz Foundation Services Almacenamiento, Administración, Interfaz de usuario compuesta, Búsquedas, Arquitectura Jazz puede ser adoptada selectiva e incrementalmente Jazz Team Server Una implementación de Jazz Foundation Services Tool B Web Client Compositional Web Client D Tool D Desktop Client
Servicios Abiertos para Colaboración en el Ciclo de Vida Una iniciativa para simplificar la integración de herramientas a través del ciclo de vida de entrega de software Barreras para compartir recursos y activos en el ciclo de vida del software Múltiples proveedores, proyectos de código libre y herramientas a la medida Vocabulario, formato y almacenamiento privados Enredo de las herramientas con sus datos Open Services for Lifecycle Collaboration Dirigidos por la comunidad determinado en openservices.net La especificaciones de la inter-operabilidad del ALM están inspiradas en la arquitectura de Internet Dirigidas por escenarios Integración acoplada débilmente con estandarización solo lo necesario Servicios y formatos de recursos comunes Un enfoque diferente al existente en la industria Descubrimiento Administración REST API (usuarios, proyectos, proceso) Búsqueda Data Warehousing Lógica Central Lógica de tarea específica Almacenamiento Colaboración Servicios adicionales Servicios centrales Datos Open Lifecycle Services
La primera ola de integraciones Jazz Rational Requirements Composer Rational Team Concert Rational Quality Manager Colaboración de expertos del negocio Obtiener, capturar, elaborar, discutir y revisar requirementos Colaboración del equipo central "Pensar y trabajar" al unísono y mostrar la salud del proyecto en tiempo real Colaboración del equipo de calidad Coordina los planes, procesos y recursos del aseguramiento de la calidad Cambios; notificación Asociación Requerimiento ligado a elementos de trabajo Probador encuentra defecto; genera elemento de trabajo Analista Probador REST API Administración de requerimientos REST API Defectos cerrados contra requerimientos Estatus de defectos Administración de la calidad REST API REST API Administración del cambio y la configuración Arquitecto Desarrollador
Qué es C/ALM 1.0? Uno de los varios proyectos que contribuyen a nuestra estrategia C/ALM. C/ALM 1.0 permite integraciones entre Rational Requirements Composer 2.0 Rational Team Concert 2.0 Rational Quality Manager 2.0 ya que todos aprovechan la Jazz Foundation 1.0.x C/ALM 1.0 construye el soporte de integración de la Jazz Foundation Elementos de Interfaz de Usuario Común Colaboración en el contexto con enlaces y solicitudes con repositorios cruzados Tableros permiten la transparencia de la información C/ALM Capacidades de integración existen en cada producto Cuando se instalan juntos, los escenarios de integración permiten una solución C/ALM No se requiere software adicional para habilitar las integraciones Nuestra expectativa es que las integraciones se profundicen con el tiempo e incluirá muchos mas productos
Temas Conectar el trabajo de Analistas, Desarrolladores y Probadores Permite a los usuarios tejer una red de recursos ALM para que puedan ser usados para colaborar, navegar y rastrear el estatus Colaboración en contexto Navegación Transparencia Permite a nuestros clientes escoger las herramientas que cumplan mejor con sus necesidades por medio de integraciones flexibles e integraciones abiertas Colaborar y contribuir con las especificaciones e implementaciones de Open Services for Lifecycle Collaboration (OSLC)
La colaboración fomenta la alineación con el negocio y la calidad alta Las ligas con los requerimientos fomentan calidad Rational Team Concert Analista Desarrollador Probador Rational Requirements Composer Rational Quality Manager Los desarrolladores tiene ligas a los requerimientos desde los elementos de trabajo Los probadores tienen ligas hacia los requirementos desde los planes y casos de prueba Los analistas comunican los requirementos con ligas al desarrollo y a los planes de pruebas
La colaboración fomenta la alineación con el negocio y la calidad alta Las ligas con los defectos fomentan una pronta resolución Probador Analyst Desarrollador Rational Requirements Composer Rational Team Concert Rational Quality Manager Los resultados de pruebas de ejecución se enlazan a defectos Los defectos se enlazan a requerimientos Los defectos se enlazan a resultados de pruebas de ejecución
Elementos de UI común ayudan en la facilida de uso Carteles comunes Tableros en todos los productos ayudan a la transparencia Cajas de díalogo de ligas permiten enlaces cruzados de repositorios Elementos flotantes permiten mostrar información en contexto 13
Viewlets de solicitudes entre productos C/ALM Las solicitudes C/ALM aprovechan los enlaces para dar respuestas a preguntas importantes
Tableros Mash-up C/ALM Ejemplo en Rational Team Concert Los desarrolladores tiene vista de los requerimientos desde Rational Requirements Composer
Creación de enlaces independente del producto elegido Un enfoque común delegado a la creación de artefactos y enlaces en todos los productos Rational Quality Manager El producto A pregunta al producto B sobre los artefactos que puede crear o establecer un vínculo El producto B entrega la IU para la creación o enlace de esos artefactos Tipos de enlance en Jazz Foundation Implementaciones OSLC (La integración de aplicaciones usa un sola URL) Permite opción y flexibilidad Las asociaciones de proyectos llevan a elección de ligas Reduce la asociación entre aplicaciones, permitiendo actualizaciones independientes Minimiza el conocimiento del producto acerca del conocimiento del repositorio de artefactos de otro URL invoca al seleccionado de ligas de Rational Team Concert Rational Team Concert presenta detalles de IU y semánticos Ejemplo: enlace de una falla en la prueba de ejecución de Rational Quality Manager a un defecto en Team Concert 2010Rational IBM Corporation
Verano 2009 Rational Team Concert 2.0 y Rational Quality Manager 2.0 incluyen integraciones con Rational ClearQuest Los usuarios de Rational Quality Manager pueden: Los probadores pueden ligar los casos de prueba a los planes de Rational Team Concert Los probadores pueden crear / enlazar a defectos en Rational Team Concert Enviar defectos a Rational ClearQuest Búsquedas C/ALM: Pruebas bloqueadas por defectos, defectos bloqueando pruebas Los usuarios de Rational Team Concert pueden: Los desarrolladores pueden navegar en los enlaces a resultados de pruebas de ejecución o a casos de prueba Búsquedas C/ALM: Defectos bloqueando pruebas. Enlazar elementos de trabajo con registros de Rational ClearQuest Los administradores pueden: Establecer los repositorios de Rational Quality Manager y Rational Team Concert repositories como amigos Enlazar áreas de proyecto de desarrollo y pruebas Configurar el puente de Rational ClearQuest en Rational Team Concert Configurar el proveedor de defectos de Rational ClearQuest para Rational Team Concert
Otoño 2009 Se añaden requirementos: Rational Requirements Composer 2.0 Los usuarios de Rational Requirements Composer pueden: Los requirementos crean ligas a los planes de prueba de Rational Quality Manager Los requirements crean / se enlazan a los casos de prueba Rational Quality Manager Los requirement crean / se enlazan a los planes de Rational Team Concert Los paneles mash-up C/ALM contienen viewlets de Rational Team Concert Los usuarios de Rational Quality Manager (2.0.0.1) pueden: Enlazar planes de prueba a los grupos de requerimientos de Rational Requirements Composer Enlazar casos de prueba a los requerimientos de Rational Requirements Composer Los usuarios de Rational Team Concert (2.0.0.2) pueden: Enlazar planes a los requerimientos de Rational Requirements Composer Navegas enlaces a los requerimientos de Rational Requirements Composer Los paneles mash-up C/ALM contienen viewlets de Rational Requirements Composer
Versiones soportadas Jazz Foundation 1.0 Julio 2009 : Rational Team Concert y Rational Quality Manager 2.0 Otoño 2009: Rational Team Concert 2.0.0.2, Rational Quality Manager 2.0.0.1 y Rational Requirements Composer 2.0 Soporte a Rational Team Concert / IBM System z (de la versión Rational Team Concert 2.0)
C/ALM 1.0 Configuración soportada 1 LDAP único para grupos de usuarios Servidores de aplicaciones individuales Servidor único de base de datos que alberga a las tres bases de datos reduciendo infrastructura y simplificando el respaldo Sincronización de usuarios con servidor LDAP Documentado en jazz.net: https://jazz.net/wiki/bin/view/main/calmjazzconfig
C/ALM en Jazz.net
Communidad: open-services.net Wiki y lista de correos Términos de licencia Alentar a contribuir e implementar las especificaciones Las especificaciones son creadas bajo la licencia de copyright Creative Commons Attribution Convenio los implementadores de la especificacion estan libres de reclamos de patentes por parte de los contribuidores Etapas del proceso Alcance (escenarios) Anteproyecto Convergencia (Convenio de IP) Especificación final
Componentes Rational de la solución para C/ALM Rational Quality Manager Rational Team Concert Inovación mediante colaboración Colaboración de expertos del negocio Coordinar planes, procesos y recrusos de aseguramiento de la calidad Unificar para pensar y trabajar al unísono para la salud del proyecto en tiempo real Rational Quality Manager producto producto producto Rational Team Concert Búsqeda y consutla Rational Requirements Composer Calidad colaborativa orientada al negocio Obtener, capturar, desarrollar, discutir y revisar requerimientos Rational Requirements Composer Mejores prácticas de procesos IBM Business Partner Jazz Offerings Seguridad Paneles Coincidencia del equipo Colaboración Notificación de eventos IBM JAZZ TEAM SERVER Open Lifecycle Service Integrations ClearQuest Powered by ClearCase Build Forge RequisitePro Asset Manager
Rational Requirements Composer: a más detalle Ambiente enriquecido para autoría Casos de uso Revisión y aprobación web Interfaz estilo Wiki Categorizar / Etiquetar Comentarios Revisión / Aprobación Requerimientos en texto enriquecido Glosarios Bosquejo de IU y guiones Bosquejo de procesos Servidor de colaboración Compartir trabajo inmediatamente Autorizaciones de usuario y equipos Enlaces entre todos los artefactos Versionamiento
Rational Team Concert: a más detalle Planeación de iteraciones Planeación y ejecución integrada de iteraciones Estimación de tareas ligada a hitos clave Plantillas de procesos ágiles de fábrica Transparencia de proyecto Tableros web personalizables Reportes y métricas en tiempo real Estatus y rastreo de hitos de proyecto Elementos de trabajo SCM Administración de flujos integrada Referencia a nivel componente Sandbox a nivel servidor Desarrollo en paralelo Conector a Rational ClearCase Defectos, mejoras y conversaciones Ver y compartir resultados de búsquedas Soporte para aprobaciones y discuciones Interfaz de editor de búsquedas Conector a Rational ClearQuest Construcción Rastreabilidad de elementos de trabajo y grupos de cambio Definiciones de compilación privadas y de grupo Servidor local y remoto de compilación Soporta de Ant y linea de comando Integración con Rational BuildForge IBM Jazz Team Server Estructura simple para artefactos del proyecto Inclusión de equipos a gran escala incluyendo memebresía de equipos, sub-equipos y herencia de proyectos Control operacional basado en roles para una definición flexible de procesos y roles El asesor de equipo para definir y redefinir reglas permitiendo la mejora continua Publicación y supervisión de proceso Colaboración en contexto que permite a los miembros del equipo comunicarse en el contexto de su trabajo
Rational Quality Manager: a mas detalle IBM Collaborative Application Lifecycle Management Rational Quality Manager Paneles de calidad Administración de requerimientos Administración de defectos Administración y ejecución de pruebas Crear planes Construir pruebas Administrar el laboratorio de pruebas Reportar resultados Procesos de mejores prácticas JAZZ TEAM SERVER SAP Java Pruebas funcionales Platforma abierta Open Lifecycle Service Integrations Pruebas de desempeño Calidad de web services IBM System z, System i.net Calidad del código Seguridad y cumplimiento Third party vendors homegrown
Quick Scrum Overview Scrum is an agile process for software development. (Often spelled SCRUM, although not an acronym.) Scrum roles: Scrum Master: Individual who maintains the processes (essentially a project manager). Responsible for removing impediments to team progress. Product Owner: Represents the stakeholders Team: Cross-functional group of people who do the work Scrum concepts: Story: A brief description of a user need. Each story has a relative priority and complexity. Product backlog: A prioritized set of high-level requirements of work, usually described in stories. Sprint: A 2-to-4 week period in which the team creates a potentially shipping product. A Scrum project consists of several sprints. Sprint planning meeting: A meeting to determine which backlog items go into a sprint. Scrum: A short daily meeting where each team member shares what they accomplished yesterday, what they will work on today and what, if anything is blocking their progress.