Upload
luis-reyes
View
1.794
Download
2
Embed Size (px)
DESCRIPTION
Ponencia RATIONAL (SFIC 2009) Titulo: Jazz: El soporte definitivo para el modelo de factorías de software Resumen: En el contexto de una factoría de software, los clientes buscan resultados satisfactorios, una manera eficiente de controlar los proyectos y una respuesta rápida a esas más que seguras incidencias. En general, todo aquello que se acaba denominando gobierno. De la misma manera, una factoría de software velará por sus propios intereses, entre otros, recibir pedidos (requisitos) con la mayor calidad posible, ser eficiente en su proceso de producción y responder a los clientes con los niveles de calidad demandados. Además, alrededor de conceptos como productividad, calidad y gobierno se antoja imprescindible ser capaces de entender y gestionar uno más, que es el juego de relaciones que se establecen entre el comprador de software y la fábrica lo produce. En esta ponencia presentaremos la solución de Rational alrededor de la plataforma Jazz. Una estrategia definitiva para soportar modelos de factoría de software optimizando de manera dramática las relaciones de colaboración y comunicación que necesariamente se establecen entre clientes y proveedores.
Citation preview
Jazz: El soporte definitivo para el modelo de factorías de software
Luis Reyes Arquitecto de Soluciones
Contenido de la presentación
Hacia un modelo de factoría de software
Introducción a Jazz, plataforma tecnológica para soportar el modelo de factoría
Soluciones de Rational para colaboración, automatización y gobierno
Rational Software Delivery Platform
CONTINUOUS test plan participate
AUTOMATED context GOVERNANCEuse case distributed access dashboardssynchronize EASY HANDOFF trace LABUTILIZATION functional PERFORMANCEsecurity compliance
Rational Software & Systems Delivery Platform
Drive organizational consensus on priorities
and improve workforce productivity
Lower costs and improve quality by automating
workflow based on real-time information
Continuously improve by measuring progress
against desired business outcomes
Collaborate ReportAutomate
Your Business Depends on their Ability to Innovate and Deliver Superior Systems and Software
Externalización, situación en España
La tendencia es ir concentrando proveedores
Diferentes modelos y nomenclaturas para subcontratación
Cada empresa tiene su propio modelo(s) de trabajo y subcontratación:
Offshore
Near shore
Outsourced
Factoría de software
Factoría de pruebas
Empresa subcontratada
Desarrollo externo…
Pero en todos ellos se realiza una subcontratación del
desarrollo de software en mayor o menor volumen
La solución que veremos a continuación es válida para cualquier modelo de factoría de software y puede adaptarse a diferentes modelos de trabajo
6
Ejemplo de modelo de subcontratación
Function & Performance
Test
El modelo evoluciona hacia un desarrollo más maduro y eficiente, una Factoría de Software
¿Por qué se externalizan los desarrollos?
Reducir y controlar los costes de operación
Acceder a capacidades no disponibles en la organización
Mejorar la calidad del servicio
Recursos limitados dentro de la organización
Liberar recursos para otras tareas
Los beneficios y problemas de la subcontratación
Centralizado
100%
Subcontratación
+70%
-20%
-20% =30%
Costes en USA y Europa
Reducción en costes debido a menores costes laborales
+70%
Costes por malacomunícación
Costes adicionalespor mayor necesidad
de control
Ahorro global
“Offshore Outsourcing – Business Models, ROI and Best Practices” Marcia Robinson & Ravi Kalakota
Los beneficios y problemas de la subcontratación
Centralizado
100%
Subcontratación
+70%
-30%
-30% = 10%
Costes en USA y Europa
Reducción en costes debido a menores costes laborales
+70%
Costes por malacomunícación
Costes adicionalespor mayor necesidad
de control
Ahorro global
“Offshore Outsourcing – Business Models, ROI and Best Practices” Marcia Robinson & Ravi Kalakota
11
¿Qué puntos críticos tiene un modelo de subcontratación?
Procesos diferentes, mayores costes de coordinación
Problemas de comunicación Aspectos culturales, idiomas Riesgos de productividad, retrabajo,
errores en la transferencia de conocimiento
Aspectos de seguridad o integraciones
Falta de visibilidad, agilidad y control Incapacidad para medir, incapacidad
para mejorar
GlobalDevelopment
& Delivery
Gestión unificada de información Proceso de desarrollo común detallando
artefactos a entregar / recibir de los clientes Metodologías de desarrollo ágiles Transferencia de conocimiento Reutilización de activos
Proporcionar visibilidad sobre el avance de los proyectos Proporcionar métricas de productividad y
avance a la(s) empresa(s) que nos subcontratan
Comunicación y seguimiento de las peticiones demandas por los clientes Gestión de peticiones y procesos de
aprobación centralizados
Problemáticas de factorías de software
Herramientas ciclo de vida: Apoyo para la construcción de aplicaciones
en diferentes tecnologías/sectores: IT, sistemas, Java, Cobol, RPG…
Nuevas necesidades de infraestructura: Seguridad y protección de información
Acceso distribuido a través de interfaces web con tráfico estándar http/https
Conexiones y accesos rápidos
Gestión de usuarios descentralizada
Repositorio común
Utilización de estándares abiertos y gratuitos
Engineers Middle Managers Executives
Actores y buenas prácticas (oficina calidad)E
volu
ción
de
bu
enas
prá
ctic
as a
la o
rgan
iza
ció
n
Optimización del ciclo de vida de verificación y validación
Repositorio compartido
Chequeo de la calidad del código
Consola de gestión
Optimizar la gestión de entornos
Verificar el rendimiento de
la aplicación
Automatización de pruebas
Trazabilidad y reutilización
Escanear vulnerabilidad
de aplicaciones
Cuadro de mando de
calidad
Satisfacción de las
necesidades del cliente
Organización de la oficina de
calidad
Demostrar conformidad a
estándares (CMMI. SOX…)
Mejorar productividad y reducir costes
Manejar pruebas de regresión
14
Software Factories Deliver Solutions in an Agile WayThe Eclipse Approach – Iterative and incremental
fitness
endgame
release 3.2
M1
pla
n
dev
elo
p
stab
iliz
e
6 weeks
warm-up
retr
osp
ecti
ve
init
ial
rele
ase
pla
n
dec
om
pre
ssio
n
3.1
M2
pla
n
dev
elo
p
stab
iliz
e
…
pla
n
dev
elo
p
stab
iliz
e
sign-offsign-off sign-off
6 weeks 6 weeks
fix
-
spit
& p
oli
sh
test fix
test
15
Agilidad a escala
Un equipo ágil
1. Produce periódicamente software que funciona
2. Realiza continuamente pruebas de regresión, empleando una aproximación TDD (desarrollo dirigido por pruebas)
3. Trabaja intensamente con sus stakeholders, idealmente manteniendo reuniones diarias
4. Se autogestiona, y trabaja de manera disciplinada dentro de un framework que gobierna sus actividades
5. Regularmente refleja sus resultados y los mide, actuando entonces para mejorar su eficiencia
Plataforma para facilitar el trabajo distribuido
Robusta, extensible y escalable
Trabajo en equipos distribuidos
Desarrollo comercial abierto en Jazz.net
Una iniciativa de tecnología abierta para transformar el trabajo en equipo facilitando
la colaboración y comunicación de
equipos distribuidos
Concepto de equipo y transparencia Todo el mundo conoce “quien, que, cuando, como”
Dashboards en tiempo real reflejan los cambios
Chats para facilitar la comunicación instantánea
Wikis – Mejorar cohesión equipo
Vista consolidada y en tiempo real sobre el estado del proyecto
Informes en tiempo real Procesos de desarrollo ágiles y
fácilmente configurables Instalación sencilla y dinámica
de proyectos y usuarios
Arquitectura abierta para facilitar la integración y comunicación con otras herramientas
Conseguir la plataforma de desarrollo más óptima con productos de IBM, de partners y/o software libre
Integración dinámica de personas,procesos, e información a lo largo
del ciclo de vida de desarrollo software
Trabajo en equipo Gobierno Arquitectura abierta y extensible
Contenido de la presentación
Hacia un modelo de factoría de software
Introducción a Jazz, plataforma tecnológica para soportar el modelo de factoría
Soluciones de Rational para colaboración, automatización y gobierno
Rational Software Delivery Platform
CONTINUOUS test plan participate
AUTOMATED context GOVERNANCEuse case distributed access dashboardssynchronize EASY HANDOFF trace LABUTILIZATION functional PERFORMANCEsecurity compliance
¿Qué es Jazz?
Herramienta A Herramienta B Herramienta C Herramienta D Herramienta E Herramienta F
Events &Services
Team Collaboration Services
With the Jazz platform, the tools communicate only with the platform:• By listening to normalized/standardized events from the platform• By sending normalized/standardized events to the platform
Herramienta A
Una iniciativa de IBM Rational de cara a promover la integración de las distintas tareas realizadas en el ciclo de vida del desarrollo
La tecnología que la soporta proporcionando un middleware de integración para ello.
Colaboración (integración) entre herramientas es exponencialmente compleja.
Herramienta A
Herramienta CHerramienta B
Herramienta E Herramienta F
Herramienta D
Until now, building an integrated platform required a cross tools understanding: Each integrated tool had to know about each other tool.
Arquitectura de las herramientas Rational (pre-Jazz)
ECLIPSE
RSAHERRAMIENTAS
DESKTOP
HERRAMIENTAS
TEAM
RMT RFT RPT RMC
RAD
REQPRO/DOORS
DB
TEST MANAGER
CQ/Change DB
CC/Synergy
DB
DB
RATIONAL ADMINISTRATOR
CQINTSRV- UCM
SODA
PROJ CONS.
21
Items and relationshipsEvent history,
Item history trends
Jazz RepositoryDefectsRequirementsUse-cases, …..
….,BuildsSource code,
Test-casesTest results
Storage
Event Notification Conversation
Project and Team Structure Search
ProcessEnactment
Securityand Access
EclipseClient Platform
WebClient Platform
Visual StudioClient Platform
Jazz Collaboration Server
Rational’s Software Factory Tooling Platform
Jazz Team Server. Plataforma de servicios comunes para ALM
Integración de Servicios comunes al ciclo de vida
JAZZ TEAM SERVER
Best Practice Processes
Control de Acceso Team
awarenessEvents
notification
API
Dashboards
Ofertas Existentes
Ofertas de BP
Ofertas de Código Libre
Integraciones Servidor
Powered by
offering
offeringofferingofferingoffering
offering
offering
Eclipse
Web 2.0
Visual Studio (4Q)
Integraciones Clientes
Proceso
La tecnología Jazz se introducirá de una manera gradual
Oferta Existente
Evo
lutio
n to
Jaz
z T
echn
olog
y P
latfo
rm
FUTURO DE LA PLATAFORMA DE RATIONAL
RationalRequisitePro
RationalClearQuest
RationalClearCase
Telelogic ALM
RationalBuild Forge
RationalBuild Forge
RationalClearQuest
RationalRequisitePro
RationalClearCase
Telelogic ALM
RationalClearQuest
RationalRequisitePro
RationalBuild Forge
RationalClearCase
Reporting Telelogic
Quality Management
Nueva Oferta
Built on the Jazz Technology Platform
RationalTeam Concert
La Evolución de la Suite de Rational
RequirementsComposer
QualityManagement
Insight
Jazz permite cloud computing en herramientas de desarrollo
Cloud Computing permite la disponibilidad a cualquier aplicación en todo momento, desde cualquier lugar y dispositivo Todo esto es posible con Jazz: una moderna tecnología, que separa las aplicaciones
de la infraestructura que lo soporta y permite un acceso remoto
Flexibilidad, bajo demanda, estabilidad, ahorro, Software as a service (SaaS)
.net Community: Plataforma abierta
Contenido de la presentación
Hacia un modelo de factoría de software
Introducción a Jazz, plataforma tecnológica para soportar el modelo de factoría
Soluciones de Rational para colaboración, automatización y gobierno
Rational Software Delivery Platform
CONTINUOUS test plan participate
AUTOMATED context GOVERNANCEuse case distributed access dashboardssynchronize EASY HANDOFF trace LABUTILIZATION functional PERFORMANCEsecurity compliance
Rational Software & Systems Delivery Platform
Drive organizational consensus on priorities
and improve workforce productivity
Lower costs and improve quality by automating
workflow based on real-time information
Continuously improve by measuring progress
against desired business outcomes
Collaborate ReportAutomate
Your Business Depends on their Ability to Innovate and Deliver Superior Systems and Software
Solución integral para factorías
Factoria AFactoria A Factoria BFactoria B Factoria CFactoria C
Cliente (Dirección de factorías)Cliente (Dirección de factorías)
29
Ejemplo de modelo de subcontratación
Solución integral para factorías - Infraestructura
Factoria AFactoria A Factoria BFactoria B Factoria CFactoria C
ClienteCliente
Infraestructura JazzInfraestructura Jazz
Capa de infraestructura (Factorías y Centro están 100% conectados) Conectividad 100% http/https
Web 2.0
Servicios de colaboración y trabajo en equipo
Solución integral para factorías - Entregas
Factoria AFactoria A Factoria BFactoria B Factoria CFactoria C
ClienteCliente
Infraestructura JazzInfraestructura Jazz
Capa de gestión de entregas e intercambio de workproducts Factoria Centro (código, bill of materials, resultado pruebas unitarias…)
Centro Factoria (arquitecturas, especificaciones, cambios, metodología,…)
Estructura de entregas, workflow, subscripciones, normalización…
Gestión de entregasGestión de entregas
Gestión y reutilización información
1919
Publicación de componentes comunes para diferentes proyectos internos
1919
Definición metodológica de los artefactos de entrega
1919
Solución integral para factorías – Ciclo de vida
Factoria AFactoria A Factoria BFactoria B Factoria CFactoria C
ClienteCliente
Infraestructura JazzInfraestructura Jazz
Ciclo de vida de desarrollo Jazz permite integrar el ciclo de vida completo (requisitos, scm, testing,…)
Interface común para el centro y las factorías
Dependiendo del modelo de subcontrata, áreas de mayor o menor relevancia
Gestión de entregasGestión de entregas
Ciclo de vidaCiclo de vida
Definición de arquitectura y componentes comunes
Build ForgeEngine
Responsable Gestión Entornos
Tester
Build Results
Build Engineer
Build scripts
Source + =
Source
DesarrolladorArquitecto IDEs
Rational ClearCase
Entorno Integración (Agente BF)
Entorno PreProducción(Agente BF)
Entorno Producción
SCM Tools
Jefe Proyecto
Automatización del despliegue de aplicaciones
Definición de requisitos
DOORSRational RequisitePro
Wiki style interface
Categorize / Tag
Comment
Review / Approve
Rich Authoring Environment Web Review and Approval
Rich Text
Use Cases
Glossaries
UI Sketching and Storyboarding
Process Sketching
More effective engagement of stakeholders using visual notations
Faster convergence to the “right” requirements
Higher quality requirements leads to better project outcomes
Accelerate Change & Deliver. Comunicación y colaboraciónRational Team Concert
39
SCM Integración completa con la plataforma de desarrollo
Baseline a nivel de componente
Gestión integrada de Streams y Change SetsWork Items
Defectos, peticiones de mejora,…
Soporte a aprobaciones y discusiones
Workflows
BuildTrazabilidad Change Set WorkItem
Servidores locales o remotos
Soporte ANT y otros
Soluciones para el ciclo de vida de pruebas
JAZZ TEAM SERVER
ManageTest Lab
CreatePlan
BuildTests
ReportResults
ExecuteTests
IBM Collaborative Application Lifecycle ManagementIBM Collaborative Application Lifecycle Management
FunctionalTesting Performance
TestingDeployment Management
CodeQuality
Security andCompliance
Test Management
Rational Quality ManagerQuality Dashboard
Open Lifecycle Service Integrations
DefectManagement
RequirementsManagement
Best Practice Processes
homegrown
Open Platform
Métricas automáticas sobre calidad de las aplicaciones
Resultados de tiempos de respuesta frente a carga de usarios
Monitorización continua de vulnerabilidades de seguridad en nuestras aplicaciones
Resultados de pruebas manuales y automáticas
Integración con requisitos para comprobar cobertura necesidades negocio
Gestión integrada de los defectos encontrados durante la fase de pruebas
Consola Web Calidad
Dashboard centralizado con el estado de las pruebas
4242
Visualización del estado de las pruebas en tiempo real
¿Estamos preparados para sacar una nueva versión?
¿Cuál es la carga de trabajo de cada uno de los miembros de mi equipo de pruebas?
Solución integral para factorías – Gobierno y métricas
Factoria AFactoria A Factoria BFactoria B Factoria CFactoria C
ClienteCliente
Infraestructura JazzInfraestructura Jazz
Gobierno y métricas Control y seguimiento de cada factoría, análisis de performance
Comparativa entre factorías
Métricas de negocio, operacionales y de software
Gestión de entregasGestión de entregas
Ciclo de vidaCiclo de vida
Gobierno y métricasGobierno y métricas
44
Gobierno y control de factorías de software
45
Métricas de tendencia
Consola de gobierno sobre avance en los desarrollos
Planificación de tareas (y cambios, incidencias,…)
Gestión dinámica de recursos
Right Person, Right Job
Reduce risk by ensuring resources are aligned with the right initiatives
Role, Skill, Organization
Find resources available between a certain time period
Multiple search criteria
Right Person, Right Job
Reduce risk by ensuring resources are aligned with the right initiatives
Role, Skill, Organization
Find resources available between a certain time period
Multiple search criteria
Creación y gestión de riesgos
Identify, assess, and effectively manage risk with the right techniques
Eliminate, mitigate, accept, etc.
Reduce wasted effort and costs by mitigating the right risks
Identify, assess, and effectively manage risk with the right techniques
Eliminate, mitigate, accept, etc.
Reduce wasted effort and costs by mitigating the right risks
Contenido de la presentación
Hacia un modelo de factoría de software
Introducción a Jazz, plataforma tecnológica para soportar el modelo de factoría
Soluciones de Rational para colaboración, automatización y gobierno
Conclusiones
Rational Software Delivery Platform
CONTINUOUS test plan participate
AUTOMATED context GOVERNANCEuse case distributed access dashboardssynchronize EASY HANDOFF trace LABUTILIZATION functional PERFORMANCEsecurity compliance
Powered by
Open Lifecycle Service Integrations
JAZZ TEAM SERVER
Search and Query
collaborationTeam awareness Events notification
Security
Dashboards
Best Practice Processes
Team Concert
Requirements ComposerQuality
Manager
ClearQuest
Method Composer
Doors
ClearCaseRequisite
ProIntegración con la plataforma
Jazz
Rational Software Architect
Rational Application Developer
Rational Automation Testing tools
Telelogic Rhapsody
Integraciones
Offerings
Enterprise Reporting
Rational Team Concert
Gestión unificada de peticiones, configuración y compilaciones
Rational
Insight
Rational
Tara
Rational
Asset
Manager
Rational Quality ManagerGestión de calidad unificada
offerings
Web 2.0
Soluciones de IBM Rational sobre Jazz
Rational Requirements Composer
Definición y validación visual de requisitos
Rational InsightDashboard para gobierno desarrollo
Rational Project Composer
Gestión portfolio proyectos
Rational Asset ManagerEntrega y reutilización activos
desarrollo
¿Cómo puede ayudar IBM Rational?
“IBM is one of the few vendors with credibleofferings in almost all the requirements of ALM” “IBM Rational is one of the first vendors to tell a story about integrating across the lifecycle”
“Jazz is a solid architectural foundation for further innovation”
53
Reduciendo el coste del desarrollo de software Automatizando tareas repetitivas ahorramos tiempo
Ejemplos:
Automatización de builds
Gestión de calidad y testeo automático
Gestión de configuración
Descubriendo errores lo antes posible reducimos costes de reparación Ejemplos:
Análisis y gestión de requisitos
Escaneo de código
Desarrollo dirigido por modelos (MDD)
Reduciendo el riesgo de retrasos Ejemplos:
Trazabilidad e integración de entornos de trabajo, comunicación continua
Aplicar procesos de desarrollo ágil
Eficiencia
Productividad
Agilidad
54
© Copyright IBM Corporation 2008. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.
Luis Reyes Arquitecto de Soluciones