desarrollo de software a distancia gesti ón de software 2006

Post on 03-Jan-2016

34 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Desarrollo de Software a Distancia Gesti ón de Software 2006. Germán Viera Ariel Ron Julián Magnone. Agenda. 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. Introducción. - PowerPoint PPT Presentation

TRANSCRIPT

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

? ??

? ??

top related