Date post: | 03-Jan-2016 |
Category: |
Documents |
Upload: | hedda-gardner |
View: | 33 times |
Download: | 0 times |
Desarrollo de Software
a Distancia
Gestión de Software
2006
Germán VieraAriel Ron
Julián Magnone
2
• Introducción
• Caso de estudio: SEGAL
• Calidad Áreas Claves Calidad en la Comunicación
• Calidad en Proyectos Open Source
• Proyecto de Ingeniería de Software
Agenda
3
Introducción
• ¿Qué entendemos por Desarrollo de Software a Distancia? Proyectos en los cuales alguno (o algunos) de los
involucrados se encuentra en sitios geográficos diferentes.
• Clientes
• Proveedores
Conocido como• GSD: Global Software Development
• DSD: Distributed Software Development
• CSD: Collaborative Software Development
4
Introducción (2)
• ¿Por qué investigar el Desarrollo de Software a Distancia? Fenómeno en aumento Reciente aparición Impacto directo en:
• Gestión de Procesos
• Calidad
Realidad en la industria de software local
5
Introducción (3)
• Posibles escenarios Cliente a Distancia Desarrollo on-site off-shore Proveedor Distribuido Open Source Distributed Model
6
Introducción
Caso 1
• Cliente a Distancia
Proveedor deSoftware
Cliente
• Proveedor en sitio geográfico distinto al del Cliente
• Sin contacto persona-persona• ej. a través de Internet
• Diferentes tamaños de organizaciones
7
Introducción
Caso 2 A
• Desarrollo on-site off-shore
• Proveedor en sitio geográfico distinto al del Cliente
• Proveedor envía al sitio del cliente un grupo de profesionales para: Construcción del Producto Consultoría
• Organizaciones quizás no tan pequeñas
Proveedor de Software Cliente
Grupo del Proveedor.
8
Introducción
Caso 2 B
• Desarrollo on-site off-shore
• Un grupo del Proveedor es enviado al Cliente
• Posible razón: Recursos Calificados Seguridad Logística
Proveedor de Software
Cliente
Grupo del Proveedor.
Grupo Cliente
9
Introducción
Caso 3
• Proveedor Distribuido
• La estructura del proveedor es distribuida
• Abstracción del Proveedor como un “todo”
Proveedor
Analistas de Negocio
Desarrolladores
Cliente
10
Introducción
Caso 4
• Open Source
• Distribución total
• El producto surge de la necesidad de los involucrados
• Bases de Conocimiento
• Concepto de Usuarios
PolíticasDocumentación
GestiónEstrategiaIngeniería
etc.
PolíticasDocumentación
GestiónEstrategiaIngeniería
etc.
Comunidad
11
Ventajas del Desarrollo a Distancia
• Ventajas para el “Cliente” Reducir costos Permite enfocarse en sus procesos de negocio.
• Mejora la eficiencia. Acceder a mano de obra calificada.
• Ventajas para el “Proveedor” Nuevos mercados a nivel global.
• Oportunidades en mercados reducidos.
12
Inconvenientes
• Problemas conocidos en eldesarrollo de software a distancia Comunicación
• Distancia
• Herramientas y métodos
Coordinación• ej. Actividades
Diferencia Cultural Diferencia Horaria
13
Caso de Estudio: SEGAL
• Software Engineering andGlobal interAction Laboratory Objetivo
Explorar y estudiar el desarrollo de software a distancia (GSD), con equipos de desarrollo…
– distribuidos geográficamente
– con diferencia horaria
Dr. Daniela Damian• University of Victoria, Canada
http://cs.uvic.ca/~danielad
14
Caso de Estudio: SEGAL (2)
• Áreas de Interés Entender los problemas que enfrenta el
desarrollo de software con/en organizaciones distribuidas.
Estudiar herramientas y tecnologías que permitan mejorar la colaboración.
• Human-Computer Interaction (HCI)
Paper “Requirements Engineering challenges in multi-site software development organizations”, Dr. Daniela Damian, 2003
15
Caso de Estudio: SEGAL (3)
• Resultados en base a estudios empíricos Propuesta de desarrollo de un proyecto real Grupos distribuidos Actividades del Proceso distribuidas
• Negociación, Relevamiento de Requerimientos, Desarrollo, Testing, etc.
8000KLOC cada liberación 12 a 18 meses de desarrollo 120 desarrolladores Full Time
16
Caso de Estudio: SEGAL (4)
• Ubicación geográfica de los involucrados Cliente distribuido mundialmente. Gestión del Proyecto en EE.UU. Gestión de Ingeniería de Software en Australia Desarrolladores en Australia y Nueva Zelanda
17
Caso de Estudio: SEGAL (5)
• Resultados del estudio El conjunto de problemas conocidos derivan en retos a
resolver.
El paper concluye con recomendaciones de cómo encarar cada uno de éstos problemas.
18
Caso de Estudio: SEGAL (6)
• Herramientas y Tecnologías Video y Audio E-mail IM Software colaborativo
19
India
• ¿Por qué India? Ingenieros calificados Alta motivación Salarios reducidos Buen dominio del idioma inglés 250.000 ingenieros se reciben cada año
• Principal Inconveniente Diferencia Horaria con EE.UU.
Calidad en elDesarrollo de Software
a Distancia
21
Calidad en el Desarrollo a Distancia
• Gestión de Calidad basada en estándares Una implementación más de:
• CMM
• ISO
• Áreas claves a tratar por los grupos QA Calidad del Producto y Proceso. Calidad de la Comunicación.
22
Calidad de la Comunicación
• Área Clave.• Requiere un análisis cualitativo y/o cuantitativo
desde el kick-off del proyecto.• Informalidad o prácticas no estandarizadas pueden
concluir en el fracaso del proyecto.
23
Calidad de la Comunicación (2)
• QA de la Comunicación Mencionada explícitamente en la mayoría de los
estándares de Procesos, aunque sin profundizar.• CMM
– Contempla la importancia pero sin definir actividades de medición ni control.
24
Calidad de la Comunicación (3)
• Compromiso con la estabilidad de la calidad de comunicación. Cláusulas contractuales. Compromiso del cliente con el proveedor. Acuerdos en las instancias de interacción.
25
Calidad de la Comunicación (4)
• Temas a Evaluar y/o Medir: Detalles Estratégicos. Detalles Culturales. Distribución del conocimiento. Diferencia Horaria. Mantener el Ciclo de Comunicación. Herramientas de comunicación. Gestión del Proyecto y Proceso. Detalles Técnicos.
26
Calidad de la Comunicación (5)
• Detalles Estratégicos: Información proveniente de diferentes entidades
• Consistencia
• Independencia
Información digerida hacia la Alta Gerencia• Facilitar la toma de decisiones
27
Calidad de la Comunicación (6)
• Detalles Culturales: Evaluar la capacidad de comprensión de las diferentes
entidades.• Intersección• Disyunción
Evaluar factibilidad de estandarización de la comunicación.
• Comunicación Administrativa• Comunicación Técnica
Sensaciones de responsabilidad diferentes• Oriente• Occidente
28
Calidad de la Comunicación (7)
• Diferencia Horaria: Aprovechar al máximo las interacciones. Elaborar metodologías de comunicación
asincrónica.• E-mail
Medir la calidad de las interacciones• Preguntas antes, respuestas después.
• Evaluar si los objetivos fueron cumplidos.
29
Calidad de la Comunicación (8)
• Mantener el Ciclo de Comunicación:
Cliente
Desarrolladores
Director de Proyecto
Gerencia
Director de Proyecto
Gerencia
Cliente
30
Calidad de la Comunicación (9)
• Mantener el Ciclo de Comunicación:
Cliente
Gerencia
Gestión Proyecto
Ingeniería
31
Calidad de la Comunicación (10)
• Mantener el Ciclo de Comunicación :
Requerimientos
Arquitectura y Diseño
Desarrollo
GestiónCliente
Calidad
32
Calidad de la Comunicación (11)
• Herramientas Sincrónicas o Asincrónicas Tiempo Real Texto, voz, video Basadas en colaboración estandarizada, o en repositorios Maximizar comunicación sin olvidar la minimización de
costos. Punto a punto o a través de red de distribución.
33
Distribución del Conocimiento
• Conocimiento del negocio a los desarrolladores, analistas y diseñadores.
• Políticas de la organización.• Entrenamiento en herramientas.• Metodologías de trabajo, utilización de estándares.• Decisiones de la gerencia.• Estado actual del proyecto. Digestión de métricas.• Obtención de métricas.
Calidad en ProyectosOpen Source
35
Calidad – Open Source
• Aplicado por Organizaciones más conocidas Apache Java Net
• Objetivos Calidad del Producto. Automatización de la Verificación. Feedback constante de los usuarios. Independencia del Proceso. Lineamientos de Calidad acordes a los de la
organización.
36
Calidad – Open Source (2)
Base de Conocimiento
QA
Especificación Solicitud
Aseguramiento de la Calidad(Grupos de Discusión)
37
Calidad – Open Source (3)
Base de Conocimiento
QA
Aseguramiento de la Calidad
Base de Conocimiento
Incubadora
Gap Análisis(Paso previo al
inicio)
Asignación deRoles
Adoptar Modelode Proceso
Objetivos de Calidaddel Producto y de
Uso
Grupo de CalidadDesignado
38
Calidad – Open Source (4)
Base de Conocimiento
Incubadora
Base de Conocimiento
Proyectos
Aseguramiento de la Calidad
Grupo de CalidadDesignado
Base de Conocimiento
QA
39
Calidad – Open Source (5)
• Asumiendo un proceso en Etapas Etapa Inicial
Base de Conocimiento
Proyecto
Especificación
Planificación
Verificación porPares
Framework de Desarrollo y Verificación
Grupo de CalidadDesignado Objetivos de Calidad
Base de Conocimiento
QA
40
Calidad – Open Source (6)
• Etapas de Elaboración y Construcción
Base de Conocimiento
Proyecto
Diseño
ImplementaciónVerificaciónAutomática
VerificaciónPor Pares
Grupo de CalidadDesignado
Calidad de UsoObjetivos de
Calidad
Base de Conocimiento
QA
41
Calidad – Open Source (7)
• Etapa de Liberación
Base de Conocimiento
QA
Base de Conocimiento
Proyecto
Usuarios
Desarrollo
Verificación
Grupo de CalidadDesignado
Calidad de Uso
Regresión
Aseguramiento de Calidad (Org.)
42
Proyecto de Ingeniería de Software
• Características Nombre del Producto: Unilab - 2004 Desarrollado a distancia Equipo de desarrollo en Montevideo, Uruguay Cliente en Madrid, España
• Universidad Politécnica de Madrid
43
Proyecto de Ingeniería de Software (2)
• Inconvenientes: Objetivos de Calidad no fueron contemplados
exitosamente. Feedback de calidad del producto no adecuado.
• Poca retroalimentación.
Puesta en Producción complicada.• Servidor de Producción en España.
Agenda de reuniones afectada por diferencia horaria.
44
Proyecto de Ingeniería de Software (3)
• Conclusión Si bien se logró cumplir con el alcance
establecido, los problemas de comunicación afectaron la calidad del proceso y del producto.
45
Preguntas
? ??
? ??