Programación
Extrema XP
José Luis Dorado B.
XP.
• Es una metodología de desarrollo ágil que tiene
como principal objetivo aumentar la
productividad a la hora de desarrollar un
proyecto software.
¿QUÉ ES UNA METODOLOGÍA ÁGIL?
• Las metodologías ágiles tienen como punto
fuerte la adaptación a cualquier cambio en un
proyecto para aumentar sus posibilidades de
éxito.
Principios de una Metodología Ágil.
• Los individuos y sus interacciones son más
importantes que los procesos y las herramientas.
• El software que funciona es más importante que
la documentación exhaustiva.
• Colaboración con el cliente en lugar de
negociación de contratos.
• No hay que seguir un plan cerrado, sino
adaptarse al cambio.
Los Cuatro Valores Fundamentales de XP.
1. Comunicación.
• Es muy importante que haya una comunicación
constante con el cliente y dentro de todo el
equipo de trabajo.
2. Simplicidad.
• Se refiere que ante todo y sin importar qué
funcionalidad requiera el usuario en su sistema,
éste debe ser fácil.
3. Retroalimentación.
• Es la comunicación constante entre el
desarrollador y el usuario.
4. Coraje.
• Se refiere a la valentía que se debe tener al
modificar o eliminar el código que se realizó con
tanto esfuerzo.
5. Respeto.
• El equipo debe trabajar como uno, sin hacer
decisiones repentinas.
Practicas de XP.
• Retroalimentación.
• Proceso continuo en lugar de por lotes.
• Entendimiento compartido.
• Bienestar del programador.
RETROALIMENTACIÓN
• Principio de pruebas.
• Planificación.
• Cliente in-situ: el cliente (o su
representante) deberá formar parte del
equipo de desarrollo.
• Pair-programming.
PROCESO CONTINUO EN LUGAR DE
POR LOTES.
• Integración continua.
• Refactorización.
• Entregas pequeñas.
ENTENDIMIENTO COMPARTIDO.
• Diseño simple.
• Metáfora.
• Propiedad colectiva del código.
• Estándar de programación.
BIENESTAR DEL PROGRAMADOR.
• Semana de 40 horas.
Actividades Básicas de XP.
• Planeación.
• Diseño.
• Codificación.
• Pruebas.
Ciclo de Vida XP.
Herramientas del XP.
• Historias de usuarios
Son tarjetas físicas en las cuales se anota
una descripción de una funcionalidad del
sistema, en una oración, se le da un
número y un título para ser identificada.
• Casos de prueba de aceptación
Son tarjetas que se elaboran para realizar
las pruebas de cada historia de usuario.
Herramientas del XP.
• Tarea de ingeniería
Son tarjetas que se elaboran para ayudar y
simplificar la programación de una
historia de usuario.
• Tarjetas CRC (Clase - Responsabilidad –
Colaborador).
Describen las clases utilizadas en la
programación de una historia.
Ventajas de XP.
• La programación extrema es que se adapta al
desarrollo de sistemas pequeños y grandes.
• Optimiza el tiempo de desarrollo.
• Permite realizar el desarrollo del sistema en
parejas para complementar los conocimientos.
• El código es sencillo y entendible.
• Poca documentación a elaborar para el
desarrollo del sistema
Desventajas XP.
• Son que no se tiene la definición del costo y el
tiempo de desarrollo.
• El sistema va creciendo después de cada entrega
al cliente y nadie puede decir que el cliente no
querrá una función más.
• Se necesita de la presencia constante del
usuario, lo cual en la realidad es muy difícil de
lograr.
Programación extrema xp

Programación extrema xp

  • 1.
  • 2.
    XP. • Es unametodología de desarrollo ágil que tiene como principal objetivo aumentar la productividad a la hora de desarrollar un proyecto software.
  • 3.
    ¿QUÉ ES UNAMETODOLOGÍA ÁGIL? • Las metodologías ágiles tienen como punto fuerte la adaptación a cualquier cambio en un proyecto para aumentar sus posibilidades de éxito.
  • 4.
    Principios de unaMetodología Ágil. • Los individuos y sus interacciones son más importantes que los procesos y las herramientas. • El software que funciona es más importante que la documentación exhaustiva. • Colaboración con el cliente en lugar de negociación de contratos. • No hay que seguir un plan cerrado, sino adaptarse al cambio.
  • 5.
    Los Cuatro ValoresFundamentales de XP.
  • 6.
    1. Comunicación. • Esmuy importante que haya una comunicación constante con el cliente y dentro de todo el equipo de trabajo.
  • 7.
    2. Simplicidad. • Serefiere que ante todo y sin importar qué funcionalidad requiera el usuario en su sistema, éste debe ser fácil.
  • 8.
    3. Retroalimentación. • Esla comunicación constante entre el desarrollador y el usuario.
  • 9.
    4. Coraje. • Serefiere a la valentía que se debe tener al modificar o eliminar el código que se realizó con tanto esfuerzo.
  • 10.
    5. Respeto. • Elequipo debe trabajar como uno, sin hacer decisiones repentinas.
  • 11.
    Practicas de XP. •Retroalimentación. • Proceso continuo en lugar de por lotes. • Entendimiento compartido. • Bienestar del programador.
  • 12.
    RETROALIMENTACIÓN • Principio depruebas. • Planificación. • Cliente in-situ: el cliente (o su representante) deberá formar parte del equipo de desarrollo. • Pair-programming.
  • 13.
    PROCESO CONTINUO ENLUGAR DE POR LOTES. • Integración continua. • Refactorización. • Entregas pequeñas.
  • 14.
    ENTENDIMIENTO COMPARTIDO. • Diseñosimple. • Metáfora. • Propiedad colectiva del código. • Estándar de programación.
  • 15.
    BIENESTAR DEL PROGRAMADOR. •Semana de 40 horas.
  • 17.
    Actividades Básicas deXP. • Planeación. • Diseño. • Codificación. • Pruebas.
  • 19.
  • 20.
    Herramientas del XP. •Historias de usuarios Son tarjetas físicas en las cuales se anota una descripción de una funcionalidad del sistema, en una oración, se le da un número y un título para ser identificada. • Casos de prueba de aceptación Son tarjetas que se elaboran para realizar las pruebas de cada historia de usuario.
  • 21.
    Herramientas del XP. •Tarea de ingeniería Son tarjetas que se elaboran para ayudar y simplificar la programación de una historia de usuario. • Tarjetas CRC (Clase - Responsabilidad – Colaborador). Describen las clases utilizadas en la programación de una historia.
  • 22.
    Ventajas de XP. •La programación extrema es que se adapta al desarrollo de sistemas pequeños y grandes. • Optimiza el tiempo de desarrollo. • Permite realizar el desarrollo del sistema en parejas para complementar los conocimientos. • El código es sencillo y entendible. • Poca documentación a elaborar para el desarrollo del sistema
  • 23.
    Desventajas XP. • Sonque no se tiene la definición del costo y el tiempo de desarrollo. • El sistema va creciendo después de cada entrega al cliente y nadie puede decir que el cliente no querrá una función más. • Se necesita de la presencia constante del usuario, lo cual en la realidad es muy difícil de lograr.