sábado, 12 de enero de 2008

El otro lado de la moneda Extreme Programming (XP)


Pues hasta ahora hemos visto modelos de gestión de calidad de software, pero para ir agregando puntos de vista, y otras versiones de la "historia" tenemos del otro lado la Programación Extrema (XP).

La Programación Extrema se basa en el supuesto de que todo en el vida varía, y que este es un proceso natural, para el que hay que estar preparado, y que para un proyecto de desarrollo de software es muy común los cambios en los requisitos, y de allí su punto de vista distinto, En lugar de crear grandes planificaciones, los proyectos de "XP" no lo hacen tan extenso, si no que postulan que es mejor simplemente afrontar el cambio, que tener una gran estructura predefinida, y estar tratando de controlarlo.

Una persona enfocada en este paradigma dice: "Es mejor poner énfasis en la Adaptabilidad que en la previsibilidad" Es decir sus proyectos son totalmente dinámicos.



Las principales características de la "XP" son:

Desarrollo Iterativo incremental: Esto significa que realizan variaciones no grandes entre cada etapa.

Frecuente Interacción con el Cliente: Esto para ir verificando el cumplimiento de los bloques, y reconocimiento de cambio en los requisitos.

Pruebas Unitarias Continuas: Realizar pruebas especificas sobre el código escrito en cada iteración, y recomienda la escrita en papel antes de código de las ideas a realizar.

Corrección de Todos los Errores: Consiste en no avanzar a la siguiente funcionalidad si no esta ideal la anterior.

Programación en parejas: Recomienda trabajar cierta parte del proyecto en parejas, haciendo el mismo trabajo, y juntos, para la revisión instantánea y maximización de ideas.

Simplicidad: En este paradigma se dice, hay que hacer código sencillo, de esta forma si necesitamos modificar algo, será más fácil, incluso agregar funcionalidades.

Refactorizar el Código: Esta relacionado con reescribir el código escrito, con el objetivo de obtener mayor Simplicidad.


Cada quien tiene derecho a tener un punto de vista, yo me quedo con los Modelos de Gestión de Calidad....

3 comentarios:

Sergio dijo...

Hola que tal

He encontrado tu blog buscando que dice el CMMI acerca del testing, y pues bueno, tu blog me ha ayudado mucho en ese sentido aunque todavia no acabo de digerirlo todo.

Andaré por aquí mas seguido.

Saludos

Miguel dijo...

Con respecto a este tema me vino una duda, acaso el seguir el modelo de calidad CMMI nivel 2 en lo que es Gestión de la configuración no implicaría el uso de una metodología? y si esto es así el uso de XP no sería válido para cumplir con esta área de proceso?...

Juan Marcos Chacon dijo...

Perdón por el laaaaaaaaaargo tiempo desaparecido. Razones ajenas a mi.

Gracias por tu comentario Sergio De Luna. Y en lo que quieras colaborar a este blog, pues será tomado en cuenta.

Miguel: Realmente me apena no haber checado antes tu pregunta.
Pero estas en lo cierto!

CMMI es un modelo de Gestion de calidad. Y la gestión de la calidad es un proceso paralelo al desarrollo de sw.

Por lo que el desarrollo idealmente debe ser guiado por alguna métodologia para el efecto.

Cualquier métodología es valida, ahora... XP es una metodología ágil o ligera, que trabaja con sprints (Iteraciones)realmente cortos, y su desarrollo es de los mas dinamicos.

Además se debe tomar en cuenta que en XP mucha de su documentación esta en el código del sistema en desarrollo, ojo con eso, y si no tendrías que hacer documentación extra, restandole dinamismo a XP.

Pero idealmente si. Pueden Trabajar juntas, claro tienes que sopesar si estas dispuesto a pagar el personal suficiente en tu TQM para que trabaje el ritmo de XP.

(En la vida Real me parece una mezcla incompatible...)