Archivo

Archivo para la Categoría "Programación extrema (XP)"

Programación extrema

21 junio, 2010 Dejar un comentario

La programación extrema es uno de los métodos ágiles más conocidos y utilizados. Este artículo trata una pequeña introducción teórica sobre este tipo de metodología ágil.

No he encontrado una buena bibliografía básica en castellano, sé que existen dos libros que tratan un poco el tema pero me han comentado que no son muy buenos porque son pesados de leer y la traducción deja mucho que desear. Lo que sí que he encontrado es una buena página inglesa que está bastante bien, tiene hasta una sección donde recomienda libros sobre la programación extrema, eso sí, en lengua inglesa:

http://www.extremeprogramming.org/

Introducción

La programación extrema utiliza un enfoque orientado a objetos como paradigma de programación preferido. En la siguiente imagen podemos observar el ciclo de vida típico que utiliza esta metodología.

Planificación:

Es la primera actividad en el proceso de desarrollo. Comienza creando una serie de historias de usuarios (similares a los casos de uso) que describen la funcionalidad del software que se va a construir. El cliente les asigna una prioridad y el equipo de desarrollo evalúa cada una y le asigna un periodo de desarrollo. Si la historia supera más de tres semanas de desarrollo se divide la historia en historias menores.

Una vez establecido un acuerdo detallando la fecha de entrega, el equipo de desarrollo ordena las historias para implementar antes las que tengan mayor prioridad.

Conforme avanza el trabajo de desarrollo, el cliente puede agregar nuevas historias con nueva funcionalidad, de esta manera, la programación extrema es una metodología que acepta facilmente requisitos cambiantes durante el desarrollo de software.

Diseño:

El diseño en la programación extrema sigue el principio de hacerlo todo simple .El diseño se va modificando a lo largo de todo el proceso de desarrollo.

Codificación:

La programación extrema recomiendo que después de diseñar las historias el equipo no debe comenzar la codificación sino que debe desarrollar una serie de pruebas de unidad que les ayuden a centrarse en lo que debe implementase para pasar esa prueba.

Un concepto clave en esta etapa es la programación en pareja de tal forma que dos personas trabajan juntas en un ordenador para crear el código de una historia siguiendo un estandar de codificación. Este enfoque asegura la calidad del código, ya que dos cabeza piensan mejor que una, además permite la rápida comunicación entre las dos personas y un mejor conocimiento del problema que se quiere solucionar.

Pruebas:

Las pruebas de unidad creadas deber ser automatizadas para que puedan ejecutarse de manera fácil y rápida. De esta forma podemos modificar el código y asegurarnos que funciona pese a los cambios producidos.

RESUMEN

Podemos resumir la programación extrema de la siguiente manera:

- Planificación incremental: Los requerimientos se registran en tarjetas de historias. Los desarrolladores dividen estas historias en Tareas de desarrollo.

- Entregas pequeñas: Primero se desarrolla una versión con la funcionalidad más importante. Después se van añadiendo funcionalidades a las distintas entregas.

- Diseño sencillo: Solo se lleva a cabo el diseño necesario para cumplir con los requerimientos actuales.

- Desarrollo previamente probado: Se utilizan pruebas automatizadas antes de escribir código.

- Programación en parejas: Las parejas de desarrolladores trabajan en todas las áreas del sistema.

- Integración continua: Cuando acaba el trabajo de una historia se integra en el sistema entero. después de la integración se deben pasar todas las pruebas de unidad.

- Cliente presente: El cliente debe estar disponible ya que es miembro del equipo de desarrollo y es responsable de formular los requerimientos del sistema para que se puedan implementar.

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 65 seguidores