Sie sind auf Seite 1von 7

METODOLOGÍA ÁGIL XP (PROGRAMACIÓN EXTREMA)

INTEGRANTES:
 ALVAREZ PALACIOS, Jean
 ARZAPALO REY, Walter
 BARRUETO ROMERO, Kevin
 CARDENAS ZEVALLOS, Luis
 RODRIGUEZ BASTIDAS, José

1. RESUMEN
Las metodologías ágiles empezaron a ser muy populares en estos últimos años,
porque representan una muy buena solución para proyectos realizados en un
corto plazo, sobre todo en esos proyectos donde los requisitos cambian de forma
constante, sin embargo, en los proyectos realizados a largo plazo, el uso de
estas, no ayudan a obtener los resultados esperados. Al momento de diseñar un
software, es una muy buena práctica tener una buena arquitectura o diseño del
mismo, ya que esto implica que nuestro sistema tiene calidad. Si se tienen bien
definidas las actividades que se realizarán para el desarrollo del software, se
puede obtener mucha rentabilidad con respecto al producto que se está
desarrollando. Sin embargo, para la metodología ágil XP tener esas actividades
definidas no se consideran de forma importante. La visión de la metodología ágil
XP, brinda un mayor protagonismo al individuo, a la colaboración con el cliente
y al desarrollo incremental del software con repeticiones pequeñas. Esta
perspectiva sobre el uso de la metodología ágil XP está mostrando su eficiencia
en proyectos a corto plazo con requerimientos cambiantes y sobre todo cuando
se quiere disminuir el tiempo empleado en el desarrollo del software, pero con
una calidad alta. Así como las demás metodologías ágiles, XP procura
desarrollar software totalmente funcional en un plazo previamente establecido.

La programación extrema (XP) está más enfocada al desarrollo en equipo,


además incluye al cliente como parte indispensable ya que sin él no se tendrían
los requerimientos o cambios del producto. La metodología XP posee además
valores basados en la simplicidad, comunicación, realimentación (feedback),
respeto y coraje, que son practicados por sus usuarios.

A continuación, se definen con mayor profundización las características de la


metodología ágil XP, así como, las ventajas y desventajas que puede tener esta
metodología ágil.
2. PROGRAMACIÓN EXTREMA (XP)
La metodología ágil XP (programación extrema) motiva al desarrollo del trabajo
grupal para de esta forma conseguir un ambiente mucho más profesional.

XP es preferida por los desarrolladores, ya que representa una manera más fácil
y práctica para desarrollar software. Sin embargo, los primeros proyectos
basados en la metodología XP se llevaron a cabo al final de la década de los 80.
(Tamayo, 2013, p.18)

XP se basa en la retroalimentación (feedback) constante mediante el cliente y el


grupo de desarrollo, es decir, constante comunicación para satisfacer los
requerimientos del cliente.

Esta adaptación al contexto en continuo cambio se obtiene gracias a las


iteraciones con los sistemas que tienen características funcionales al final del
mismo. (Llacctahuaman, 2015, p.28)

XP se define como especialmente adecuada para proyectos con requisitos


imprecisos y muy cambiantes, y donde existe un alto riesgo técnico. (Bendezú,
2014, p.24)

Una variación de XP llamada programación extrema industrial (IXP) se desarrolló


en los últimos años, con el fin de mejorar a la propia XP, este tiene como objetivo
ser usado únicamente en empresas grandes con múltiples requerimientos.

Por ende, XP es la metodología ágil perfecta para proyectos con requerimientos


cambiantes.
2.1 VALORES
La metodología ágil XP brinda una gamma de valores al grupo desarrollador
para realizar cualquier proyecto con calidad profesional. Estos valores se
llevan a cabo en cada actividad del proceso de desarrollo del proyecto y estas
son:

 Comunicación
 Simplicidad
 Retroalimentación (feedback)
 Respeto
 Coraje

2.2 FASES
La metodología ágil XP se desarrolla por medio de cuatro actividades:
planificación, diseño, codificación y pruebas, todas estas actividades usan la
perspectiva de programación orientada a objetos para el desarrollo de
software.

2.2.1 PLANIFICACIÓN
Todo el desarrollo se basa en la planificación como punto de partida
donde extraen toda la información posible que conceptualiza el
producto requerido por el usuario.

Para realizar esta fase es necesario escuchar, ya que esto lleva a la


creación de requerimientos por parte del usuario, estas son tomadas
por los desarrolladores para el software. (Pressman, 2010, p.62).

Los clientes y desarrolladores trabajan juntos para implementar


nuevas funciones, provenientes de los requerimientos, que
desarrollarán los programadores. Una vez que se establecen por
completo, los desarrolladores ordenan los requerimientos que serán
desarrolladas en una de las siguientes tres formas:

1. Todos los requerimientos se desarrollarán de inmediato (unos


días).
2. Los requerimientos más importantes se desarrollarán antes
que todos.
3. Los requerimientos más trabajosos se desarrollarán primero.

Con el avance del proyecto, el cliente puede agregar nuevos


requerimientos, eliminar algunos ya desarrollados o mezclarlos, por
eso los programadores evalúan los requerimientos faltantes y
establecen nuevos métodos.

2.2.2 DISEÑO
Esta fase se inicia con modelos básicos y simples que al iterar se
vuelven más complejos.

Durante esta fase también se suele realizar un refactoring para hacer


más eficiente y legible el condigo inicial. (Llacctahuaman, 2015, p.29)

2.2.3 CODIFICACIÓN
El cliente es requerido para la entrega de información minuciosa para
el diseño del producto. Es recomendable en esta fase trabajar en una
pareja de desarrolladores para el más pronto éxito y resolución de
problemas.

Esto proporciona un mecanismo para la resolución de problemas en


tiempo real y el aseguramiento de la calidad en las mismas
condiciones. (Bendezú, 2014, p.27)

2.2.4 PRUEBAS
El cliente realiza pruebas basadas en sus requerimientos e historias
de usuario. Revisa la capacidad responsiva, simplicidad, etc.

Las pruebas de aceptación se derivan de las historias de usuario que


se han implementado como parte de un lanzamiento de software.
(Bendezú, 2014, p.27)

2.3 CARACTERÍSTICAS
 Desarrollo iterativo e incremental: Avanzar poco a poco,
mejorando cada parte del proyecto finalizado.
 Pruebas unitarias continuas: Pruebas que se realizan de forma
frecuente para optimizar el código.
 Programación por parejas: Programas en grupos de dos para
mayor entendimiento y generar competencia saludable.
 Frecuente interacción: Es necesario que el cliente trabaje con los
desarrolladores para agregar o quitar requerimientos al proyecto.
 Corrección: Corregir todos los errores para poder implementar más
funciones al software.
 Refactorización: Volver a escribir partes del código para mejorar su
legibilidad y confiabilidad, pero sin cambiar su función. (Roberth G.
Figueroa, 2008)
2.4 XP INDUSTRIAL
La variación de la metodología ágil XP llamada IXP (programación extrema
industrial) viene siendo utilizada más que nada en las empresas grandes, ya
que posee fases más particulares para el proceso del desarrollo de software,
estas son:

 Evaluación de la factibilidad
 Comunidad del proyecto
 Calificación del proyecto
 Administración orientada a pruebas
 Aprendizaje continuo

Al finalizar el software, los desarrolladores realizan una revisión técnica


especializada que se denomina retrospectiva, este examina los temas,
eventos y lecciones aprendidas en cada fase del desarrollo del proyecto.

2.5 Ventajas y Desventajas


La metodología ágil XP es preferida por muchos grupos de desarrollo, porque
posee ventajas que otras metodologías no pueden igualar, estas son:

 Programación Organizada: Los desarrolladores separan parte del


trabajo en grupos, de esta manera logran abarcar más actividades del
proyecto y de manera ordenada.
 Menor taza de errores: Al tener una buena organización y partición,
los desarrolladores pueden enfocarse más en su trabajo y no en
perder el tiempo solucionando errores.
 Satisfacción del Programador: Al hacer el trabajo dividido, los
desarrolladores sienten más libertad de hacer su trabajo y por lo tanto
al culminar generará una mejor satisfacción por el trabajo realizado.
 Versiones Nuevas: Cada desarrollador sabe de memoria su parte
del trabajo, por ende, al crear nuevas versiones ya saben que
posibles errores podrían aparecer.

Sin embargo, también presenta algunas desventajas con respecto a otras


metodologías, como, por ejemplo:

 Volatilidad de los requerimientos: Como el cliente es un miembro


activo del equipo desarrollador, los cambios a los requerimientos se
dan de palabra, por ende, el proyecto cambia para satisfacer las
nuevas necesidades.
 Necesidades afectivas del cliente: El cliente necesita estar con su
familia e amigos, por lo tanto, no puede estar siempre trabajando con
el grupo desarrollador.
 Los requerimientos se expresan informalmente: Los nuevos
requerimientos siempre se dan de palabra y los desarrolladores a
veces no captan como quiere los cambios en el software el cliente.
 Falta de un diseño formal: Al no haber bocetos de los nuevos
requerimientos, los desarrolladores muchas veces no realizan
correctamente la documentación del proyecto.

3. CONCLUSIÓN
La metodología ágil XP es la más usada por los desarrolladores de software, ya
que siempre buscan terminar un proyecto en el tiempo establecido y sobre todo
afrontar los cambios de requerimientos constantes que realice el cliente.

La metodología ágil XP, además brinda valores a los desarrolladores como al


cliente siendo estos:

 Comunicación, si la comunicación es escaza el producto final no logrará


los requerimientos que propuso el cliente.
 Simplicidad, el producto debe cubrir todos los requerimientos que plantee
el cliente para luego agregar funcionalidades extras.
 Retroalimentación, con el constante cambio de requerimientos se crea
código obsoleto, esto debe emplearse para poder alcanzar los nuevos
requerimientos.
 Valentía, afrontar los constantes cambios de requerimientos que se dan
en el transcurso del proyecto.
 Respeto, siempre considerar las opiniones, trabajo y tiempo de los
demás.

4. BIBLIOGRAFÍA
 Rodríguez, E. 2012. Conceptos básicos de Ingeniería de Software. (En
línea). Formato PDF.
http://www.tamps.cinvestav.mx/~ertello/swe/sesion01.pdf
 Pacheco, I y García, J. 2008. Una Metodología Basada en Prácticas
Efectivas para Desarrollar Software Educativo.MX. Postgraduate
Department, Technological University of the Mixtec Region. vol.11 no.4.
(En línea).
http://www.scielo.org.mx/scielo.php?script=sci_arttext&pid=S1405-
55462008000200003
 Pressman, R. 2010. Ingeniería del Software Un Enfoque Práctico. 7ma
ed. University ofConnecticut. McGraw-Hill Interamericana Editores, S.A.
(Libro)
 Tamayo Cifuentes, Juliana. 2013. Prácticas ágiles para el desarrollo de
software en semilleros de investigación. Ingeniería de Sistemas e
Informática, Medellin. (En línea). Formato PDF.
https://repository.upb.edu.co/bitstream/handle/20.500.11912/1520/PR%C3%
81CTICAS%20%C3%81GILES%20PARA%20EL%20DESARROLLO%20DE%20SOFT
WARE%20EN%20SEMILLEROS%20DE%20INVESTIGACI%C3%93N.pdf?sequence
=1
 Joskowicz, José. Reglas y Prácticas en Xtreme Programming. Nuevas
Técnicas de Desarrollo de Software en Ingeniería Telemática, España
(En Línea). Formato PDF.
http://iie.fing.edu.uy/~josej/docs/XP%20-%20Jose%20Joskowicz.pdf
 Borja López, Yolanda. Metodología Ágil de Desarrollo - XP. Ingeniería de
Software, Espeña (En Línea). Formato PDF.
http://www.runayupay.org/publicaciones/2244_555_COD_18_29081420
3015.pdf
 Roberth G. Figueroa, C. J. (2008). METODOLOGÍAS TRADICIONALES
VS. METODOLOGÍAS ÁGILES. Loja.

Das könnte Ihnen auch gefallen