Administración de proyectos de software mediante SCRUM: Una perspectiva basada en los tipos de proyectos que se desarrollan en la Industria Mexicana de Software Webinar Avantare Dr Jorge Rafael Aguilar Cisneros Depto. Ingenierías, UPAEP. 12 abril 2013
Agenda Proyecto Ágiles SCRUM datos SCRUM nosotros 2
Proyecto Un proyecto es un esfuerzo temporal que se lleva a cabo para crear un producto, servicio o resultado único [1]. [1] Guía de los Fundamentos para la Dirección de Proyectos (Guía del PMBOK ) Cuarta edición 3
Administración de proyectos La administración de proyectos puede tener un impacto considerable en su éxito siempre y cuando exista aplicación de conocimientos, procesos, habilidades, herramientas y técnicas adecuados [1]. 4
Proyectos Exitosos 5
Tradicional Vs No tradicional 6
Factores de éxito de los proyectos 7
Tamaño de los proyectos Tamaño del proyecto Características más importantes Micro Tamaño [Líneas de código]: [1,600-3,100] Tiempo de desarrollo (meses): [1-3] Tiempo de desarrollo (horas): [160-960] Tamaño del equipo(integrantes):[ 1-2] Costo en pesos: [$16K-$96K] Pequeño Tamaño [Líneas de código]: [9,601-38,400] Tiempo de desarrollo (meses): [3-6] Tiempo de desarrollo (horas): [961-3,840] Tamaño del equipo(integrantes):[ 2-4] Costo en pesos: [$96,001.00-$384,000.00] Mediano Tamaño [Líneas de código]: [38,401-960,000] Tiempo de desarrollo (meses): [7-60] Tiempo de desarrollo (horas): [3,841-96,000] Tamaño del equipo(integrantes):[ 5-10] Costo en pesos: [$384,001.00- $9,600,000.00] Grande Tamaño [Líneas de código]: [960,001 - ) Tiempo de desarrollo (meses): [61, - ) Tiempo de desarrollo (horas): [96,001, - ) Tamaño del equipo(integrantes):[ 11 - ] Costo en pesos: [$9,600,001- - ] Fuente: UPAEP, UTM 2012 8
Tamaño de las empresas mexicanas de desarrollo de software Tamaño Número de empleados Resultados Porcentaje Micro 1-10 62 57.9% Pequeña 11-50 28 26.2% Mediana & Grande 51 o más 17 15.9% 107 100% Fuente: UPAEP, UTM. 2012 9
Tamaño de los Proyectos desarrollados Fuente: UPAEP, UTM. 2012 10
Costo de los micro-proyectos Fuente: UPAEP, UTM. 2012 11
Situación de México La mayoría de las empresas mexicanas de desarrollo de software con micros y pequeñas: 84.1%* Los proyectos que desarrollan son principalmente micros y pequeños: 92%* No existen suficientes metodologías orientadas al desarrollo de los proyectos micros y pequeños. * Sólo el 15% de las empresas mexicanas utilizan algún metodología o proceso para desarrollar proyectos Fuente: UPAEP, UTM. 2012 12
Propuesta Utilizar métodos ágiles de desarrollo de software. SCRUM 13
Métodos Ágiles (manifiesto) A. Los individuos y la interacción por encima de los procesos y herramientas. B. El software que funciona por encima de la documentación excesiva. C. La colaboración con el cliente por encima de la negociación contractual. D. La respuesta al cambio por encima del seguimiento de un plan 14
Métodos Ágiles (principios) 1. Prioridad satisfacer al cliente a través de la entrega temprana y continua de software. 2. Los requerimientos cambiantes son bienvenidos. 3. Los procesos ágiles se adaptan al cambio en beneficio de una ventaja competitiva para el cliente. 4. Entrega frecuente de software que funcione. 5. La gente de negocios y los desarrolladores deben trabajar juntos a través de todo el proyecto. 15
Métodos Ágiles (principios) 6. La forma eficiente y efectiva de comunicación dentro de un equipo de desarrollo es mediante la conversación cara a cara 7. El software que funciona es la medida primaria de progreso. 8. La atención continua a la excelencia técnica enaltece la agilidad. 9. La simplicidad (el arte de maximizar la cantidad de trabajo que no se hace) es esencial. 16
SCRUM Fue desarrollado po Jeff Sutherland y Ken Schwaber en 1995 Consiste de: 3 roles 4 actividades principales 3 artefactos 17
SCRUM ROLES A. Product owner. Responsable de definir lo que otorga valor al cliente. B. ScrumMaster. Se asegura que el equipo es productivo C. Team. Se auto-organiza para desarrollar adecuadamente el proyecto 18
SCRUM ARTEFACTOS 1. Product BackLog. Contiene todas las Tareas que se deben desarrollar durante el proyecto 2. Sprint. Contiene un subconjunto de actividades que serán desarrolladas en una unidad de tiempo. 3. BurnDown Chart. Gráficas de seguimiento del proyecto 19
SCRUM ACTIVIDADES PRINCIPALES 1. Sprint planning: El team se reune con el product owner para seleccionar un subconjunto de trabajo que será desarrollado durante un sprint. 2. Daily scrum Meeting: El equipo se reune todos los días para compartir detalles de sus tareas. 20
SCRUM ACTIVIDADES PRINCIPALES 3. Sprint reviews. Entregas de funcionalidad que que el team le hace al product owner. 4. Sprint retrospectives. El equipo busca oportunidades de mejora para el siguiente sprint. 21
SCRUM Fuente: Pham A., & Pham, P. V., (2011) Scrum in Action: Agile Software Project Management and Development 22
SCRUM Scrum es un framework, no es un proceso, no es una metodología, no se indica cómo se debe hacer un proyecto, sólo es una guía que debe servir a los desarrolladores a administrar apropiadamente su trabajo de acuerdo a su contexto. 23
SCRUM SE REQUIERE [Entre otros puntos] Conocimiento del framework Cambiar cultura de la organización 24
SCRUM [Nosotros le hacemos así] Preparar el contexto con el cliente Preparar el contexto con el equipo Preparar las herramientas de apoyo Recolectar Necesidades del cliente (User Story) [Combinar con XP] Generar Product BackLog Generar Sprints Entregar cliente Estabilizar sprint Mejorar 25
SCRUM Contexto cliente Fuente: UPAEP, UTM. 2012 26
SCRUM Contexto equipo 27
SCRUM Contexto herramientas 28
SCRUM Necesidades cliente 29
SCRUM Sprints 30
SCRUM Entregar cliente 31
SCRUM Estabilizar sprint Fuente: UPAEP, UTM. 2012 32
SCRUM Mejorar 33
SCRUM [Para finalizar] 34
Administración de proyectos de software mediante SCRUM: Una perspectiva basada en los tipos de proyectos que se desarrollan en la Industria Mexicana de Software Gracias Preguntas? Dr. Jorge Aguilar Cisneros jorge.aguilar@upaep.mx (222) 2299400 ext 7447 UPAEP 13 de abril del 2013