240 likes | 385 Views
Una experiencia de desarrollo rápido de aplicaciones de alta calidad utilizando procesos. Fecha: 26-Junio-2003 Autor: Gabriel Farías. Foto. Temario. Los temas que se tratarán serán: ¿Qué es Motorola? ¿Qué es GSG? Proceso Estándar de Motorola Nuestras Experiencias Fast V-Model.
E N D
Una experiencia de desarrollo rápido de aplicaciones de alta calidad utilizando procesos Fecha: 26-Junio-2003 Autor: Gabriel Farías Foto
Temario • Los temas que se tratarán serán: • ¿Qué es Motorola? • ¿Qué es GSG? • Proceso Estándar de Motorola • Nuestras Experiencias • Fast V-Model
¿Qué es Motorola? • Motorola Inc. es un proveedor líder mundial de • Soluciones integradas de telecomunicaciones y • Soluciones electrónicas embebidas • Éstas incluyen • Teléfonos móviles mejorados por software • Radios de dos vías • Sistemas y productos de mensajería • Productos para redes y acceso a Internet • Los mercados son consumidores, operadores de redes, y clientes de comercio, gobierno e industria
Equipos de trabajo Persona Casa Auto Redes de punta a punta Banda Ancha Sistemas electrónicos integrados Where Motorola adds intelligence to the Energy Systems Sistemas Inalámbricos Streamaster Volvo S80 Internet Soluciones en un chip
¿Qué es Motorola Global Software Group? Visión: Ser el principal proveedor de productos y servicios de software innovadores para Motorola y sus clientes en todo el mundo • Mejoramiento continuo de los procesos de desarrollo de software mejorando el tiempo de ciclo, productividad y calidad • Mejorar el nivel de experiencia en areás de dominio específico en cada centro • Aumentar los negocios regionales
Motorola Global Software Group w MONTREAL ST. PETERSBURG w w w LIVINGSTON w KRAKOW ILLINOIS w TURIN w w BEIJING w ATLANTA CHENGDU AUSTIN w w NANJING FLORIDA w HYDERABAD w w BANGALORE w KUALA LUMPUR w SINGAPORE w w PERTH CORDOBA w w w SYDNEY VALPARAISO ADELAIDE CMM Nivel 4 or 5
Fundamentos del Proceso • Todo Proyecto debe tener un plan basado en un proceso definido, adaptado a sus necesidades particulares • Toda actividad debe utilizar entradas que estén en Gestión de Configuración, y generar un artefacto, que luego de pasar un Control de Calidad definido, para a constituir parte del repositorio • Toda actividad debe comenzar y concluir con una revisión • Se deben registrar métricas de todas las actividades a través del proyecto • Cada artefacto producido en un proyecto debe pasar por un control de calidad • Todos los entregables del proyecto están sujetos a un procedimiento de Gestión de Configuración definido
Marco de Proceso Salida Válida a Gestión de Configuración Entrada Válida desde Gestión de Configuración Actividad Capturar Resultado Artefacto Control de Calidad
Activos de Procesos • 2 Políticas de Desarrollo • 17 Procedimientos de Desarrollo • 61 Guias de Uso • 20 Listas de Verificación • 75 Plantillas • 28 Otros documentos generales
Nuestras Experiencias • Situación inicial • Centro Tecnológico de Internet Inalámbrica (WITC) de Motorola • Desarrollo de Productos • Elicitación de Requisitos de Negocio • Procesos inmaduros • Ingresos asociado al resultado del negocio, de alto riesgo • Situación actual • Centro de Desarrollo de Software de Global Software Group de Motorola • Desarrollo de Software • Análisis de Requisitos de Software • Procesos muy maduros • Ingresos por Servicios de Ingeniería, de bajo riesgo
Producto 3 Producto 2 Producto 1 PKP 2 PKP 1 PKP 3 Componente B Componente A Componente C Ciclo Evolutivo
Project Kickoff Presentation, PKP • Alcance del proyecto • Cliente, y sus representantes • Approach • Recursos • Funcionalidades • Arquitectura preliminar • Objetivos de Calidad • Entregables y productos • Plan Preliminar • Riesgos • Supuestos, Restricciones y Dependencias
Agile Software Development • Scrum • Método de Gestión de Proyecto que se basa en que el desarrollo de proyectos de software es un proceso Empirico y no uno definido, y por lo tanto se debe poner incapie en el control más que en la predicción • Flexibilidad • Adaptabilidad • Productividad • Agile Meeting: reuniones cortas y frecuentes donde cada miembro del equipo expone: • que ha hecho desde la última reunión • que problemas ha tenido • que va a ejecutar desde ahora y hasta la próxima reunión • Backlog: Una lista priorizada de tareas por ejecutar, reemplaza la carta Gantt
eXtreme Programming Cliente Construye Valor Define Valor Programador Programador Estima Costo Selecciona Valor Cliente
eXtreme Programming • El juego del plan • Pequeños releases • Metáfora • Diseño Simple • Test then Code • Refactoring • Pair Programming • Responsabilidad compartida del código • Integración continua • 40 horas de trabajo a la semana • Cliente on-site • Estándares de codificación • El juego del plan • Pequeños releases • Metáfora • Diseño Simple • Test then Code • Refactoring • Pair Programming • Responsabilidad compartida del código • Integración continua • 40 horas de trabajo a la semana • Cliente on-site • Estándares de codificación
Fast V-Model Foto
3s 2s 4s 3s Design Code & UT MIL_02 MIL_03 MIL_05 MIL_01 Test Execution and Release Test Development MIL_04 Look Ahead Activities Look Ahead Activities Reqs. Gathering and Planning MIL_01 M_02 1s 5s 3s 3s Fast V-Model
Atributos del Fast V-Model • Representa un proceso maduro de software con activos de procesos apropiados • Se puede completar en ciclos de 12 semanas • Fomenta el desarrollo iterativo con la consecuente disminución de riesgos tecnológicos y comerciales • Esta basado tanto en documentos como en comunicaciones interpersonales • Es un híbrido entre los métodos llamados ágiles y métodos más pesados, tradicionalmente usados por organizaciones maduras • Es compatible con CMM nivel 3 • Requiere de baja rotación de personal durante el proyecto, pero permite una alta rotación en la organización debido a que los proyectos son de alta calidad y adecuadamente documentados
Cuando usar y cuando no • Cuando usar Fast V-Model • Se requiere de un nivel alto de calidad consistente • El cliente valora una rápida salida al mercado • El cliente valor poder utilizar versiones incompletas del producto • Se trabaja con requisitos inmaduros • Se preveen cambios tecnológicos y en el mercado • Cuando no usar Fast V-Model • Se tiene requisitos maduros cuya implementación no se puede abordar en tres meses • El tiempo de salida al mercado del nuevo producto no es crítico • No hay valor en tener una entrega parcial antes de la entrega final • Se requiere una cobertura de testing muy alta
Gracias ! • Esta Presentación está disponible en www.motorola.com/cl/seminario • Referencias: • www.agilealliance.org The manifesto and many papers. • www.controlchaos.com Home of SCRUM • www.xprogramming.com Home of XP • www.junit.org Home of the JUnit tool for unit testing (very popular among XPeers). • Extreme Programming Explained • Agile Software Development with Scrum • Agile Modeling • The Unified Software Development Process