Pasar al contenido principal
  • Publicaciones
    Noticias, contenido de valor e información de interés sobre el sector financiero

XP (programación extrema)

Esta metodología tiene como base la simplicidad y adaptabilidad, en vez de la previsibilidad. Desde el punto de vista de XP es más natural hacer cambios sobre la marcha en el requisito, que tratar de definir todos los requisitos al comienzo del proyecto. Es decir, conforme avance el proyecto, se adaptará el código a las necesidades que vayan surgiendo.
Programación Extrema Desarrollo de Software Metodología

Dentro de las diversas metodologías de desarrollo que hay en el mundo de la programación, la XP (extreme programing ó programación extrema) es una de las más interesantes.

Esta metodología tiene como base la simplicidad y adaptabilidad, en vez de la previsibilidad. Desde el punto de vista de XP es más natural hacer cambios sobre la marcha en el requisito, que tratar de definir todos los requisitos al comienzo del proyecto. Es decir, conforme avance el proyecto, se adaptará el código a las necesidades que vayan surgiendo.

La programación extrema se basa en los siguientes valores:

Simplicidad. Es la base de la programación extrema: si el diseño es simple, es fácil desarrollarlo y fácil mantenerlo.

Comunicación. Desde la perspectiva del programador, el código comunica mejor cuando es mas simple. Si el código es complejo, hay que esforzarse para entenderlo y comunicarlo. Debido a esto es importante documentar el código.

Retroalimentación. El cliente, al ser un miembro activo del proyecto, tiene una opinión muy importante. Como la programación extrema se basa en ciclos cortos, los resultados se obtienen rápidamente. Eso permite probar si la pieza es correcta o no y nos ayuda a corregir cualquier error que se presente.

Coraje o valentía. Diseñar y programar para hoy y no para mañana. La valentía le permite a los desarrolladores volver a rehacer el código cuando es necesario.

Respeto. El respeto es un valor importante. Los miembros del equipo reconocen la labor de los demás. Así, saben la importancia de hacer bien su código para que las pruebas existentes no fallen o demoren a los demás integrantes del equipo.

Además, existen ciertas características fundamentales dentro de la metodología.

  • Desarrollo iterativo e incremental. Trabajar sobre mejoras pequeñas.
  • Pruebas unitarias. Generar la prueba unitaria antes de programar.
  • Programación en parejas. Suena extraño, pero en programación extrema el código no es de un solo programador. Programar en parejas permite tener una revisión de pares, lo cual ayuda a identificar posibles huecos y generar un código de mejor calidad. Es importante recalcar que bajo este método, mientras uno programa el otro no puede tocar el código de manera simultánea.
  • El usuario es parte del equipo. La participación de un usuario de manera activa en el equipo ayuda a saber si el requerimiento cumple con las expectativas.
  • Corregir antes de avanzar. Antes de generar una nueva funcionalidad es importante no tener errores.
  • Refactorizar el código. Esta práctica es necesaria para mantener un código legible y más fácil de mantener.
  • El código es de todos. Comúnmente, en un equipo de desarrollo se reparten responsabilidades y actividades, pero el que todos participen en todo permite que cualquier miembro del equipo pueda corregir o mejorar una pieza existente.

Por último, hay que tomar en cuenta qué roles entran en juego bajo esta metodología. Los más comunes son los siguientes:

  • Clientes. Nos indican las necesidades y prioridades del proyecto.
  • Programadores. Los que se encargan de desarrollar.
  • Tester. Se encargan de ayudar a validar que los requerimientos del cliente se cumplan.
  • Coach. A diferencia de un scrum master, el coach se encarga de marcar el rumbo del proyecto.
  • Manager. Es el encargado de los recursos, de la comunicación externa y la coordinación de actividades.

En resumen, la programación extrema es una metodología que ha cobrado mucha relevancia y que puede ser de gran utilidad para crear proyectos funcionales de manera rápida. Con ella, será posible desarrollar soluciones digitales eficientes y que tomen en cuenta las necesidades del cliente.

Publicado por:

Norberto Agustín Marcos
Technical Lead Developer
Perfil LinkedIn

About

We are professional and reliable provider since we offer customers the most powerful and beautiful themes. Besides, we always catch the latest technology and adapt to follow world’s new trends to deliver the best themes to the market.