Metodologías Ágiles: Scrum y técnicas de estimación ágil

Documentos relacionados
Certified Scrum Developer (CSD), Módulo 3 y Track Completo

Ingeniería de Software II Primer Cuatrimestre de 2008

Ingeniería de Software II Segundo Cuatrimestre de 2008

Universidad ORT Uruguay

SCRUM. Cómo aumentar la productividad en las mismas horas de trabajo. Serafín Vélez Barrera Universidad de Granada

Qué es scrum? scrumshortcuts.com

Gestión de Proyectos con Metodologías Ágiles (Scrum)

Guía de preparación. Agile Scrum Master de EXIN

PROYECTO METODOLOGÍA DE TRABAJO. Fecha Autor Versión Cambio. 14/11/2008 Vanesa Dell Acqua 1.0 Documento inicial.

Gestión de Equipos de Desarrollo. Max Déboli Director de Desarrollo Lagash MVP Azure

SCRUM. Gestión ágil de proyectos

4.1.1_Reunión de Planificación de Sprint (Sprint Planning Meeting) 4.1.2_Objetivo del Sprint (Sprint Goal) 4.1.4_Revisión de Sprint (Sprint Review)

Ingeniería de Sistemas I

La medición funcional de software con SCRUM

Qué es Scrum? Basado en el texto Explicando Scrum a mi abuela de Jorge Serrano - MVP Visual Developer - Visual Basic

PDSM: PROCESO DE DESARROLLO DE SOFTWARE MIXTO COMBINANDO RUP Y SCRUM. Mariani, María Florencia Okabe, Evangelina

Metodologías Iterativas de Desarrollo

Tema 2. El Ciclo de Vida del Software (ISG1-ITIG)

Scrum. Helder Marques

Karen Giraldo Escobar Graciela Catalina Soto PROYECTO DE GRADO I

SCRUM Metodología de trabajo ágil

Cómo las metodologías ágiles ayudan a los proyectos de Inteligencia de Negocios

Desarrollo Ágil. Introducción a desarrollo ágil. Periodo: Inicio: Ago 14, 2012 Termino: Nov 27, 2012

PROPUESTA DE PROYECTO DE DESARROLLO DE PÁGINA WEB PARA GESTIÓN DE PROYECTOS CON METODOLOGÍA SCRUM

Introducción a las Metodologías Ágiles. Introducción a Scrum. Roles Ceremonias Artefactos Métricas

Roles y Responsabilidades en la gestión de proyectos Scrum

Scrum. Juan Palacio Bañeres

Kanban vs. Scrum. Sesión 6b. Metodologías Ágiles de Desarrollo de Software Domingo Gallardo, DCCIA, Univ. Alicante

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO IBEROTEC SEMESTRE ACADÉMICO: 2014-II SÍLABO

Introducción a las Metodologías Ágiles. Nicolás Brailovsky March 7, 2009

Parametrización Scrum - Template Confluence

Introducción a Scrum

Prototipado Ágil. Mateu Batle Sastre

Qué esperan aprender en esta clase?

Desarrollo Ágil con SCRUM. Itzcoalt Alvarez M. Joiz.Net

Desarrollo detallado de la fase de aprobación de un proyecto informático mediante el uso de metodologías ágiles.

Desarrollo ágil en tiempos de crisis. Alejandro Torres Castañeda y Analía Baño Dynkowski Baufest

Agile, Scrum & extreme Progammig

Ingeniería de Software. Procesos. Proyecto de Ingeniería. Metodologías. Metodologías. Metodologías. Metodologías de desarrollo

Entrenamos. CSD: Certified Scrum Developer Program

Microsoft Dynamics Sure Step Fundamentos

Programación Extrema. Ing. Sebastian Priolo

5.1 Historias de usuario

The Agile Manifesto. Que es el Manifiesto Ágil?

1 de junio de Andrés Simón Bujaidar Director Alianzas Nacionales MEXICO FIRST Presente. Estimado Andrés:

BLU Concept PROPUESTA PÚBLICA NACIONAL SCRUM Mexico First

Miguel Torres Jaime Pavlich-Mariscal

XI Encuentro Danysoft Sala TFS. Descubriendo TFS

SCRUM. Melissa Gattoni Muñoz. Gestión de Sw. Profesor Iván Tamayo Garrido Universidad Técnica Federico Santa María. 2012

6 Anexos: 6.1 Definición de Rup:

La Guía de Scrum. La Guía Definitiva de Scrum: Las Reglas del Juego. Octubre de Desarrollado y soportado por Ken Schwaber y Jeff Sutherland

Ingeniería de Software

Implantación y Aceptación del Sistema

PROPUESTA DE CAPACITACION

4 a 8 semanas. Equipos pequeños 5 a 9 miembros. Informal. Cara a cara. En cada entrega el cliente dará su aportación. Sólo documentación básica

Introducción a la implementación de Scrum

Desarrollo Ágil. Introducción a desarrollo ágil. Periodo: Inicio: Ago 14, 2012 Termino: Nov 27, 2012

1. Cuál es el objetivo del Diseño del Sistema de Información? del sistema. información. a. 5. b. 4. c. 3. d. 2. c. Diseño de. b.

Manifiesto Ágil: Historia

UNIVERSIDAD TECNOLOGICA DE HERMOSILLO SCRUM SPRINT #1. Ingenieria de Software I MAESTRO: BERNARDO PRADO DIAZ INTEGRANTES. Jorge Valdano.

Desarrollo Ágil. Software Engineering: A Practitioner s Approach Roger S. Pressman, Ph.D. Tomás Balderas Contreras Ingeniería de Software I

EXIN Agile Scrum Foundation

La Guía de Scrum. La Guía Definitiva de Scrum: Las Reglas del Juego. Julio de Desarrollado y soportado por Ken Schwaber y Jeff Sutherland

Guía metodologíca para la gestión de proyectos de software basada en metodologías agiles, que integre las herramientas de seguimiento de actividades,

Scrum. Framework ágil de procesos

Una Introducción a Scrum

El modelo Scrum. NST-0010 Rev. 0.1

Seminario sobre Agile Project Management

ANÁLISIS, DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE AULA VIRTUAL PARA CAPACITACIÓN DE PERSONAL EN LA EMPRESA UNDERMEDIA S.A

GPS - Gestión de Proyectos de Software

Desarrollo en Cascada (Waterfall) VS Desarrollo Agile-SCRUM. Por Jesus Demetrio Velázquez Camacho

Scrum,un caso práctico

Desarrollo Ágil. Introducción a desarrollo ágil. Periodo: Inicio: Ago 14, 2012 Termino: Nov 27, 2012

INGENIERÍA DE SOFTWARE CICLOS DE VIDA Y METODOLOGIAS

Herramienta para la Administración y Estimación Ágil de Desarrollo de Software

Visión general de Scrum Rev Juan Palacio

Aplicación de metodologías Ágiles en TI. Elsa Mangione, PMP, PMI-ACP, CSM II Reunión de Miembros Abierta. Mendoza, 2013.

Planificación en Team Foundation Server 2010

SCRUM MASTER PRODUCT OWNER

DES. Fundamento Institucional. Objetivos. Alcance

ACADEMIA AGIL PROFESSIONAL SCRUM. Jr. Huamachuco 1408 Of Jesús Maria Tel: +51(1) (1)

METODOLOGÍA TRADICIONAL.

Diseño del Sistema de Información

Modulo III: - Metodologías: Scrum, metodologías en entornos ágiles

Proyecto de Grado SoReWa (Social Restaurant Wall) DOCUMENTO ARTICULADOR

La Autoridad de Certificación Global para Profesionales de Scrum y Ágil

MEMORIA DE LAS ACTIVIDADES DESARROLLADAS PROYECTOS DE INNOVACIÓN EDUCATIVA CURSO 2014/2015

FORMULACION DE CRITERIOS PARA LA SELECCION DE METODOLOGIAS DE DESARROLLO DE SOFTWARE LEONARDO FLOREZ MARIN FELIPE GRISALES TOBON

Checklist 2ª Clase. Programa de Estrategia en Negocios Digitales Módulo Estrategia de Diseño y Desarrollo de Productos Digitales. Versión 1.

Orientaciones Iniciales

ACADEMIA AGIL PROFESSIONAL SCRUM DEVELOPER

Diseño del Sistema de Información

Paula Izaurralde. Especialista en Calidad en ARRIS Argentina. Ayudante en Metodologías Ágiles en el Desarrollo de Software

Tecnología de la Información. Administración de Recursos Informáticos

Tecnologías informáticas de la Web

INDRA-DAY APPLICATION LIFECYCLE MANEGEMENT JUNIO 2015

Scrum Manager Curso de formación

Qué es SPIRO? Características

Metodologías Ágiles en el Desarrollo de Software Ciclo Lectivo 2013 Vigencia del programa Ciclo lectivo 2013 Plan 2008 Área

Transcripción:

Metodologías Ágiles: Scrum y técnicas de estimación ágil PreparaTIC - Junio 2009 Jorge Manrubia Díez jorge.manrubia@giss.seg-social.es

Por qué?

Hacer un programa es cómo...

Can you get a design that is capable of turning the coding into a predictable construction activity? And if so, is cost of doing this sufficiently small to make this approach worthwhile? Martin Fowler, The new methodology (2005)

They were amazed that my industry (software development) was trying to do its work using a completely inappropriate process control model. (...) They said that all complex processes that weren t completely understood required the emprical model (not the defined process control model) Conclusiones de expertos en teoría de control de procesos liderados por Babatunde Organnaike tras analizar los procesos de desarrollo software. Ken Schwaber, Agile Software Development with Scrum (2001)

Ministerio de Administraciones Públicas Metodología MÉTRICA Versión 3 DISEÑO DEL SISTEMA DE INFORMACIÓN (ORIENTACIÓN A OBJETOS) Resultados del Análisis Resultados del Análisis de de Sistema Sistema de de Información Información (Orientación a Objetos) (Orientación a Objetos) - Catálogo de Requisitos - Catálogo de Requisitos - Contexto del Sistema DSI 1 - Contexto del Sistema - Modelo de Casos de Uso - Modelo de Casos de Uso - Modelo de Clases de - Modelo de Clases de Análisis Análisis DSI 2 - Modelo de Procesos - Modelo de Procesos - Descripción de - Descripción de DSI 8 subsistemas subsistemas DSI 3 - Resultado del Análisis de - Resultado del Análisis de Consistencia Consistencia DSI 7 DSI 9 DSI 12 - Interfaz de usuario - Interfaz de usuario - Plan de Pruebas DSI 4 - Plan de Pruebas Especificación de Especificación de DSI 10 Requisitos Software (ERS) Requisitos Software (ERS) DSI 6 DSI 11 Entradas Entradas Externas Externas - - Estándares Estándares y y normativas de la normativas de la instalación instalación - Características - Características Específicas del SGBD Específicas del SGBD o Sistemas de Ficheros o Sistemas de Ficheros a Utilizar a Utilizar - Estructura de Datos del - Estructura de Datos del Sistema Origen Sistema Origen - Diseño de la Arquitectura - Diseño de la Arquitectura del Sistema del Sistema - Entorno Tecnológico, - Entorno Tecnológico, Seguridad, Operación y Seguridad, Operación y Administración Administración - Diseño Detallado de - Diseño Detallado de Subsistemas Subsistemas - Diseño de la Realización - Diseño de la Realización de Casos de Uso de Casos de Uso - Diseño de la Interfaz de - Diseño de la Interfaz de Usuario Usuario - Modelos de Clases de - Modelos de Clases de Diseño Diseño - Modelo Físico de Datos - Modelo Físico de Datos - Resultado Análisis de - Resultado Análisis de Consistencia Consistencia - Especificaciones de - Especificaciones de Construcción Construcción - Plan de Migración y - Plan de Migración y Carga inicial Carga inicial - Especificación del - Especificación del Entorno, Niveles y Entorno, Niveles y Planificación de las Planificación de las Pruebas Pruebas - Requisitos de - Requisitos de Implantación Implantación CONSTRUCCIÓN CONSTRUCCIÓN DEL SISTEMA DE DEL SISTEMA DE INFORMACIÓN INFORMACIÓN Diseño del Sistema de Información 6

Adaptación continua del proceso + Excelencia técnica

Desarrollo ágil: lo que no es

Tradicional Ágil Esfuerzo de planificación Tiempo El propio proceso se adapta durante el desarrollo

Liberación temprana y continua del software de software funcional Integración total de la gente de negocio en los equipos de desarrollo Excelencia técnica, buenos diseños y simplicidad Reuniones cara a cara, comunicación oral Autoorganización de los equipos de desarrollo... http://agilemanifesto.org/principles.html

SCRUM y Técnicas de Estimación Ágil

Scrum Creada por Ken Schawber, Mike Beedle y Jeff Sutherland (mediados de los 90) Equipos de ~7 personas Iteraciones (sprints) de 30 días

Roles Product Owner: representa al cliente Scrum Master (50% desarrollador) Scrum Team Chicken (otros)

PRE- GAME - Product Backlog Inicial - Release Backlog - Diseño alto nivel/arquitectura DESARROLLO (CICLO DE SPRINTS) Daily Meeting 1 día POST- GAME - Documentación de usuario - Material de formación -... Product Backlog Sprint: 1 mes Sprint Backlog Sprint Planning Meeting Sprint Review Meeting DEFINIDO EMPÍRICO DEFINIDO

Backlogs Descripción Items Estimación Product Backlog Lista priorizada de funcionalidades de negocio y técnicas a desarrollar User stories Características Bugs Story points Sprint Backlog Selección de items del PB y tareas para desarrollarlos Tareas Horas

Historias de usuario Descripción escrita de una funcionalidad concreta a desarrollar Como <tipo de usuario> quiero <poder hacer algo>

Como desarrollador quiero poder transformar un modelo físico obtenido de ADABAS a un modelo lógico

Como desarrollador quiero poder transformar un modelo físico obtenido de ADABAS a un modelo logico epic Como desarrollador quiero poder transformar un modelo físico obtenido de ADABAS traduciendo sólo las estructuras relacionales Como desarrollador quiero poder transformar un modelo físico obtenido de ADABAS admitiendo campos múltiples Como desarrollador quiero poder transformar un modelo físico obtenido de ADABAS admitiendo campos periódicos theme

Estimación de Tamaño Estimación de Duración

Story Point = Esfuerzo necesario + complejidad + riesgo...

Cuánto miden? Quién es más alto?

1, 2, 3, 5, 8, 13, 20, 30, 50, 100 Escala de estimación

Planning Poker La historia se presenta y se discute sobre ella Los miembros del equipo escogen carta con la estimación Todos dan la vuelta a la carta a la vez Los miembros con la estimación más baja y más alta exponen sus razones, y se repite el proceso de estimación

Velocidad del equipo = Story points / iteración

Estimación de Tamaño Velocidad Estimación de Duración

Características Deseadas Estimar tamaño Estimar duración PLANIFICACIÓN

Historia 1 2 Historia 2 3 Historia 3 3 Historia 4 2 Historia 5 5 Historia 6 2 Historia 7 1 Historia 8 8 Product Backlog Velocidad = 8 story points / iteración Historia 1 2 Historia 2 3 Historia 3 3 Sprint Backlog 1 Historia 4 2 Historia 5 5 Historia 6 2 Sprint Backlog 2 Historia 7 1 HIstoria 8 8 Sprint Backlog 3 Tiempo

Las historias seleccionadas para el sprint se desglosan en tareas (estimación en horas)

Diariamente los desarrolladores actualizan su estimación de esfuerzo restante

Ideal (predictivo) Realidad Story Points Tiempo Gráfico de avance del proyecto (Release Burndown Chart)

Gráfico de avance del sprint (Iteration Burndown Chart)

Daily meeting Qué has hecho desde ayer? Qué vas a hacer hoy? Qué problemas tienes? 15 min. máximo

Excelencia técnica

Pruebas Exhaustivas Automáticas

Pruebas automáticas

Cuánto? Herramientas de cobertura de código (code coverage)

Refactoring = mejora continua y temprana del diseño del código

Integración continua Acomete cambios emac Desarrollador 1 Supervisa Construye Acomete Cambios G4 Servidor SCM (CVS) G3 Servidor de integración Continua (Hudson) emac Desarrollador 2 Feedback Construcción = Construcción + Tests + Despliegue

Y para el cuarto...

Yo nunca usaría Métrica!!! Diferenciarse Sin pasarse No aburrir

Proceso de Desarrollo Elemento Ejemplos Descripción del proceso Iteraciones cortas, completas Niveles de planificación: de lanzamiento, de iteración, diario Planificación priorizada Historias de usuario, story points, velocidad Configuración del equipo de desarrollo Implicación del cliente

Aspectos técnicos Elemento Uso de un servidor de integración continua Pruebas automáticas Uso de herramienta de cobertura de código Uso de herramientas de análisis de código Ejemplos Detección temprana de errores Software siempre listo para desplegar Exhaustividad Automatización de tests de aceptación Definición de umbrales de cobertura a exigir: ejemplo, 90% código cubierto Detección de código sin documentar Nombres de identificadores con tamaño suficiente Detección de métodos demasiado largos

Referencias Agile Estimating and Planning. Mike Cohn. Prentice Hall, 2005 Agile Software Development with Scrum. Ken Schwaber. Prentice Hall, 2001 The art of Agile Development. James Shore and Shane Warden. Prentice Hall, 2007 User Stories Applied: For Agile Software Development. Mike Cohn. Addison-Wesley Professional, 2004