Universidad Gran Mariscal De Ayacucho
        Facultad De Ingeniería
   VIII Semestre – Ing. De Sistemas
    Ciudad Bolívar - Estado Bolívar




         JUNIO, 2010
 Kent Beck es uno de los creadores de
                 la metodología ágil para el desarrollo de
                 software conocida como programación
                 extrema.


                 En 1996 recibio el nombre XP como
                 una forma de rescatar el proyecto del
Historia de XP   Sistema exhaustivo de compensaciones
                 de Chrysler (C3).

                  La programación extrema se basa en
                  la simplicidad, la comunicación y el
                  reciclado continuo de código, para
                  algunos no es más que aplicar una
                  pura lógica.

                                            Roxana Macabril
PROGRAMACION EXTREMA
    Es un enfoque de la ingeniería de software
 formulado por Kent Beck, autor del primer libro
     sobre la materia, Extreme Programming
        Explained: Embrace Change (1999).




                                  • Rondón Jesús
Se puede considerar la programación extrema
        como la adopción de las mejores
   metodologías de desarrollo de acuerdo a lo
      que se pretende llevar a cabo con el
    proyecto, y aplicarlo de manera dinámica
      durante el ciclo de vida del software.




Rondón Jesús
Proceso de desarrollo de software




1.Conceptualización   2. Análisis y
y captura de          Descripción     3. Diseño   4. Codificación
requisitos.            funcional




                                                   Rondón Jesús
PROGRAMACION EXTREMA
• El problema de la productividad
• ¿Porque fracasan los proyectos del software?
• ¿Como soluciona XP estos problemas?




 Rondón Jesús
¿Que es XP?
“Un proceso ligero, de bajo
  riesgo, flexible, predecible, científico y
  divertido de desarrollar software”.




                              Kent Beck
                                      Rondón Jesús
Características de XP
 Metodología creada a base de prueba y error.

 Surge considerando 4 valores que pueden mejorar
  cualquier proyecto de software

 Expresada en forma de 12 prácticas (algunas ya
  existentes desde hace años), que se soportan las unas a
  las otras y conforman un conjunto completo.


                                        Rondón Jesús
Valores
           Simplicidad




          Comunicación




          Realimentación




             Coraje

                           Rondón Jesús
Fases de la         Programación EXtrema

                     Historias de
                      usuario.


    Planificación
         de                          Iteraciones
    publicaciones




    Velocidad del                   Programación
      proyecto.                       en pareja.



                     Reuniones
                      diarias.
                                                   Luisarys Suarez
2 da Fase: El Diseño

            Diseños
            simples.




Glosarios
   de                  Riesgos.
términos.




            Tarjetas
             C.R.C.



                                  Luisarys Suarez
3ra Fase: La Codificación

   La codificación debe hacerse
   ateniendo a estándares de
   codificación ya creados.


      Programar       bajo    estándares
      mantiene el código consistente y
      facilita su comprensión



                            4ta Fase: Las Pruebas
                                El uso de los test es adecuado para
                                observar       la     refactorización
                                (modificación del código fuente sin
                                cambiar su comportamiento)

                                           Estos test son creados y usados
                                           por     los     clientes   para
                                           comprobar que las distintas
Luisarys Suarez                            historias de usuario cumplen
                                           su cometido.
Esquema de las Fases de la Programación
               Extrema




                                Luisarys Suarez
XP EN LA PRÁCTICA
  Si las revisiones de código son buenas, revisaremos el código
permanentemente.
  Si hacer tests es bueno, todo el mundo creará y ejecutará
tests todo el tiempo.
  Si diseñar es bueno, lo convertiremos en parte de la tarea
diaria de todos.
  Si la arquitectura es importante, todo el mundo trabajará
definiendo y refinando todo el tiempo la metáfora del sistema.
  Si la integración es importante, entonces llevaremos a cabo
una integración contínua, integrando y ejecutando tests varias
veces al día.
  Si las iteraciones cortas son buenas, se harán iteraciones
realmente cortas.


                                                  Cristina Ciccarelli
DESARROLLO DE SISTEMAS CON                                                                                         XP

                                          Escenarios de testeo



 Historias de
                                                 Historias nuevas            Bugs
   Usuario               Requerimientos
                                              Velocidad del proyecto


                Metáfora de                         Plan de              Versión mas                  Aprobación
  Prototipo      sistema      Planificación         entregas               reciente       Tests de del cliente     Pequeñas
                                                                 Iteración
Arquitectónico                de Entregas                                                Aceptación                Entregas
                Estimación
                                                    Estimación
                 incierta
                                                     confiable
                                                                             Próxima
                                                                             iteración
                               Prototipo




                                                                                                  Cristina Ciccarelli
DESARROLLO DE SISTEMAS CON                                                                  XP
                                         ITERACIO
                                             N

                                                       Historias Nuevas,
                                                     Velocidad de Proyecto

 Plan de        Historias de
                                                                 Aprender y
                  usuario
Entregas                                                         comunicar

                                                                        Funcionalidades
                                                                            nuevas
            Velocidad de                        Plan de
Próxima       proyecto         Planificación   iteración                                  Versión Mas
                                                           Desarrollo
Iteración                      de Iteración                                                Reciente
                                                                         Corrección de
                                                                             bugs

                  Tests de
 Bugs            aceptación                                                   Día a día
                  fallados




                                                                              Cristina Ciccarelli
DESARROLLO DE SISTEMAS CON                                                                            XP
                                            DESARROLLO

                                                                    Aprender y
                                                                    Comunicar
               Tareas Sin Terminar                                Programación en pares
                                                                 Reconstrucción de código

 Plan de
                            Demasiado por                                                              Nueva
Iteración   Tareas             hacer                                            Tests de unidad
                                                                                pasados al 100%
                                                                                                    Funcionalidad
                                      Próxima tarea o test
                                      de aceptación fallido
                         Reunión                              Manejo Colectivo
                          de Pie                                del Software
                                                                                         Test de
                                                                                       aceptación
                                                                                                    Corrección de
             Tests de                                                                   aprobado        Bugs
Día a Día   aceptación
             fallados




                                                                                            Cristina Ciccarelli
DESARROLLO DE SISTEMAS CON                                                                     XP
                                   MANEJO
                                  COLECTIVO
                                                          Mover Gente                          100% de
                                                                                              Unidades de
                                                         Cambio     Se necesita
                                                         de par       ayuda                     Testeo
                                                                                               Pasados
                                                                                   Ejecutar
                                                                                  todas las
Próxima Tarea                          Unidad de
                Pares   Creación de   testeo fallida
                                                                                  unidades
                                                                                                    Ejecutar
  ó Test de                                             Programación              de testeo
                         Unidad de                                                                   test de
 Aceptación                             Unidad de         en Pares                                 aceptación
                          Testeo         testeo                                                     fallados
                                        aprobada

                                                         Código    Código
                                                        complejo   simple
                                                                                                Test de
                                                                                               Aceptación
                                                                                               Aprobado
                                                       Reconstrucción
                                                        Despiadada

                                                                                  Cristina Ciccarelli
DIFERENCIAS ENTRE          XP Y OTRAS
            METODOLOGIAS

                FEEDBACK




PLANIFICACION                    TEST
INCREMENTAL                  AUTOMATIZADOS




EXTREMADAMEN                 PROGRAMADORE
 TE FLEXIBLE                   S NORMALES




                                Cristina Ciccarelli
¿Cómo hacemos funcionar esto?
                              Decidir


                  Cliente      Fijar


                             Priorizar


                              Estimar
Planificación

                            Proporcionar


                  Equipo     Organizar


                             Apreciar


                              Decidir
                                           Zeida Palacios
Aplicación del Estándar ISO 9001:2000 a la
       Metodología de Programación EXtrema XP

 Propuesta Metodológica
                              Desarrollo




               Medición del
                                           Supervisión
                software

                                                         Zeida Palacios
ENFOQUES


                               Realización del
                                 Producto
• entrenamiento
  en el equipo         • Historiales de Usuario   • Verificación de
  desarrollador        • Seguimiento de             código
                         Actividades
                       • Cambio de Requisitos
   Administración de                                    Mejoramiento
      Recursos                                            continúo




                                                           Zeida Palacios
Gracias por su
  eXtrema
  atención

Programación Xp Nocturno

  • 1.
    Universidad Gran MariscalDe Ayacucho Facultad De Ingeniería VIII Semestre – Ing. De Sistemas Ciudad Bolívar - Estado Bolívar JUNIO, 2010
  • 2.
     Kent Beckes uno de los creadores de la metodología ágil para el desarrollo de software conocida como programación extrema. En 1996 recibio el nombre XP como una forma de rescatar el proyecto del Historia de XP Sistema exhaustivo de compensaciones de Chrysler (C3). La programación extrema se basa en la simplicidad, la comunicación y el reciclado continuo de código, para algunos no es más que aplicar una pura lógica. Roxana Macabril
  • 3.
    PROGRAMACION EXTREMA Es un enfoque de la ingeniería de software formulado por Kent Beck, autor del primer libro sobre la materia, Extreme Programming Explained: Embrace Change (1999). • Rondón Jesús
  • 4.
    Se puede considerarla programación extrema como la adopción de las mejores metodologías de desarrollo de acuerdo a lo que se pretende llevar a cabo con el proyecto, y aplicarlo de manera dinámica durante el ciclo de vida del software. Rondón Jesús
  • 5.
    Proceso de desarrollode software 1.Conceptualización 2. Análisis y y captura de Descripción 3. Diseño 4. Codificación requisitos. funcional Rondón Jesús
  • 6.
    PROGRAMACION EXTREMA • Elproblema de la productividad • ¿Porque fracasan los proyectos del software? • ¿Como soluciona XP estos problemas? Rondón Jesús
  • 7.
    ¿Que es XP? “Unproceso ligero, de bajo riesgo, flexible, predecible, científico y divertido de desarrollar software”. Kent Beck Rondón Jesús
  • 8.
    Características de XP Metodología creada a base de prueba y error.  Surge considerando 4 valores que pueden mejorar cualquier proyecto de software  Expresada en forma de 12 prácticas (algunas ya existentes desde hace años), que se soportan las unas a las otras y conforman un conjunto completo. Rondón Jesús
  • 9.
    Valores Simplicidad Comunicación Realimentación Coraje Rondón Jesús
  • 10.
    Fases de la Programación EXtrema Historias de usuario. Planificación de Iteraciones publicaciones Velocidad del Programación proyecto. en pareja. Reuniones diarias. Luisarys Suarez
  • 11.
    2 da Fase:El Diseño Diseños simples. Glosarios de Riesgos. términos. Tarjetas C.R.C. Luisarys Suarez
  • 12.
    3ra Fase: LaCodificación La codificación debe hacerse ateniendo a estándares de codificación ya creados. Programar bajo estándares mantiene el código consistente y facilita su comprensión 4ta Fase: Las Pruebas El uso de los test es adecuado para observar la refactorización (modificación del código fuente sin cambiar su comportamiento) Estos test son creados y usados por los clientes para comprobar que las distintas Luisarys Suarez historias de usuario cumplen su cometido.
  • 13.
    Esquema de lasFases de la Programación Extrema Luisarys Suarez
  • 14.
    XP EN LAPRÁCTICA Si las revisiones de código son buenas, revisaremos el código permanentemente. Si hacer tests es bueno, todo el mundo creará y ejecutará tests todo el tiempo. Si diseñar es bueno, lo convertiremos en parte de la tarea diaria de todos. Si la arquitectura es importante, todo el mundo trabajará definiendo y refinando todo el tiempo la metáfora del sistema. Si la integración es importante, entonces llevaremos a cabo una integración contínua, integrando y ejecutando tests varias veces al día. Si las iteraciones cortas son buenas, se harán iteraciones realmente cortas. Cristina Ciccarelli
  • 15.
    DESARROLLO DE SISTEMASCON XP Escenarios de testeo Historias de Historias nuevas Bugs Usuario Requerimientos Velocidad del proyecto Metáfora de Plan de Versión mas Aprobación Prototipo sistema Planificación entregas reciente Tests de del cliente Pequeñas Iteración Arquitectónico de Entregas Aceptación Entregas Estimación Estimación incierta confiable Próxima iteración Prototipo Cristina Ciccarelli
  • 16.
    DESARROLLO DE SISTEMASCON XP ITERACIO N Historias Nuevas, Velocidad de Proyecto Plan de Historias de Aprender y usuario Entregas comunicar Funcionalidades nuevas Velocidad de Plan de Próxima proyecto Planificación iteración Versión Mas Desarrollo Iteración de Iteración Reciente Corrección de bugs Tests de Bugs aceptación Día a día fallados Cristina Ciccarelli
  • 17.
    DESARROLLO DE SISTEMASCON XP DESARROLLO Aprender y Comunicar Tareas Sin Terminar Programación en pares Reconstrucción de código Plan de Demasiado por Nueva Iteración Tareas hacer Tests de unidad pasados al 100% Funcionalidad Próxima tarea o test de aceptación fallido Reunión Manejo Colectivo de Pie del Software Test de aceptación Corrección de Tests de aprobado Bugs Día a Día aceptación fallados Cristina Ciccarelli
  • 18.
    DESARROLLO DE SISTEMASCON XP MANEJO COLECTIVO Mover Gente 100% de Unidades de Cambio Se necesita de par ayuda Testeo Pasados Ejecutar todas las Próxima Tarea Unidad de Pares Creación de testeo fallida unidades Ejecutar ó Test de Programación de testeo Unidad de test de Aceptación Unidad de en Pares aceptación Testeo testeo fallados aprobada Código Código complejo simple Test de Aceptación Aprobado Reconstrucción Despiadada Cristina Ciccarelli
  • 19.
    DIFERENCIAS ENTRE XP Y OTRAS METODOLOGIAS FEEDBACK PLANIFICACION TEST INCREMENTAL AUTOMATIZADOS EXTREMADAMEN PROGRAMADORE TE FLEXIBLE S NORMALES Cristina Ciccarelli
  • 20.
    ¿Cómo hacemos funcionaresto? Decidir Cliente Fijar Priorizar Estimar Planificación Proporcionar Equipo Organizar Apreciar Decidir Zeida Palacios
  • 21.
    Aplicación del EstándarISO 9001:2000 a la Metodología de Programación EXtrema XP  Propuesta Metodológica Desarrollo Medición del Supervisión software Zeida Palacios
  • 22.
    ENFOQUES Realización del Producto • entrenamiento en el equipo • Historiales de Usuario • Verificación de desarrollador • Seguimiento de código Actividades • Cambio de Requisitos Administración de Mejoramiento Recursos continúo Zeida Palacios
  • 23.
    Gracias por su eXtrema atención