Programación Extrema Leonardo Ramírez Z.. Contenido Motivación ¿Qué es Programación Extrema? La filosofía detrás de la Programación Extrema El proceso.

Slides:



Advertisements
Presentaciones similares
EL PROCESO DE DESARROLLO DEL SOFTWARE
Advertisements

Desarrollo en espiral.
VALORACIÓN Y SELECCIÓN DE INVERSIONES EN RECURSOS INFORMÁTICOS
Caso de Éxito: Team System, CMMI, Metodologías Ágiles
Metodologías ágiles.
Desarrollo de software innovador con métodos ágiles
Metodologías Ágiles Patricio Letelier
Acercándonos a las Pruebas en Google
PLANIFICACIÓN DE PROYECTOS DE SOFTWARE
Guía metodológica para la gestión de proyectos de software en PyMEs que no son fábricas de software por medio de Metodologías ágiles.
Metodologías de Desarrollo
Carrera: Licenciatura en Cs. de la Computación
Guía metodológica para la gestión de proyectos de software en PyMEs que no son fábricas de software por medio de Metodologías ágiles.
Extreme Programming (XP)
Proyecto de Ingeniería de Software 2008
Una explicación de la programación extrema XP
Modelo de Desarrollo XP
Programación Extrema (XP)
Jonathan Patricio Cárdenas Ruperti
Programación Extrema Metodología XP Brigida Carvajal.
Trabajo Práctico Taller de Desarrollo de Proyectos 2 Septiembre 2009.
GePar Universidad Nacional de Río Cuarto Facultad de Ciencias Exactas, Físico Químicas Y Naturales  Bettiol, Nicolás  Vélez, Matías  Varela, Manuel.
Testing en eXtreme Programming Universidad de la República – Facultad de Ingeniería - InCo 30 de Mayo de 2006 [ Duración aproximada de la presentación:
Ciclos de vida ágiles.  Es una metodología ágil que plantea: ◦ Iteraciones cortas ◦ Entregables periódicos ◦ Colaboración con el cliente full time ◦
Programación Extrema eXtreme Programming (XP)
Leonora Sistemas S.A. Sistema de Planificación y Control de Ventas (SIPCOV)‏ Patricia Albornoz Labrín.
 Tema del proyecto  Integrantes y roles del equipo  Objetivos del proyecto  Alcance.
Metodologías Ágiles.
Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Ingenieria de software
Ciclo de Vida del Software Paradigmas de Desarrollo
EXtreme Programming.
Aplicaciones de Ingeniería de Software
MODELO DE DESARROLLO DE SOFTWARE
agile-tester-foundation- chapter-2-fundamental-agile-testing- principles-practices-and-processes-1-of-3-
Proyecto de Ingeniería de Software - Grupo 2 - Año 2006 Presentación del Proceso Sistema de Administración de Proteínas Objetivo y eXperimentos del Pasteur.
Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Ingeniería del Software
Ingeniería de Software: Parte 2 Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
¿Cómo nos ayuda GeneXus a mejorar la calidad en el proceso de desarrollo de Software? Ing. Rosario Estévez Ing. Rafael Mon
EL APORTE DE LA INGENIERIA DE SOFTWARE A LAS ORGANIZACIONES
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
PROGRAMACIÓN EXTREMA (eXtreme Programing)
Desarrollo de Software II Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto - Diciembre 2008 Ing. Oswaldo Solarte Pabón.
Ingeniería de Software
INGENIERÍA DEL SOFTWARE GESTIÓN DE PROYECTOS
Guía metodológica para la gestión de proyectos de software en PyMEs que no son fábricas de software por medio de metodologías ágiles Tatiana Alejandra.
Roles de Open UP.
Conceptos sobre GESTIÓN DE PROYECTOS
JHENNIFER SANCHEZ ORTIZ CRISTIAN CAMILO RIASCOS ALEJANDRO PINEDA SANCHEZ FERNANDO JAVIER REBELLON.
Taller de desarrollo de proyectos II Presentación Inicial.
INGENIERIA DE SOFTWARE
Presentacion del proyecto Universidad Nacional de Río Cuarto Facultad de Ciencias Exactas, Físico Químicas Y Naturales  Bettiol, Nicolás  Vélez, Matías.
CONCEPTO DE CICLO DE VIDA 1 En los departamentos de Sistemas se debe definir un marco de referencia común que debe ser:  Pueda ser empleado por todos.
Análisis y Balance del Proyecto Análisis Inicial Estimación Inicial Arquitectura de Datos Propuesta Tecnología Metodología aplicada Estimaciones elaboradas.
Fundamentos de Computación
Autor: Reinozo Cuesta Christian Marcelo
Modelo de procesos de software
Extreme Programming (XP) Grupo 03. Extreme Programming - Agenda Introducción Proceso y Fases Roles Prácticas Conclusiones.
ELO-329: Diseño y Programación Orientados a Objetos1 Proceso de Desarrollo de SW Agustín J. González ElO329: Diseño y Programación Orientados a Objeto.
CICLO DE VIDA DE UN SOFTWARE. Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados, que forman parte de.
Autores: Myriam Montes, Iván Viera, Carlos Caizaguano, José Sancho
Metodologías de Programación II UNAJ - Instituto de Ingeniería y Agronomía - Ingeniería en Informática 1 4 Clase Clase 4 Programación extrema (Parte 2)
Es una metodología ágil diseñada para el desarrollo de software, basada en la calidad y el monitoreo constante del proyecto. Consiste esencialmente en.
Taller de Desarrollo de Proyectos II (75.47) 2º cuatrimestre 2008.
GESTIÓN DE PROYECTOS.
Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Metodologías de Desarrollo Ágil
Desarrollo iterativo e incremental
Transcripción de la presentación:

Programación Extrema Leonardo Ramírez Z.

Contenido Motivación ¿Qué es Programación Extrema? La filosofía detrás de la Programación Extrema El proceso XP Resumen de prácticas de la metodología Conclusiones Referencias

Motivación Ingeniería de software a escala menor Modelos estudiados difíciles de aplicar a la realidad Requisitos poco claros Requisitos poco estables Elevado costo de introducir cambios durante el desarrollo Elevado riesgo en contratos de desarrollo de software

¿Qué es Programación Extrema o XP? Metodología liviana de desarrollo de software Conjunto de practicas y reglas empleadas para desarrollar software Basada en diferentes ideas acerca de cómo enfrentar ambientes muy cambiantes Originada en el proyecto C3 para Chrysler En vez de planificar, analizar y diseñar para el futuro distante, hacer todo esto un poco cada vez, a través de todo el proceso de desarrollo

Filosofía detrás de XP

Simplicidad “Haz la cosa mas simple posible que funcione” “Mantén el sistema en la condición mas simple posible”

Comunicación El cliente es parte del equipo de desarrollo Comunicación entre gestión y desarrollo Comunicación entre desarrolladores

Testeo Velocidad, pero además calidad Testeo continuo a través de todo el proceso Testeo como herramienta de especificación y desarrollo Testeo como garantía de integridad del código frente a cambios

Agresividad Reacción frente a los cambios

El proceso XP

Un proyecto XP Prototipo arquitectónico Planificación de entregas Iteración Tests de aceptación Pequeñas entregas Historias de usuario Metáfora de sistema Prototipo requerimientos Estimación incierta Estimación confiable Plan de entregas Versión mas reciente Aprobación del cliente Escenarios de testeo Historias nuevas Velocidad del proyecto Próxima iteración bugs

Iteración Próxima iteración Planificación de iteración Desarrollo Versión mas reciente Velocidad de proyecto Plan de iteración Plan de entregas Bugs Historias de usuario Tests de aceptación fallados Funcionalidades nuevas Corrección de bugs Día a día Historias nuevas, Velocidad de proyecto Aprender y comunicar

Desarrollo Corrección de bugs Reunión de pie Manejo colectivo del software Próxima tarea o test de aceptación fallido Plan de iteración Día a día tareas Tests de aceptación fallados Tests de unidad pasados al 100% Test de aceptación aprobado Tareas sin terminar Demasiado por hacer Nueva funcionalidad Aprender y comunicar Programación en pares Reconstrucción de código

Manejo colectivo del código Próxima tarea o test de aceptación Creación de unidad de testeo Programación en pares 100% de unidades de testeo pasados Pares Unidad de testeo fallida Mover Gente Se necesita ayuda Cambio de par Unidad de testeo aprobada Código simple Código complejo Reconstrucción despiadada Ejecutar todas las unidades de testeo Test de aceptación aprobado Ejecutar test de aceptación fallados

Resumen de prácticas Proceso de planificación Entregas pequeñas Metáfora del sistema Diseño simple Testeo Reconstrucción Programación en pares Propiedad colectiva Integración continua Semana de 40 horas Cliente siempre disponible Estándares de codificación

Conclusiones Apostolado de metodologías exitosas Aporte de la experiencia práctica a los modelos teóricos Enfoque de conjunto de prácticas como rompecabezas Tecnología en expansión Importancia de revisitar las metodologías desde la experiencia práctica

Referencias K. Beck, “Embracing change with Extreme Programing”, Computer, Vol. 32, No. 5 Oct. 1999, pp L. Williams, R. Kessler, W. Cunningham and R. Jeffries, “Strenghthening the Case for Pair Programing”, IEEE Software, Vol. 17, No. 4 Jul/Aug 2000, pp R. Martin, “Extreme Programing Development through dialog”, IEEE Software, Vol. 17, No. 4 Jul/Aug 2000, pp C3 Team, “Chrysler goes to “Extremes”, Distributed Computing, Oct 1998, pp