jueves, 23 de septiembre de 2010

PROGRAMACIÓN EXTREMA

La programación extrema es posiblemente el método ágil más conocido y ampliamente utilizado. Todos los requerimientos se expresan como escenarios (historias de usuarios), los cuales se implementan directamente como una serie de tareas.

La programación extrema implica varias prácticas que se ajustan a los principios de los métodos ágiles:

1.    El desarrollo incremental se lleva a cabo a través de entregas del sistema pequeñas y frecuentes, y por medio de un enfoque para la descripción de requerimientos basados en las historias de cliente o escenarios que pueden ser la base para el proceso de planificación.

2.    La participación del cliente se lleva a cabo a través del compromiso a tiempo completo del cliente en el equipo de desarrollo.

3.    El interés de las personas, en vez de los procesos, se lleva a cabo a través de la programación en parejas, la propiedad colectiva del código del sistema y un proceso de desarrollo sostenible que no implique excesivas jornadas de trabajo.

4.    El cambio se lleva a cabo a través de las entregas regulares del sistema, un desarrollo previamente probado y la integración continua.

5.    El mantenimiento de la simplicidad se lleva a cabo a través de la refactorización constante para mejorar la capacidad del código y la utilización de diseños sencillos que no prevén cambios futuros en el sistema.

PRUEBAS EN PROGRAMACIÓN EXTREMA

Una de las diferencias importantes entre el desarrollo interactivo y el desarrollo basado en la planificación es la forma de probar el sistema. Algunos enfoques para el desarrollo interactivo tienen un proceso de pruebas muy informal.

Las características clave de las pruebas en programación externa son:

ü  Desarrollo previamente probado.
ü  Desarrollo de pruebas incremental a partir de los escenarios.
ü  Participación del usuario en el desarrollo de las pruebas y en la validación.
ü  El uso de bancos de pruebas automatizados.

PROGRAMACIÓN EN PAREJAS

Otra práctica innovadora que se ha introducido es que los programadores trabajan en parejas para desarrollar el software. De hecho se sientan juntos en la misma estación de trabajo para desarrollar el software. Tiene las siguientes ventajas:

·         Apoyar la idea de la propiedad y responsabilidad comunes del sistema. Esto refleja la idea de Weinberg de la programación sin ego, en la que el equipo como un todo es dueño del software y las personas individuales no tienen la culpa de los problemas con el código.

·         Actúa como un proceso de revisión informal ya que cada línea de código es vista por al menos dos personas. Las inspecciones y revisiones del código consiguen descubrir un alto porcentaje de errores del software.

·         Ayuda en la refactorización, la cual es un proceso de mejora del software. Es decir, se debe escribir nuevamente partes del código para mejorar su claridad y estructura.

No hay comentarios:

Publicar un comentario