Agile, Scrum & extreme Progammig



Documentos relacionados
The Agile Manifesto. Que es el Manifiesto Ágil?

Calidad y Mejoramiento de Procesos Ágiles. de Software

Calidad y Mejoramiento de Procesos Ágiles de Software

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

XP- EXTREME PROGRAMMING

Introducción n a MSF. MSF v4.0 como framework

Desarrollo Ágil de Software

A 10 años del Manifiesto Ágil

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

Orígenes y descripción de la Automatización 'Inteligente'

Metodologías Iterativas de Desarrollo

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

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

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

Ingeniería de Software: Metodologías

EXIN Agile Scrum Foundation

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

Propiedad Colectiva del Código y Estándares de Codificación.

Desarrollo Ágil de Software. Curso IIC 2143 Ingeniería de Software Rodrigo Sandoval 2010

Scrum. Framework ágil de procesos

MANUAL EASYCHAIR. A) Ingresar su nombre de usuario y password, si ya tiene una cuenta registrada Ó

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

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

Universidad ORT Uruguay

Miguel Torres Jaime Pavlich-Mariscal

Análisis y Diseño de Aplicaciones

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

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

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

Una meta un Equipo. #TalentoCVTeam #ExcelenciaTIC

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

Baires. Design - Test - Automate

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)

5.1 Historias de usuario

SCRUM Metodología de trabajo ágil

Visión n de negocio y gestión de proyectos y estado actual. Conclusiones y enfoques relevantes de las metodologías de proyectos de software

SCRUM. Gestión ágil de proyectos

XI Encuentro Danysoft Sala TFS. Descubriendo TFS

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

MADS 1.2- Introducción a la asignatura. Metodologías Ágiles de Desarrollo de Software Domingo Gallardo, DCCIA, Univ.

De la Integración Continua a la Entrega Continua

Roles y Responsabilidades en la gestión de proyectos Scrum

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

Ingeniería de Software II Segundo Cuatrimestre de 2008

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

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

NUEVAS TENDENCIAS EN LA CALIDAD DEL SOFTWARE IGNACIO BAYUGAR

Extreme Programming Practices. Pair-Programming, Collective Code Ownership, Frequent Integration

Automatización de Pruebas de Software con Herramientas Open Source. Henry Eduardo Carrión Cristóbal

Karen Giraldo Escobar Graciela Catalina Soto PROYECTO DE GRADO I

Microsoft Solutions Framework - CMMI. Luis Fraile MVP Team System lfraile@lfraile.net

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

INGENIERÍA DEL SOFTWARE

Ingeniería de Sistemas I

Ingeniería de Software II

DESARROLLO DE SOFTWARE DE CALIDAD: EXTREME PROGRAMMING Y HERRAMIENTAS OPENSOURCE. Mª Carmen Bartolomé. mcbartolome@qualityobjects.

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

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

Ingeniería de Software II Primer Cuatrimestre de 2008

Qué es scrum? scrumshortcuts.com

Trabajo Opcional La Torre de Babel - Programar en Grupo

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

Introducción a la asignatura MADS-1.0

DESARROLLO DE SOFTWARE DEFINICIÓN GENERAL DEL PROCESO GABY LORENA GUERRERO LEYDI ROCIO ERAZO PABLO FELIPE MIRANDA WALTER ALEXIS ANTE

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

Scrum. Juan Palacio Bañeres

METODOLOGÍA TRADICIONAL.

Porque hacemos Testing? BY: ALFREDO ALVAREZ

UNIVERSIDAD UNION BOLIVARIANA CARRERA DE INGENIERIA DE SISTEMAS

EXIN Agile Scrum Foundation


Desarrollo Agil. Introduccion a desarrollo agil. Periodo: Inicio: Ago 14, 2012 Termino: Nov 27, 2012

Juan Carlos Sanchez Galvis

Año académico GUÍA DOCENTE MODELOS DE PROCESO Grado en Ingeniería Informática. Profesorado: JORDI TORRECILLAS GARCIA ROBERTO GARCÍA GONZÁLEZ

Creating your Single Sign-On Account for the PowerSchool Parent Portal

Agile Testing. Sesión 8. Metodologías Ágiles de Desarrollo de Software Domingo Gallardo, DCCIA, Univ. Alicante

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

PMI Agile Certification

Gestión de Proyectos Informáticos

SCOPE PLANNING IN SOFTWARE PROJECTS PLANIFICACIÓN DEL ALCANCE EN PROYECTOS DE SOFTWARE

RUP: Disciplina de Manejo de Cambios y Configuraciones

Balanceo de metodologías Ágiles y Orientadas al Plan

Entrenamos. CSD: Certified Scrum Developer Program

MANUAL EASYCHAIR.

Diseño y Desarrollo de Software

Manejo de versiones 392

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

Agilidad para Negocios y Tecnología Estándar

Diseño ergonómico o diseño centrado en el usuario?

Mejor Framework PythonOO + SOLID. Vivir sin Frameworks

Ingeniería de Software

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

La medición funcional de software con SCRUM

Proceso Unificado de Rational

Participantes

Capítulo 1 Documentos HTML5

Diagrama de Flujo (Flow Chart)

Diagrama de casos de uso

Transcripción:

Agile,, Introduction Departamento de Computación Facultad de Cs. Exactas Fco-Qcas y Naturales Universidad Nacional de Río Cuarto {fbrusatti}(at)dc.exa.unrc.edu.ar

Agile,, Metodologías Agiles Son metodologías de ingeniería de software que promueven iteraciones cortas a lo largo del proceso de construcción. En cada iteración los requerimientos y soluciones evolucionan, esto le da la versatilidad (agilidad) de adaptarse a cambios rápidamente y detectar y solucionar errores eficientemente. En cada ciclo se planifica, analiza, se diseña, codifica, revisa y documenta. La idea puede ser trazada hasta 1957, en 1974 aparece un paper de Edmonds donde se introduce un proceso de desarrollo de software adaptativo, en esa década se ven diferentes enfoques de esta idea. A mediados de 90 aparecen nuevamente con fuerte auge en contraposición a los métodos pesados de la epoca. Entre los métodos más destacados se pueden encontrar a (1986), Crystal Clear (1996), extreme Programmig(1996), Feature Driven Development

Agile,, En febrero de 2001 se firma un documento que postula los valores y principios de estos procesos ágiles. Manifesto for Agile Software Development (agile manifesto.org) We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.

Agile,, Es un marco de trabajo para la gestión de un proceso. Define 3 artefactos Product Backlog Sprint Backlog Burndown Chart 3 roles Product Owner Master Team 4 ceremonias Sprint Planning Daily Spring Review Sprint Retropesctiva

Agile,,

Agile,, What is XP First Definition XP is a lightweight methodology for small-to-medium-sized teams developing software in the face of vague or rapidly changing requirements.

Agile,, What is XP First Definition XP is a lightweight methodology for small-to-medium-sized teams developing software in the face of vague or rapidly changing requirements. La programación extrema es una metodología de desarrollo ligera basada en una serie de valores y una docena de buenas prácticas que propician un aumento en la productividad a la hora de generar software.

Agile,, What is XP First Definition XP is a lightweight methodology for small-to-medium-sized teams developing software in the face of vague or rapidly changing requirements. La programación extrema es una metodología de desarrollo ligera basada en una serie de valores y una docena de buenas prácticas que propician un aumento en la productividad a la hora de generar software. XP es un estilo de construcción de software que se enfoca en la aplicación de buenas técnicas de programación, clara comunicación, y trabajo en equipo.

Agile,, What is XP First Definition XP is a lightweight methodology for small-to-medium-sized teams developing software in the face of vague or rapidly changing requirements. La programación extrema es una metodología de desarrollo ligera basada en una serie de valores y una docena de buenas prácticas que propician un aumento en la productividad a la hora de generar software. XP es un estilo de construcción de software que se enfoca en la aplicación de buenas técnicas de programación, clara comunicación, y trabajo en equipo.

Agile,, What is XP Description of XP XP is lightweight. In XP you only do what you need to do to create value for the customer. XP is a methodology based on addressing constraints in software development. It does not address project portfolio management, financial justification of projects, marketing, or sales. XP has implications in all of these areas, but does not address these practices directly. Methodology is often interpreted to mean a set of rules to follow that guarantee success. Methodologies don t work like programs. People aren t computers. XP can work with teams of any size. XP adapts to vague or rapidly changing requirements.

Agile,, User Stories

Agile,, User Stories Site Together

Agile,, User Stories Site Together The planning game

Agile,, User Stories Site Together The planning game Small releases

Agile,, User Stories Site Together The planning game Small releases Simple design

Agile,, User Stories Site Together The planning game Small releases Simple design Testing

Agile,, User Stories Site Together The planning game Small releases Simple design Testing Refactoring

Agile,, User Stories Site Together The planning game Small releases Simple design Testing Refactoring Pair programming

Agile,, User Stories Site Together The planning game Small releases Simple design Testing Refactoring Pair programming On-site costumer

Agile,, User Stories Site Together The planning game Small releases Simple design Testing Refactoring Pair programming On-site costumer Continuos Integration

Agile,, User Stories Site Together The planning game Small releases Simple design Testing Refactoring Pair programming On-site costumer Continuos Integration 40-hour week

Agile,, User Stories Site Together The planning game Small releases Simple design Testing Refactoring Pair programming On-site costumer Continuos Integration 40-hour week Coding standards

Agile,, User Stories Son unidades de funcionalidades visibles para el usuario final. Son frases en el lenguaje del negocio del usuario final que captura que se necesita hacer. Captura Quién, Qué y Por qué debe implementarse una funcionalidad. Testeable Se pueden escribir pruebas automáticas para detectar la presencia de la historia (acceptance test). Progress El cliente podrá aceptar la historia como un signo de progreso hacía la meta final. Bite-sized La historia debe poder completarse en la iteación. Estimable El lado técnico del equipo deberá poder estimar el costo que la historia requerirá.

Agile,, User Stories Son unidades de funcionalidades visibles para el usuario final. Son frases en el lenguaje del negocio del usuario final que captura que se necesita hacer. Captura Quién, Qué y Por qué debe implementarse una funcionalidad. Testeable Se pueden escribir pruebas automáticas para detectar la presencia de la historia (acceptance test). Progress El cliente podrá aceptar la historia como un signo de progreso hacía la meta final. Bite-sized La historia debe poder completarse en la iteación. Estimable El lado técnico del equipo deberá poder estimar el costo que la historia requerirá.

Agile,, User Stories Son unidades de funcionalidades visibles para el usuario final. Son frases en el lenguaje del negocio del usuario final que captura que se necesita hacer. Captura Quién, Qué y Por qué debe implementarse una funcionalidad. Testeable Se pueden escribir pruebas automáticas para detectar la presencia de la historia (acceptance test). Progress El cliente podrá aceptar la historia como un signo de progreso hacía la meta final. Bite-sized La historia debe poder completarse en la iteación. Estimable El lado técnico del equipo deberá poder estimar el costo que la historia requerirá.

Agile,, User Stories Son unidades de funcionalidades visibles para el usuario final. Son frases en el lenguaje del negocio del usuario final que captura que se necesita hacer. Captura Quién, Qué y Por qué debe implementarse una funcionalidad. Testeable Se pueden escribir pruebas automáticas para detectar la presencia de la historia (acceptance test). Progress El cliente podrá aceptar la historia como un signo de progreso hacía la meta final. Bite-sized La historia debe poder completarse en la iteación. Estimable El lado técnico del equipo deberá poder estimar el costo que la historia requerirá.

Agile,, Planning Game Es una reunión que ocurre una vez por iteración, típicamente una vez por semana.

Agile,, Planning Game Es una reunión que ocurre una vez por iteración, típicamente una vez por semana. Los clientes dividen el trabajo a ser realizado en un conjunto de historias, cada una de las cuales se escriben en tarjetas de 3x5 en unas pocas frases.

Agile,, Planning Game Es una reunión que ocurre una vez por iteración, típicamente una vez por semana. Los clientes dividen el trabajo a ser realizado en un conjunto de historias, cada una de las cuales se escriben en tarjetas de 3x5 en unas pocas frases. Los desarrolladores estiman cuanto esfuerzo se requiere para construir cada historia.

Agile,, Planning Game Es una reunión que ocurre una vez por iteración, típicamente una vez por semana. Los clientes dividen el trabajo a ser realizado en un conjunto de historias, cada una de las cuales se escriben en tarjetas de 3x5 en unas pocas frases. Los desarrolladores estiman cuanto esfuerzo se requiere para construir cada historia. Los clientes eligen que historias quieren construir en el próximo ciclo, basándose en el tiempo disponible y el estimado por los desarrolladores.

Agile,, Small Releases Es crítico para obtener valuable feedback en tiempo para que tenga un impacto en el desarrollo del sistema. Más tiempo se espere para introducir una importante funcionalidad al sistema menos tiempo se tendrá para saber si hay que arreglarla o no.

Agile,, Small Releases Es crítico para obtener valuable feedback en tiempo para que tenga un impacto en el desarrollo del sistema. Más tiempo se espere para introducir una importante funcionalidad al sistema menos tiempo se tendrá para saber si hay que arreglarla o no. El equipo de desarrollo debe hacer un release del sistema lo más frecuente que se pueda. Algunos equipos hacen un deploy cada día, otros cada semana o cada dos semanas.

Agile,, Small Releases Es crítico para obtener valuable feedback en tiempo para que tenga un impacto en el desarrollo del sistema. Más tiempo se espere para introducir una importante funcionalidad al sistema menos tiempo se tendrá para saber si hay que arreglarla o no. El equipo de desarrollo debe hacer un release del sistema lo más frecuente que se pueda. Algunos equipos hacen un deploy cada día, otros cada semana o cada dos semanas. Al final de cada iteración se tendrá software probado, funcionando y en producción para los clientes.

Agile,, First Testing Escribir un test que falle primero antes de cambiar cualquier códio. Esto soluciona varios problemas al mismo tiempo: Trust It s hard to trust the author of code that doesn t work. By writing clean code that works and demonstrating your intentions with automated tests, you give your teammates a reason to trust you.

Agile,, Continuos Integration Los desarrolladores deben integrar y agregar códio en el repositorio cada vez que sea posible (algunas horas). No se puede mantener el códio por mucho tiempo sin integrar. Cada integración es verificada por un build automático (que incluyen tests) para detectar errores lo más rápido posible. CI evita divergir del desarrollo del proyecto y permite desarrollar código cohesivo más rápidamente.

Agile,, Web site: https://www.scrum.org/ Agile manifesto Web site: http://agilemanifesto.org/ Extreme Programming Explained: Embrace Change (Second Edition) By Kent Beck, Cynthia Andres