Programación eXtrema. Métodos ágiles
Programación eXtrema. Métodos ágiles

Programación eXtrema. Métodos ágiles

Es un método ágil para el desarrollo de software cuando se tienen que abordar proyectos con requisitos cambiantes o no del todo definidos. Es un método adaptativo que funciona muy bien con equipos pequeños o medianos. Se basa en desarrollar el código de forma que su diseño, arquitectura y codificación permita incorporar modificaciones que no alteren la calidad del producto. Se trabajan con pequeñas iteraciones, pudiendo obtener comentarios del cliente. Se trata de ir creando un producto de manera incremental.
Pero… ¿Qué tareas son necesarias para desarrollar un buen software?…
  • Codificar: Es la única actividad de la que no podremos prescindir. Sin código fuente no hay programa, aunque hay gente que cuenta que existe software en producción del que se perdió el código fuente. Por tanto necesitamos codificar y plasmar nuestras ideas a través del código. En una programación en PX en pareja el código expresa tu interpretación del problema, así podemos utilizarlo para comunicar, para hacer mías tus ideas, y por tanto para aprender y mejorar.
  • Hacer pruebas: Las características del software que no pueden ser demostradas mediante pruebas simplemente no existen. Las pruebas me dan la oportunidad de saber si lo que se implementa es lo que en realidad lo que pensaba haber implementado. Las pruebas nos indican que el trabajo funciona, cuando no se puede pensar en ninguna prueba que pudiese originar un fallo en el sistema entonces se ha acabado por completo. Programar y probar es más rápido que sólo programar. Puedes ganar media hora de productividad sin hacer pruebas, pero perderás mucho tiempo en la depuración. Las pruebas deben de ser sensatas y valientes.
  • Escuchar: Los programadores no lo conocen todo, y sobre todo muchas cosas que las personas de negocios piensan que son interesantes. Si ellos pudieran programarse su propio software ¿para qué los querrían?. Si se va a hacer pruebas hay que preguntar si lo obtenido es lo deseado, y hay que preguntar a quien necesita la información. Escucha al cliente y retroalimentación son fundamentales.
  • Diseñar: El diseño crea una estructura que organiza la lógica del sistema, un buen diseño permite que el sistema crezca con cambios en un solo lugar. Los diseños deben de ser sencillos, si alguna parte del sistema es de desarrollo complejo, es mejor dividirla en varias. Si hay fallos en el diseño o malos diseños, estos deben de ser corregidos cuanto antes.

 

 

Con la programación extrema se persigue:

 

  • Se incrementa considerablemente la productividad del equipo de desarrollo.
  • Se consigue con más facilidad la satisfacción del cliente.
  • Se satisfacen y mantienen los estándares de calidad.
  • Se satisfacen con más precisión los requisitos del cliente.
  • Se cumplen los plazos con mayor exactitud y consistencia.