Ir al contenido principal

Extreme Programming (XP)

 Extreme Programming (XP)




La Extreme Programming (XP) es uno de los marcos de desarrollo de software más importantes de los modelos ágiles. Se utiliza para mejorar la calidad del software y la capacidad de respuesta a los requisitos del cliente. El modelo de Extreme Programming recomienda llevar las mejores prácticas que han funcionado bien en el pasado en proyectos de desarrollo de programas a niveles extremos. Las buenas prácticas deben practicarse en la Extreme Programming: Algunas de las buenas prácticas que han sido reconocidas en el modelo de Extreme Programming y sugeridas para maximizar su uso se detallan a continuación:


Revisión de código: la revisión de código detecta y corrige errores de manera eficiente. Sugiere la programación en pareja como la codificación y revisión del código escrito realizado por un par de programadores que intercambian sus trabajos cada hora.

Pruebas: Probar el código ayuda a eliminar errores y mejora su confiabilidad. XP sugiere el desarrollo basado en pruebas (TDD) para escribir y ejecutar continuamente casos de prueba. En el enfoque TDD, los casos de prueba se escriben incluso antes de escribir cualquier código.

Desarrollo incremental: el desarrollo incremental es muy bueno porque se obtienen comentarios de los clientes y, en base a esto, el equipo de desarrollo presenta nuevos incrementos cada pocos días después de cada iteración.

Simplicidad: la simplicidad facilita el desarrollo de código de buena calidad, así como su prueba y depuración.

Diseño: El diseño de buena calidad es importante para desarrollar software de buena calidad. Entonces, todos deberían diseñar diariamente.

Pruebas de integración: ayuda a identificar errores en las interfaces de diferentes funcionalidades. La Extreme Programming sugiere que los desarrolladores deben lograr una integración continua construyendo y realizando pruebas de integración varias veces al día.

Principios básicos de la Extreme Programming:XP se basa en la iteración frecuente a través de la cual los desarrolladores implementan User Stories. Las historias de usuario son declaraciones simples e informales del cliente sobre las funcionalidades necesarias. Una historia de usuario es una descripción convencional por parte del usuario de una característica del sistema requerido. No menciona detalles más finos como los diferentes escenarios que pueden ocurrir. Basado en Historias de usuarios, el equipo del proyecto propone Metáforas. Las metáforas son una visión común de cómo funcionaría el sistema. El equipo de desarrollo puede decidir construir un Spike para algunas características. Un Spike es un programa muy simple que se construye para explorar la idoneidad de una solución propuesta. Se puede considerar similar a un prototipo. Algunas de las actividades básicas que se siguen durante el desarrollo de software utilizando el modelo XP se detallan a continuación:

Codificación: el concepto de codificación que se utiliza en el modelo XP es ligeramente diferente de la codificación tradicional. Aquí, la actividad de codificación incluye diagramas de dibujo (modelado) que se transformarán en código, secuencias de comandos de un sistema basado en web y elección entre varias soluciones alternativas.

Pruebas: el modelo XP otorga gran importancia a las pruebas y las considera el factor principal para desarrollar software libre de fallas.

Escuchar: los desarrolladores deben escuchar atentamente a los clientes si tienen que desarrollar software de buena calidad. A veces, los programadores pueden no tener el conocimiento profundo del sistema a desarrollar. Por lo tanto, los programadores deben comprender correctamente la funcionalidad del sistema y deben escuchar a los clientes.

Diseño: Sin un diseño adecuado, la implementación de un sistema se vuelve demasiado compleja y muy difícil de entender la solución, lo que encarece el mantenimiento. Un buen diseño da como resultado la eliminación de dependencias complejas dentro de un sistema. Por lo tanto, se enfatiza el uso efectivo del diseño adecuado.

Comentarios: uno de los aspectos más importantes del modelo XP es obtener comentarios para comprender las necesidades exactas del cliente. El contacto frecuente con el cliente hace efectivo el desarrollo.

Simplicidad: el principio principal del modelo XP es desarrollar un sistema simple que funcione de manera eficiente en el presente, en lugar de intentar construir algo que llevaría tiempo y que quizás nunca se use. Se centra en algunas características específicas que se necesitan de inmediato, en lugar de dedicar tiempo y esfuerzo a especulaciones sobre requisitos futuros.


Aplicaciones de Extreme Programming (XP): Algunos de los proyectos que son aptos para desarrollar usando el modelo XP se detallan a continuación:


Proyectos pequeños: el modelo XP es muy útil en proyectos pequeños que consisten en equipos pequeños ya que la reunión cara a cara es más fácil de lograr.

Proyectos que involucren nueva tecnología o proyectos de Investigación: Este tipo de proyecto enfrenta requerimientos rápidamente cambiantes y problemas técnicos. Entonces, el modelo XP se usa para completar este tipo de proyecto.

Comentarios

Entradas populares de este blog

Trabajar con XML usando notepad++

A menudo tenemos que recurrir a eclipse o a otras herramientas externas para formatear o trabajar los xml y esto no es del todo necesario, podemos hacerlo de una manera muy agil y rápida con el notepad++ de toda la vida... Eso sí, toca instalar el plugin. NotePad++ nos ofrece una serie de plugins para poder ampliar su funcionalidad, por ejemplo para poder manipular los ficheros XML, podemos usar el plugin XML Tools que tendremos que descargar desde su web (al final del post el enlace).     Deberemos descomprimir el fichero en el directorio “plugins” dentro del directorio de instalación del Notepad++. En nuestro ejemplo sería C:\Program Files (x86)\Notepad++\plugins     Abrir Notepad++ o reiniciarlo si lo teníamos previamente abierto.     Dentro del menú Plugins >> XML Tools >> How to use  nos aparecerá una ventana indicandonos que nos faltan librerías por importar:     Descargamos las libr...

Los 10 libros que todo ingeniero informático debe tener (parte III)

Los 10 libros que todo ingeniero informático debe tener  parte III Dentro del universo de la literatura, los libros de informática son rarezas, suelen ser manuales y libros de consulta, con autores desconocidos al gran público y con una clara orientación práctica. La mayoría poseemos uno o varios y tienen una gran utilidad para poder documentarnos puntualmente o hacer un reciclaje de conocimiento. Pero... ¿Qué libros debería de poseer todo ingeniero? Software libre para una sociedad libre de RICHARD M STALLMAN Esta edición autorizada por Richard M. Stallman de su libro Free Software, Free Society. Recopila un conjunto de ensayos y artículos que recorren la década de 1990 y los primeros años del nuevo milenio, y que conforman quizás la mejor apología escrita del software libre como dispositivo de libertad y democracia. El trabajo de edición de este libro ha sido complejo y prolongado, y ha sido posible gracias únicamente a la cooperación de una mu...

Consejos con linkedin

Para aquellos interesados en el refuerzo de su imagen digital creo que es conveniente enfatizar en una serie de comportamientos que debemos de evitar a toda cosa en el uso diario de nuestro perfil de linkedin Las visitas anónimas a los perfiles ¿es que hay algo que ocultar? Ésta es una queja unánime: A mucha gente no le gusta que desde un perfil sin identificar hayan visto su perfil profesional. La transparencia ante todo. No es algo vital , pero no deja de ser una recomendación ya que si queremos establecer un contacto profesional debemos transmitir confianza. El mal uso de los mensajes La educación ante todo : saludar, contestar, agradecer… Y molesta  mucho la falta de personalización y el envío masivo de mensajes sin mirar si el destinatario puede ser un potencial interesado en ellos (por ejemplo, porque se trate de un curso que se celebra en otra comunidad). Y un detalle muy feo: los correos masivos donde se ven las direcciones de los destinatarios. Si enviais corr...