html5-img
1 / 45

Desarrollo de Software a Distancia Gesti ón de Software 2006

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.

Download Presentation

Desarrollo de Software a Distancia Gesti ón de Software 2006

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Desarrollo de Software a Distancia Gestión de Software 2006 Germán VieraAriel RonJulián Magnone

  2. 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

  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ónCaso 1 • Cliente a Distancia Proveedor de Software 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ónCaso 2 A • Desarrollo on-site off-shore Proveedor de Software Cliente Grupo del Proveedor. • 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

  8. IntroducciónCaso 2 B • Desarrollo on-site off-shore Proveedor de Software Cliente Grupo del Proveedor. Grupo Cliente • Un grupo del Proveedor es enviado al Cliente • Posible razón: • Recursos Calificados • Seguridad • Logística

  9. IntroducciónCaso 3 • Proveedor Distribuido Desarrolladores Cliente Proveedor Analistas de Negocio • La estructura del proveedor es distribuida • Abstracción del Proveedor como un “todo”

  10. IntroducciónCaso 4 • Open Source Políticas Documentación Gestión Estrategia Ingeniería etc. Comunidad • Distribución total • El producto surge de la necesidad de los involucrados • Bases de Conocimiento • Concepto de Usuarios

  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, Canadahttp://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.

  20. Calidad en elDesarrollo de Softwarea 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:

  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 : Cliente Gestión Calidad Arquitectura y Diseño Requerimientos Desarrollo

  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.

  34. 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) Especificación Solicitud Base de Conocimiento QA Aseguramiento de la Calidad (Grupos de Discusión)

  37. Calidad – Open Source (3) Gap Análisis (Paso previo al inicio) Asignación de Roles Base de Conocimiento QA Base de Conocimiento Incubadora Adoptar Modelo de Proceso Aseguramiento de la Calidad Objetivos de Calidad del Producto y de Uso Grupo de Calidad Designado

  38. Calidad – Open Source (4) Base de Conocimiento Proyectos Aseguramiento de la Calidad Base de Conocimiento Incubadora Base de Conocimiento QA Grupo de Calidad Designado

  39. Calidad – Open Source (5) • Asumiendo un proceso en Etapas • Etapa Inicial Planificación Especificación Verificación por Pares Base de Conocimiento QA Base de Conocimiento Proyecto Framework de Desarrollo y Verificación Grupo de Calidad Designado Objetivos de Calidad

  40. Calidad – Open Source (6) • Etapas de Elaboración y Construcción Verificación Automática Implementación Diseño Verificación Por Pares Base de Conocimiento QA Base de Conocimiento Proyecto Objetivos de Calidad Grupo de Calidad Designado Calidad de Uso

  41. Calidad – Open Source (7) • Etapa de Liberación Regresión Desarrollo Base de Conocimiento Proyecto Usuarios Calidad de Uso Verificación Base de Conocimiento QA Aseguramiento de Calidad (Org.) Grupo de Calidad Designado

  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 ? ?

More Related