Upload
others
View
18
Download
0
Embed Size (px)
Citation preview
FÁBRICAS DE SOFTWAREFÁBRICAS DE SOFTWARE
Que es una factoría de software?Que es una factoría de software?
Como definiríamos una factoría de software en los años 80? en los años 90? y hoy?80?...en los años 90?.... y… hoy?
2
Es posible que la eficiencia de una fábrica de Software seaproporcional al como sus prácticas evolucionan junto conla ingeniería de software?
3
Realmente la mejora continua de procesos esta haciendomas eficientes mis procesos?
Estamos sacando partido de las tendencias de la IS paraEstamos sacando partido de las tendencias de la IS paraaumentar la productividad en las fábricas de SW?
R tili l t d f i t átiReutilizamos los componentes de una forma sistemática ymodelada?
4
Sabías que un 40% de las 500 empresas con mayorutilidad en “Fortune” deslocalizan geográficamente susservicios o los tercerizan ?
5
Que resultados positivos o negativos podrían resultar dedeslocalizar o tercerizar los procesos del ciclo dedesarrollo de sw? Que modelos y mejores prácticasdebería implementar al realizarlo?debería implementar al realizarlo?
Que puntos debo tener en cuenta como Gerente det t d l li d ?proyectos en un proyecto deslocalizado?
6
Que es una factoría de software?Que es una factoría de software?
Como definiríamos una factoría de software en los años 80? en los años 90? y hoy?80?...en los años 90?.... y… hoy?
7
Tendencias de las Fábricas de SWPropuestas que han marcado la evolución de la Ingeniería de SW
EVOLUCIÓN ING. DE SOFTWARE –SIGLOS XX y XXI (Boehm)EVOLUCIÓN ING. DE SOFTWARE –SIGLOS XX y XXI (Boehm)
Década 60‐70 (ARTESANIA)
Década 70‐80 (CASCADA)
Década 80‐90 (PRODUCTIVIDAD)
Década 1990‐2000 (PROCESOS
CONCURRENTES)
Década 2000‐2010 (AGILIDAD)
Actualidad (INTEGRACIÓN
GLOBAL)
Propuestas que han marcado la evolución de la Ingeniería de SWOtras propuestas de la década
Código Métodos
Métodos orientados por
Objetos
CONCURRENTES)
Arquitecturas de SW
Especializadas por Dominio :
Reutilización por lí d
Arquitecturas orientadas a servicios
GLOBAL)
Conectividad Global
Espagueti Estructurados
Medición de productividad y
líneas de producto.
Reutilización basada en
flexibilidad de componentes
Métodos ágiles de desarrollo
Arquitectura empresarial
Computación en la nube
Artesanía del Software
Procesos Cascada
Calidad
Nace concepto
componentes. Líneas de Producto
Modelos de Madurez
de desarrollo
Afianzamiento en reutilización
Equipos de trabajo
distribuidos
Nace concepto de fábrica de
SW. Entornos Integrados (CASE)
por líneas de producto y modelos de madurez
Métodos colaborativos con Asistencia de GroupWare
8
Reutilización de t
CONCEPTO DE FÁBRICA DE SOFTWARECONCEPTO DE FÁBRICA DE SOFTWARE
Necesidad de medir
Productividad y
componentes y reutilización por
líneas de producto Mejoramiento
continuo de Productividad y calidad Procesos
Industrialización del Software: Actividades repetibles y normalizadas
Métodos colaborativos y equipos de trabajo
distribuidos
Definición• Es un Centro de Trabajo dedicado al Desarrollo de Software que aborda dicha actividad• Es un Centro de Trabajo dedicado al Desarrollo de Software que aborda dicha actividadcomo un proceso industrial, definible, repetible y medible en un entorno de altaproductividad…
9
Reutilización de componentes y reutilización por
LINEAS DE PRODUCTOLINEAS DE PRODUCTO
Necesidad de medir
Productividad y calidad
reutilización por líneas de producto Mejoramiento
continuo de Procesos
Industrialización del Software: Actividades
Métodos colaborativos y equipos deActividades
repetibles y normalizadas
equipos de trabajo
distribuidos
Definición
• Una línea de producto es un conjunto de sistemas con características comunes quesatisfacen las necesidades particulares de un segmento del mercado. En otras palabras,p g p ,es una estrategia para aumentar la productividad de la fábrica, la cual se apoya en lareutilización sistemática de componentes llamados “Core‐Assets”.
10
Reutilización de componentes y reutilización por
LINEAS DE PRODUCTOLINEAS DE PRODUCTO
Necesidad de medir
Productividad y calidad
reutilización por líneas de producto Mejoramiento
continuo de Procesos
Industrialización del Software: Actividades
Métodos colaborativos y equipos de
repetibles y normalizadas
trabajo distribuidos
ObjetivoGestionar la variabilidad y capitalizar lo común (Core Assets)
j
•Modelar la variabilidad entre sistemas similares que pertenecen al mismo segmento de mercado,reutilizando las partes comunes tanto como sea posible. El resultado es la amortización de lainversión en Core‐Assets.
NecesidadNecesidad
•Las líneas de producto de software son un paso más en la búsqueda de aumentar laproductividad equilibrando el costo y calidad del software.
11
CORE ASSETSCORE ASSETS
DefiniciónDefinición
•Un core asset es un recurso que es usado para producir múltiples productos. Ejemplos:
•Análisis de requisitos – Especificación de requerimientos•Análisis de requisitos Especificación de requerimientos.•Diseño y Arquitectura Software.•Documentación.•Planes de pruebas, casos de prueba, datos de prueba.•Metodologías.Metodologías.•Planes de trabajo.•Componentes.. Etc.
12
Ingeniería de Dominio
LINEAS DE PRODUCTOLINEAS DE PRODUCTO
Se definen entidades , operaciones, eventos y relaciones para
Análisis de
D i i
•Se desarrolla arquitectura que debe servir de referencia para todos los componentes y productos de la línea.
Diseño de
D i i
Implementación de los componentes reutilizables de la
Implem. del
d i irelaciones para cada línea de producto
Dominio •Se implementan mecanismos de Variabilidad
Dominio línea.dominio
Análisis del Implementación
Repositorio Core‐Assets
Análisis del Producto
Diseño del
Implementación del Producto
Pruebas delDiseño del Producto
Pruebas del Producto
Ingeniería de la Aplicación 13
o6
o7
o9 o10
Diapositiva 13
o6 Diseño: Se personaliza la arquitectura para el producto específico.
Implementación: Se construye la aplicación y se ensambla a partir de los Core-Assets.oaacosta, 15/02/2011
o7 En el diseño de la micro arquitectura se debe definir una ontología orientada a la gestión de la variabilidad. Fundamentos de arquitectura.oaacosta, 15/02/2011
o9 Modelo del dominiooaacosta, 15/02/2011
o10 Arquitectura del dominiooaacosta, 15/02/2011
Codificación PruebasPUNTO DE VARIACIÓNEn el caso de POO…
LINEAS DE PRODUCTOLINEAS DE PRODUCTO
Codificación PruebasPUNTO DE VARIACIÓN
Producto A Análisis de Requerimientos Diseño Macro Diseño Micro Codificación Pruebas
Codificación PruebasCORE ASSETS
LINEAS DE PRODUCTO EN POO
• Un patrón es una arquitectura reusable que la experiencia ha mostrado que resuelve unproblema común en un contexto específico” En POO la gestión de la variabilidad se realiza aproblema común en un contexto específico . En POO la gestión de la variabilidad se realiza através de la “herencia”.
Un ejemplo cualquiera en una fábrica cualquiera*…
OBSTÁCULOS EN LINEAS DE PRODUCTOOBSTÁCULOS EN LINEAS DE PRODUCTO
Producto A Requerimientos Producto A
Análisis de Requerimientos Diseño Macro Diseño Micro Codificación Pruebas
Producto B Requerimientos Producto B
Análisis de Requerimientos Diseño Macro Diseño Micro Codificación Pruebas
Producto C Requerimientos Producto C
Análisis de Requerimientos Diseño Macro Diseño Micro Codificación Pruebas
Parece que gran d lparte de la
funcionalidad de los tres productos es igual….
*Nota: Cualquier parecido con la realidad es pura coincidencia
Un ejemplo cualquiera en una fábrica cualquiera*…
OBSTÁCULOS EN LINEAS DE PRODUCTOOBSTÁCULOS EN LINEAS DE PRODUCTO
Producto A Análisis de Requerimientos Diseño Macro Diseño Micro Codificación Pruebas
Producto B Set Requerimientos
Análisis de Requerimientos Diseño Macro Diseño Micro Codificación Pruebas
Análisis de Requerimientos Diseño Macro Diseño Micro Codificación PruebasProducto C
Líneas de*Nota: Cualquier parecido con la realidad es pura coincidencia
Líneas de Producto !!!
Un ejemplo cualquiera en una fábrica cualquiera*…
OBSTÁCULOS EN LINEAS DE PRODUCTOOBSTÁCULOS EN LINEAS DE PRODUCTO
Producto A Análisis de Requerimientos Diseño Macro Diseño Micro Codificación Pruebas
Producto B Set Requerimientos
Análisis de Requerimientos Diseño Macro Diseño Micro Codificación Pruebas
Análisis de Requerimientos Diseño Macro Diseño Micro Codificación PruebasProducto C
Líneas de*Nota: Cualquier parecido con la realidad es pura coincidencia
Líneas de Producto !!!
Un ejemplo cualquiera en una fábrica cualquiera*…
•Cuales requerimientos tienen la misma
OBSTÁCULOS EN LINEAS DE PRODUCTOOBSTÁCULOS EN LINEAS DE PRODUCTO
Producto A Análisis de Requerimientos Diseño Macro Diseño Micro Codificación Pruebas
•Cuales requerimientos tienen la misma funcionalidad?
•¿Cómo saber de manera concreta y no ambigua qué requerimientos son iguales?
Producto B Set Requerimientos
Análisis de Requerimientos Diseño Macro Diseño Micro Codificación Pruebas
•¿qué código pertenece a qué requerimiento?
•¿en qué versión está?
Análisis de Requerimientos Diseño Macro Diseño Micro Codificación PruebasProducto C
Lí d
¿en qué versión está?
•¿dónde están los casos de prueba asociados?
S l ódi li d lLíneas de Producto !!!
•Se encuentra el código alineado con los estándares de codificación de la fábrica?
• etc. etc. etc.
*Nota: Cualquier parecido con la realidad es pura coincidencia
LINEAS DE PRODUCTOLINEAS DE PRODUCTO
Gestión de Requerimientos
Gestión de la configuración
Aseguramiento de Calidad
Cuales requerimientos tienen la misma funcionalidad?
¿Cómo saber de
¿en qué versión está?
Se encuentra el código alineado con los estándares de codificación de la fábrica?
¿Cómo saber de manera concreta y no ambigua qué requerimientos son iguales?
¿dónde están los casos de prueba asociados?
¿Qué código pertenece a qué requerimiento?
19
o8
Diapositiva 19
o8 Componentes de Software:Su diseño debe ser genéricos sin sacrificar su desempeño.
Planes de proyecto:Deben ser genéricos y flexibles de manera que se puedan adaptar a las variaciones del producto.oaacosta, 15/02/2011
S
OBSTÁCULOS EN LINEAS DE PRODUCTOOBSTÁCULOS EN LINEAS DE PRODUCTO
ORE
ASSETS
LPLP
PITA
LIZA
R CO
LP
LP
LP
FICIO DE CA
PBE
NEF
COSTO DE GESTIONAR LA VARIACIÓN
20
ESFUERZODesarrollo
i l
DESARROLLO CONVENCIONAL VS. LINEAS DE PRODUCTODESARROLLO CONVENCIONAL VS. LINEAS DE PRODUCTO
ESFUERZO TOTAL
Convencional
AHORRO
R t
Desarrollo Líneas de producto
INVERSIÓN INICIAL
Retorno
No de1 2 3 4 5 6 7 No. de Productos
21
Reutilización de componentes y reutilización por
CONCEPTO DE FÁBRICA DE SOFTWARECONCEPTO DE FÁBRICA DE SOFTWARE
Necesidad de medir
Productividad y calidad
reutilización por líneas de producto Mejoramiento
continuo de Procesos
Industrialización
calidad
Métodos del Software: Actividades repetibles y normalizadas
colaborativos y equipos de trabajo
distribuidos
Definición• Es un Centro de Trabajo dedicado al Desarrollo de Software que aborda dicha actividad• Es un Centro de Trabajo dedicado al Desarrollo de Software que aborda dicha actividadcomo un proceso industrial, definible, repetible y medible en un entorno de altaproductividad…
22
Capability Maturity Model Integration
MODELOS DE MEJORA CONTINUA DE PROCESOSMODELOS DE MEJORA CONTINUA DE PROCESOS
Capability Maturity Model Integration
Organizational Project Management Maturity Model
Modelo de calidad internacional para pequeñas yModelo de calidad internacional para pequeñas y medianas empresas (ESI)
Control Objectives for Information and RelatedControl Objectives for Information and Related Technology
Software process improvement and capacity determination. (ISO 15504)
23
Reutilización de componentes y reutilización por
CONCEPTO DE FÁBRICA DE SOFTWARECONCEPTO DE FÁBRICA DE SOFTWARE
Necesidad de medir
Productividad y calidad
reutilización por líneas de producto Mejoramiento
continuo de Procesos
Industrialización
calidad
MétodosIndustrialización del Software: Actividades repetibles y normalizadas
Métodos colaborativos y equipos de trabajo
distribuidos
Definición• Es un Centro de Trabajo dedicado al Desarrollo de Software que aborda dicha actividad• Es un Centro de Trabajo dedicado al Desarrollo de Software que aborda dicha actividadcomo un proceso industrial, definible, repetible y medible en un entorno de altaproductividad…
24
BENEFICIOS DE GSDBENEFICIOS DE GSD
Se vale de la diferencia horaria para extender las jornadas
Reducción en los costos de desarrollo
Se localiza cerca del cliente al equipo idóneo según las características del proyecto
Capitalización de experiencias y destrezas de los stakeholdersjornadas
laborales diarias
Un grupo
desarrollo
Optimización de
características del proyecto los stakeholders distribuidos
Clústers de Un grupo trabaja mientras el otro descansa
Optimización de costos en contratación de mano de obra
Se reducen los tiempos totales del proyecto
Conocimiento: Innovación y mejoramiento de procesos
MAYOR PRODUCTIVIDAD
MENORES COSTOS
MAYOR PRODUCTIVIDAD
MEJORAS EN CALIDAD
SATISFACCIÓN DEL CLIENTE, MEJORAS DE CALIDAD, MAYOR PRODUCTIVIDADPRODUCTIVIDAD
25
BENEFICIOS DE GSDBENEFICIOS DE GSD
Sinergias intra‐proyectos e intra‐Factorías. Reutilización de componentes, diseños y definiciones.
Se vale de la diferencia horaria para extender las jornadas
Reducción en los costos de desarrollo
Se localiza cerca del cliente al equipo idóneo según las características del proyecto
Capitalización de experiencias y destrezas de los stakeholders
p y
jornadas laborales diarias
Un grupo
desarrollo características del proyecto los stakeholders distribuidos
Clústers de
Resolución de inconvenientes en encontrar perfiles con habilidades específicas.
Un grupo trabaja mientras el otro descansa
Contratación de mano de obra mas barata.
Se reducen los tiempos totales del proyecto
Conocimiento: Innovación y mejoramiento de procesos
Focalizar el trabajo de las personas en las funciones que mejor desempeñan.
Procesos maduros y metodologías de
MAYOR PRODUCTIVIDAD
MENORES COSTOS
MAYOR PRODUCTIVIDAD
MEJORAS EN CALIDAD
SATISFACCIÓN DEL CLIENTE, MEJORAS DE CALIDAD, MAYOR PRODUCTIVIDAD
y gmejoramiento continuo.
PRODUCTIVIDAD
26
Modo en que se producen los entregables dedeterminada área de negocio.
Posibles contextos en GSD – Clasificación de acuerdo a los límites organizacionalesPosibles contextos en GSD – Clasificación de acuerdo a los límites organizacionales
SOURCING
INSOURCING = IN HOUSE
OUTSOURCING= EXTERNALIZACIÓN COLABORACIÓN
Los procesos de negocio se ejecutan enLos procesos de negocio se distribuyen Los procesos de negocio se distribuyen
Los procesos de negocio se ejecutan en la compañía.
en varias organizaciones en una relación “Cliente‐Proveedor”
en varias organizaciones en una relación de colaboradores (Alianza Estratégica)
27
Posibles contextos en GSD – Clasificación de acuerdo a los límites GeográficosPosibles contextos en GSD – Clasificación de acuerdo a los límites Geográficos
Ejecución de procesos de negocio enubicaciones distintas al lugar en dondese benefician de los mismos
DESLOCALIZACIÓN
se benefician de los mismos.
OFF‐SHORENEAR‐SHORE ON‐SHORE ON‐SITE
Los procesos de negocio seejecutan en centros de trabajoubicados en países lejanos
Los procesos de negocio seejecutan en centros detrabajo ubicados en países
Los procesos de negociose ejecutan en centros de
Los servicios se prestan enlas instalaciones delubicados en países lejanos
tanto geográficamente comoen huso horario
trabajo ubicados en paísescercanos con husos horariossimilares.
trabajo ubicados en elmismo país.
las instalaciones delcliente.
28
http://www.gartner.com/it/page.jsp?id=835718
CRECIMIENTO NEARSHORE - OFFSHORECRECIMIENTO NEARSHORE - OFFSHORE
In 2008, Gartner’s top 30 locations for offshore services, by region, were:
Americas: Argentina, Brazil, Canada, Chile, Costa Rica, Mexico and PanamaAsia/Pacific: Australia, China, India, Malaysia, New Zealand, Pakistan, the Philippines, Singapore, Thailand and VietnamEurope, the Middle East and Africa): the Czech Republic, Egypt, Hungary, Ireland, Israel, Morocco, Poland, Romania,Russia Slovakia South Africa Spain and UkraineRussia, Slovakia, South Africa, Spain and Ukraine
http://nearshoreamericas.com/gartner‐offshore‐outsourcing/
C l bi d P j i i l f i h 2011 2012 li d d A i B il Chil C RiColombia and Peru join perennial favorites on the 2011‐2012 list, announced today: Argentina, Brazil, Chile, Costa Ricaand Mexico. The eighth Nearshore country is Panama, which re‐enters from previous years.
Criterios Calificación Gartner
IdiomaAmbiente
económico y Político
Compatibilidad Cultural Madurez legal
Privacidad y Seguridad de los
datos
Sistema Educacional
Infraestructura
Soporte Gubernamental Costos
Político datos Infraestructura
29
27%20%
30%
CRECIMIENTO NEARSHORE - OFFSHORECRECIMIENTO NEARSHORE - OFFSHORE
18%
27%
0%
10%
20%
2006 2008
• Offshore / NearShore outsourcing is also increasing, focus more than ever on NearShoreoutsourcingoutsourcing
• Offshore / NearShore outsourcing growing, costs being the key driver in 90 % of the cases• Offshore / NearShore outsourcing is increasing in all the service categories, i.e. applicationservices, infra services and business process outsourcing.
• Offshore / NearShore outsourcing is moving from large international organizations to mediumsized, more local organizations.
• Nearshore delivery centers are becoming more popular.
Offshore / Nearshore Scenario
© 2009 Gartner, Inc. and/or its affiliates. All rights reserved.Gartner, Dataquest and ITxpo are registered trademarks of Gartner, Inc. or its affiliates.Gartner for IT Leaders is a service mark of Gartner, Inc. or its affiliates.
30
Near‐Shore
MODELO GLOBAL DELIVERYMODELO GLOBAL DELIVERY
Off Shore
/ On‐Shore
On SiteOff‐Shore On‐Site
Global Delivery
Estrategia para ejecutarprocesos de negociousando simultáneamenteOff‐Shore, Near‐Shore uOn‐Site.
Modelo Global Deliveryl i l j bi ió d “Sh ” l j ió d di i d• Es aquel que permite la mejor combinación de “Shore”, la ejecución de procedimientos de
calidad y de gestión en todo el ciclo de vida de los servicios, maximizando la calidad de susprocesos de negocio y minimizando los costes y los tiempos de respuesta.
31
EQUIPOS DE TRABAJO DISTRIBUIDOSEQUIPOS DE TRABAJO DISTRIBUIDOS
SI HACES ALGO QUE PUEDE HACER CUALQUIERA, LO MAS PROBABLE ESQUE LLEGUE ALGUIEN QUE LO HAGA MAS BARATO QUE TÚ.
32
Un producto se convierte en un COMODITY cuando pierde
MODELO GLOBAL DELIVERYMODELO GLOBAL DELIVERY
• Gestión• Análisis funcional
On‐Site
• Gestión• Análisis Funcional• Diseño• Pruebas integrales
Near‐Shore• Construcción• Pruebas unidad• Pruebas funcionales
Off_Shore
sus elementos de diferenciación frente a su competencia.
On‐Site
Se crean clústers de conocimientocomo elemento diferenciador:Profesionales altamente cualificadoscon conocimientos especializados ycapacidad de innovación.p
En el Near‐Shore seEn el Near‐Shore se
Off_Shore
deslocalizan serviciosque por su naturalezano podrían serejecutadosexclusivamente enmodalidad Off Shore
En el Near‐Shore se deslocalizan servicios que por su naturaleza no podrían ser ejecutados exclusivamente en modalidad Off‐Shore
Near‐Shore
modalidad Off‐Shore
33
Consideraciones para Outsourcing:
MODELO GLOBAL DELIVERY / INSOURCING - OUTSOURCINGMODELO GLOBAL DELIVERY / INSOURCING - OUTSOURCING
País Receptor del Servicio
• Se externalizan los procesos “No Core”.• Proveedor con modelo de madurezorganizacional y estrategia de mejoracontinua.
•Un aumento de la productividad garantiza
Outsourcing
del Servicio
Insourcing
la rentabilidad del servicio.
g
Insourcing
País ejecutor Near‐Shore
País ejecutor Insourcing
jOff‐Shore
34
ESCENARIOS PERSPECTIVA ORGANIZACIONALESCENARIOS PERSPECTIVA ORGANIZACIONAL
In House
Gestión del Proyecto en área funcional de la compañía
RequerimientosAnálisis Funcional
TransiciónPruebas de integración
In House
Gestión de Proyecto en área técnica de la compañía
Diseño Alto Nivel
Diseño Detallado
ConstrucciónPruebas Unitarias
35
ESCENARIOS PERSPECTIVA ORGANIZACIONALESCENARIOS PERSPECTIVA ORGANIZACIONAL
In House
Gestión del Proyecto en área funcional de la compañía
RequerimientosAnálisis Funcional
TransiciónPruebas de integración
In House
Gestión de Proyecto en fábrica de Software de la compañía
Diseño Alto Nivel
Diseño Detallado
ConstrucciónPruebas Unitarias
36
ESCENARIOS PERSPECTIVA ORGANIZACIONALESCENARIOS PERSPECTIVA ORGANIZACIONAL
In House
Gestión del Proyecto
Outsourcing / Colaboración
Gestión de Proyecto en Centro externo prestador del servicio
Requerimientos Análisis Funcional
Diseño Alto Nivel
Diseño Detallado
ConstrucciónPruebas Unitarias Transición
Pruebas de integración
37
ESCENARIOS PERSPECTIVA ORGANIZACIONALESCENARIOS PERSPECTIVA ORGANIZACIONAL
In House
Gestión del Proyecto
RequerimientosAnálisis Funcional
TransiciónPruebas de integración
Outsourcing / Colaboración
Gestión de Proyecto en Centro externo prestador del servicio
Diseño Alto Nivel
Diseño Detallado
ConstrucciónPruebas Unitarias
38
ESCENARIOS PERSPECTIVA ORGANIZACIONALESCENARIOS PERSPECTIVA ORGANIZACIONAL
In House
Gestión del Proyecto
RequerimientosAnálisis Funcional
Diseño Alto Nivel
Diseño Detallado
TransiciónPruebas de integración
Outsourcing / Colaboración
Gestión de Proyecto en Centro Externo
ConstrucciónPruebas Unitarias
Centro Externo
39
On Site
ESCENARIOS EN DESLOCALIZACIÓN DE PROCESOS DE DESARROLLO DE SWESCENARIOS EN DESLOCALIZACIÓN DE PROCESOS DE DESARROLLO DE SW
Gestión del Proyecto
Requerimientos Transición
Instalaciones Near Shore / On Shore
Gestión del Proyecto
Gestión hacia el Cliente final.
Análisis Funcional
Diseño Alto Nivel
Pruebas de integración
Gestión del Proyecto
Instalaciones Off Shore
Gestión de Proyecto en Centro de Desarrollo
Diseño Detallado
ConstrucciónPruebas Unitarias
40
On Site / Instalaciones del Cliente
ESCENARIOS EN DESLOCALIZACIÓN DE PROCESOS DE DESARROLLO DE SWESCENARIOS EN DESLOCALIZACIÓN DE PROCESOS DE DESARROLLO DE SW
Gestión del Proyecto
Requerimientos Transición
Instalaciones Near Shore / On Shore
Gestión del Proyecto
Gestión hacia el Cliente final
Análisis Funcional
Diseño Alto Nivel
Pruebas de integración
y
Instalaciones Near Shore / On Shore
Gestión de Proyecto en Centro de Desarrollo
Diseño Detallado
ConstrucciónPruebas Unitarias
41
On Site
Localización de la fábricaLocalización de la fábrica
Gestión del Proyecto
Requerimientos Transición
Instalaciones Near Shore / On Shore
Gestión del Proyecto
Gestión hacia el Cliente final.
Análisis Funcional
Diseño Alto Nivel
Pruebas de integración
Gestión del Proyecto
Actividades deConstrucción Actividades de
Delivery
Instalaciones Off Shore
Gestión de Proyecto en Centro de Desarrollo
Actividades deActividades deDelivery
Diseño Detallado
ConstrucciónPruebas Unitarias
42
Actividades deConstrucción
Delivery
Actividadesde
ó
Actividadesdel
Niveles de Colaboración en un servicio deslocalizadoNiveles de Colaboración en un servicio deslocalizado
Definición Requerimientos de Usuario
Aceptación
Construcción DeliveryNivel 4
Usuario
Especificación Requisitos del Software
Diseño Técnico Alto Pruebas de Sistema
Pruebas de Aceptación Usuario
Implantación
Nivel 3
Diseño Técnico Alto Nivel y Arquitectura del Software
Diseño Detallado
Pruebas funcionales y de Integración
Pruebas de SistemaNivel 2
Nivel 1
Código Pruebas unitariasNivel 0
El perímetro de participación / responsabilidades en el ciclo de vida del desarrollo depende delnivel de servicio requerido y de las necesidades del proyecto o servicio
43
NEAR-SHORE VS. OFF-SHORENEAR-SHORE VS. OFF-SHORE
Near Shore y Off Shore son
Near Shore Off ShoreNear‐Shore y Off‐Shore soncomplementarios.
Ecuación ideal para valorar el costo del servicio
Clústers de Conocimiento
Menores Costos
Similitud cultural
Cercanía Geográfica
Procesos Maduros
Sinergias entre CDS y Reutilización
Mismo huso Horario
Facilidad de desplazamiento
44
DIVIDIR EL CICLO DE VIDA DE LOS SERVICIOS EN ETAPAS DE ACUERDO A SUSCARACTERÍSTICAS.
ESTRATEGIAS GLOBAL DELIVERYESTRATEGIAS GLOBAL DELIVERYESTRATEGIAS GLOBAL DELIVERYESTRATEGIAS GLOBAL DELIVERY
• Permite elegir la mejor opción de “shore” para cada parte del ciclo.
NEAR‐SHORE
• Recomendado para servicios con mucha interactividad con el usuario final.• Recomendado para servicios de misión crítica.
OFF‐SHORE
• Ideal en servicios intensivos en mano de obra con requisitos de entrega claros y pocovolátiles.
LAS ESTRATEGIAS DE SHORE Y SOURCING DEBEN ESTAR ALINEADAS CON LAS ESTRATEGIASDEL NEGOCIO.
• Muchas veces las decisiones de Sourcing y deslocalización son tomadasg yaleatoriamente usando ubicaciones geográficas o seleccionando proveedores porimpulsos o tendencias sin usar un modelo o guía que garantice su éxito.
45
MEJORES PRÁCTICAS GLOBAL DELIVERYMEJORES PRÁCTICAS GLOBAL DELIVERY
• La decisión de hacer Shore solamente por optimizar costossin evaluar riesgos operacionales ni el estado de madurezorganizacional es garantía de fracaso.
Fase 0 – Concepción del Shore
•Determinar que servicios serán deslocalizados y si seránexternalizados o no (Outsourcing o Insourcing). Se debenfijar los criterios para evaluar los centros de trabajofijar los criterios para evaluar los centros de trabajoremotos.
•Definir indicadores que permitan medir operacionalmenteel servicio que se ha deslocalizado.
•Documentar Matrices que permitan decidir el tipo de“Sh ” l i d di d d l i l d id d l i i
Fase 1 – Medición de eficiencia “Shore” a elegir dependiendo del ciclo de vida del servicio
y sus características.• Implementación de procesos de transferencia deconocimiento que se puedan medir.
•De acuerdo al tipo de Shore o tipo de
operacional
Servicio, documentar los costos ocultos que se presentanen cada caso
46
• Los procesos deslocalizados no se deben tratar como cajasnegras sino que deben ser incluidos en la mejora de procesos
MEJORES PRÁCTICAS GLOBAL DELIVERYMEJORES PRÁCTICAS GLOBAL DELIVERY
negras sino que deben ser incluidos en la mejora de procesosde la compañía. (Modelos y metodologías de mejoracontinua).
• Estabilización y optimización de los procesos No core delnegocio
Fase 2 – Mejora deProcesos
negocio.
•Uso de herramientas que apoyen la automatización de losprocesos en todo el ciclo de vida de los servicios.
• Implementación de modelos de procesos globales que seanescalables en función de las necesidades del servicio.
• Siendo el Off Shore la evolución natural del Near Shore se• Siendo el Off‐Shore la evolución natural del Near‐Shore sesugiere una transición gradual de Near‐Shore a Off‐Shore en laimplementación del modelo Global Delivery. Ej. Fase 1: 100Near Shore – Fase 2: 50% NearShore 50% OffShore – Fase 3:25% Near‐Shore 75% OffShore (Regla 25/75)
Fase 3 – Estructura deservicios escalable
• Implementación de modelos de procesos de gestión que seanescalables en función de las necesidades del negocio.
47
RIESGOS EN GLOBAL DELIVERYRIESGOS EN GLOBAL DELIVERY
•En un esquema Global Delivery, las estrategias dedeslocalización y externalización deben considerar elfactor de largo plazo para obtener beneficios de negocio
t ibl i t í ti A ilid d
Si un proyecto se aventura a la deslocalización con el único objetivo de reducir costos y sin considerar la madurez organizacional para trabajar sostenibles gracias a características como: Agilidad y
Rapidez (Productividad) y calidad en los servicios.•Modelos y metodologías de mejora continua.
organizacional para trabajar con procesos remotos es muy probable que dicho proyecto termine en fracaso.
•Seguridad de la información: EncriptamientoSi no se identifican oportunamente los costos derivados de trabajar con un • Infraestructura: Líneas alternativas de conectividad.
•Costos del plan de comunicación.•Gastos de Viajes•Costos de los modelos de gestión y relación.
derivados de trabajar con un centro de trabajo remoto es probable que se comprometa el éxito del proyecto al no cumplir los márgenes esperadosesperados.
48
•Diferencias de madurez de los procesos entre el proveedordel servicio y el cliente: Se deben crear previamente lasreglas de juego entre cliente y proveedor tanto en procesos
RIESGOS EN GLOBAL DELIVERYRIESGOS EN GLOBAL DELIVERY
reglas de juego entre cliente y proveedor tanto en procesosde trabajo como en gestión.
•Poca experiencia en servicios de TI relacionados con elnegocio: Generalmente al inicio del proyecto, los equiposd b j i i i l d l
Si no se identifican los factores que afectan la productividad del equipo de trabajo como consecuencia de trabajar con un
d di ib ió de trabajo tienen poca experiencia en el entorno delnegocio. Si agregamos el trabajar remotamente habrá undescenso de la productividad.
• Los equipos de Off‐Shore son ineficientes en entornos en
centro de distribución remoto es probable que no se alcancen las metas en tiempo, alcance, costo y calidad.
q pque los requerimientos del servicio son ambiguos ovolátiles.
•Problemas ocasionados por la comunicación a distancia
•Problemas ocasionados por la diferencia horaria
•Problemas ocasionados por la diversidad cultural
Si no se diseña un plan de comunicación para superar los retos de un esquema de trabajo remoto que esté soportado con herramientas colaborativas
•Problemas ocasionados por desconocimiento de lasactividades del resto del equipo en un esquema de trabajodistribuido.
adecuadas, es probable que dicho proyecto termine en fracaso.
49
GRUPO DE MÉTODOS Y HERRAMIENTAS DESOFTWARE QUE PERMITEN QUE LOS USUARIOS
GROUPWAREGROUPWARE
SOFTWARE QUE PERMITEN QUE LOS USUARIOSREALICEN TRABAJOS COLECTIVOS A TRAVÉS DE LASREDES.
Las diversas y variadas aplicaciones contribuyen a una únicameta: Permitir que usuarios separados geográficamente trabajenen equipo.
Herramientas de Colaboración (Asíncrona)
H i t d
Correo Electrónico, Correo de voz, Publicación en la Web
Conferencia de datos, conferencia Herramientas de
Conferencia (Síncrona)
Herramientas de Gestión
,de voz, Videoconferencia, mensajería instantánea
Calendarios compartidos, Sistemas d ió d i dde gestión de proyectos, sistemas de gestión de conocimiento, Sistemas de control de flujo de actividad
50
Inconvenientes con: Involucramiento efectivo de stakeholders, Gestión de fli t G tió d i i t R i Ef ti T d D i i
PROBLEMAS Y RETOS A LOS QUE SE ENFRENTA EL GSDPROBLEMAS Y RETOS A LOS QUE SE ENFRENTA EL GSD
conflictos, Gestión de requerimientos, Reuniones Efectivas, Toma de Decisiones
Problemas i d Problemas Problemas Problemas en la ocasionados por
comunicación distante
ob e asocasionados por la diferencia horaria.
ob e asocasionados por la diversidad cultural.
ob e as e agestión del conocimiento.
Falta de comunicación informal. Relaciones con niveles de confianza bajos
Las jornadas laborales de los stakeholdersno se solapa. No existe comunicación sincrónica
No se comparte el lenguaje nativo. Formas de expresión y modismos diferentes
Cada miembro del equipo desconoce las actividades del resto del equipo.j
Distanciamiento entre stakeholders, escaso
sincrónica.
Demora en toma de decisiones conjuntas descenso de
diferentes.
Malos entendidos producto de no dominar el lenguaje intermedio
q p
No se aprovechan las contribuciones
conocimiento del trabajo y progreso en sitios remotos
conjuntas, descenso de productividad en tareas conjuntas de alta dependencia
el lenguaje intermedio (Generalmente Inglés) o de no conocer los modismos de otro país
individuales de los miembros del equipo de trabajo.
51
Problemas ocasionados por Problemas Problemas
POSIBLES SOLUCIONES A PROBLEMAS EN GSDPOSIBLES SOLUCIONES A PROBLEMAS EN GSD
ocasionados por comunicación distante
ocasionados por la diferencia horaria.
ocasionados por la diversidad cultural.
Falta de comunicación informal. Relaciones con niveles de confianza bajos
Las jornadas laborales de los stakeholders no se solapa. No existe comunicación sincrónica.
No se comparte el lenguaje nativo. Formas de expresión y modismos diferentes.
Distanciamiento entre stakeholders, escaso conocimiento del trabajo y
Demora en toma de decisiones conjuntas, descenso de productividad en tareas
Malos entendidos producto de no dominar el lenguaje intermedio (Generalmente Inglés) o de no conocer losprogreso en sitios remotos
Reuniones de Seguimiento, Informes de
conjuntas de alta dependencia
Casillero de correo para atención de dudas, Sesiones de chat en h d
Inglés) o de no conocer los modismos de otro país
Capacitación en cultura de otros países, Intérprete que apoye enSeguimiento, Informes de
Seguimiento, Reuniones Introductorias, Sesiones de entrenamiento.
horario coincidente, Reuniones de alto nivel, Reuniones a nivel de proyecto, un funcionario responsable de canalizar dudas.
países, Intérprete que apoye en la elaboración y revisión de la documentación compartida del proyecto.
52
POSIBLES SOLUCIONES A PROBLEMAS EN GSDPOSIBLES SOLUCIONES A PROBLEMAS EN GSD
CONOCIMIENTO ‐ AWARENESS
• Aumento del conocimiento tácito a través de herramientas groupware: Foros de discusión, Wikis relacionados con las actividades técnicas de los distintos grupos de trabajo.
R i ádi i d
Problemas en la gestión del conocimiento.
Cada miembro del equipo desconoce las acti idades del resto del eq ipo • Reuniones esporádicas orientadas a
brindar conocimiento sobre las actividades del equipo de desarrollo a nivel global
• Matrices de conocimiento
actividades del resto del equipo.
No se aprovechan las contribuciones individuales de los miembros del equipo de trabajo.
Matrices de conocimiento corporativas (RR.HH)
53
• Algunos clientes tienden a contratar servicios en Fábricas cuando elMadurez en los
OPORTUNIDADES DE MEJORAOPORTUNIDADES DE MEJORA
gpresupuesto es escaso o cuando hay “un muerto”. El modelo dedesarrollo en fábrica exige un grado de madurez importante tanto alcliente como al proveedor.
Madurez en los procesos
cliente/Proveedor
• Las fases previas al servicio en Fábrica (DilucidarE ifi i requerimientos, análisis funcional,….) no siempre están cerradas y con
el grado de detalle suficiente cuando el proyecto se traslada alproveedor seleccionado o se deslocaliza.
Especificaciones claras y detalladas
• Los pirámide de recursos de la Fábrica ha de estar bien balanceada (noLos pirámide de recursos de la Fábrica ha de estar bien balanceada (notodo pueden ser programadores) y los técnicos han de estar altamentecualificados. La carrera profesional ha de permitir la especialización.
Especialización
• En determinados servicios el desarrollo de una aplicación se encarga aEn determinados servicios el desarrollo de una aplicación se encarga aun proveedor en modalidad tradicional o “llave en mano” y elmantenimiento se lleva a Fábrica.
Perspectiva Cliente
• Trabajar en modalidad “offshore” exige una evolución desde• Trabajar en modalidad “offshore” exige una evolución desde“NearShore” para tener garantías de éxito.Deslocalización
54
Normalized Geometric Mean of Relative Weights Obtained from Multiple Experts in 6 Global Software Development Scenarios
Priorización de la Gerencia de proyectos en diferentes escenarios GSDPriorización de la Gerencia de proyectos en diferentes escenarios GSD
G.M : Geometric MeanN.G.M : Normalized Geometric Mean
Normalized Geometric Mean of Relative Weights Obtained from Multiple Experts in 6 Global Software Development Scenarios
Scenario Outsourced Near-shore
Outsourced Offshore
In house Near-shore In house Offshore Collaborative Near-
shoreCollaborative
OffshoreG.M. N.G.M. G.M. N.G.M. G.M. N.G.M. G.M. N.G.M. G.M. N.G.M. G.M. N.G.M.
PM Know. Area
Scope Mgmt 0.17 0.18 0.06 0.06 0.12 0.13 0.04 0.04 0.26 0.27 0.21 0.21HR Mgmt 0.05 0.05 0.02 0.02 0.12 0.13 0.25 0.25 0.03 0.03 0.03 0.03
Procurement Mgmt 0.03 0.03 0.02 0.02 0.03 0.03 0.03 0.03 0.03 0.03 0.02 0.02
Quality Mgmt 0.17 0.18 0.09 0.09 0.22 0.23 0.06 0.07 0.04 0.04 0.06 0.06
Integration Mgmt 0.06 0.07 0.10 0.10 0.08 0.08 0.12 0.12 0.15 0.16 0.17 0.17
Time Mgmt 0 17 0 18 0 13 0 13 0 16 0 17 0 12 0 12 0 11 0 11 0 07 0 07Time Mgmt 0.17 0.18 0.13 0.13 0.16 0.17 0.12 0.12 0.11 0.11 0.07 0.07
Risk Mgmt 0.12 0.12 0.26 0.26 0.03 0.04 0.11 0.11 0.14 0.14 0.20 0.20
Communication Mgmt 0.04 0.04 0.25 0.26 0.03 0.03 0.25 0.25 0.14 0.15 0.19 0.19
Cost Mgmt 0.17 0.18 0.06 0.06 0.17 0.17 0.03 0.03 0.08 0.08 0.05 0.05
0.98 1.00 0.97 1.00 0.98 1.00
55
Priorización de la Gerencia de proyectos en diferentes escenarios GSDPriorización de la Gerencia de proyectos en diferentes escenarios GSD
Outsourcing
Near‐Shore: Énfasis enScope, Quality, Cost &Time
Off‐Shore: Énfasis en Risk& Communication
56
Priorización de la Gerencia de proyectos en diferentes escenarios GSDPriorización de la Gerencia de proyectos en diferentes escenarios GSD
Sourcing Colaborativo
Near Shore: Énfasis en Scope, Integration & Risk
Off‐Shore: Énfasis en Scope, Integration, Commp , g ,unication & Risk
57
Priorización de la Gerencia de proyectos en diferentes escenarios GSDPriorización de la Gerencia de proyectos en diferentes escenarios GSD
In House
Near Shore:Énfasis en Quality, Time &Cost
Off Shore:Énfasis enCommunication, HR MgmtCommunication, HR Mgmt& Integration
58
Priorización de la Gerencia de proyectos en diferentes escenarios GSDPriorización de la Gerencia de proyectos en diferentes escenarios GSD
Near Shore vs. Off Shore
É f i & iNEAR‐SHORE: Énfasis en Scope & Time Mgmt OFF‐SHORE: Énfasis en Risk & Communication Mgmt
59
Reutilización de componentes y reutilización por
CONCEPTO DE FÁBRICA DE SOFTWARECONCEPTO DE FÁBRICA DE SOFTWARE
Necesidad de medir
Productividad y calidad
reutilización por líneas de producto Mejoramiento
continuo de Procesos
Industrialización
calidad
MétodosIndustrialización del Software: Actividades repetibles y normalizadas
Métodos colaborativos y equipos de trabajo
distribuidos
Definición• Es un Centro de Trabajo dedicado al Desarrollo de Software que aborda dicha actividad• Es un Centro de Trabajo dedicado al Desarrollo de Software que aborda dicha actividadcomo un proceso industrial, definible, repetible y medible en un entorno de altaproductividad…
60