PROGRAMACION EXTREMA (XP)
La programación extrema o eXtremeProgramming (XP) es un enfoque de laingeniería de software formulado por Kent Beck, autor del primer libro sobre lamateria, Extreme Programmingxp: Embrace Change (1999). Es el másdestacado de los procesos ágiles de desarrollo de software. Al igual que éstos, laprogramación extrema se diferencia de las metodologíastradicionalesprincipalmente en que pone más énfasis en la adaptabilidad que en laprevisibilidad. Los defensores de XP consideran que los cambios de requisitossobre la marcha son un aspecto natural, inevitable e incluso deseable deldesarrollo de proyectos. Creen que ser capaz de adaptarse a los cambios derequisitos en cualquier punto de la vida del proyecto es una aproximación mejor ymás realista que intentar definir todoslos requisitos al comienzo del proyecto einvertir esfuerzos después en controlar los cambios en los requisitos.
Una de las cosas que a los programadores nos tiene que quedar muy claro es que enel ciclo de vida del desarrollo de un proyecto software los cambios van a aparecer, cambiaránlos requisitos, las reglas de negocio, el personal, la tecnología, todo va a cambiar. Por tanto elproblema no esel cambio en si, ya que este va a suceder sino la incapacidad de enfrentarnos aestos cambios.
Como en otra cualquier actividad humana necesitamos valores para desarrollar nuestrotrabajo y conseguir los planteamientos iníciales.
Estos cuatro valores son:
•Comunicación
•Sencillez
•Retroalimentación
•Valentía
Comunicación.
Cuántas veces hemos tenido problema en nuestro equipo de desarrollopor falta decomunicación, por no comentar un cambio crítico en el diseño, por no preguntar lo quepensamos al cliente. La mala comunicación no surge por casualidad y hay circunstancias queconducen a la ruptura de la comunicación, como aquel jefe de proyecto que abronca alprogramador cuando éste lo comunica que hay un fallo en el diseño. XP ayuda mediante susprácticas a fomentar la comunicación.Sencillez.
Siempre debemos hacernos esta pregunta ¿ Qué es lo más simple que puedafuncionar ?. Lograr la sencillez no es fácil. Tenemos cierta tendencia a pensar en quéprogramaremos mañana, la próxima semana y el próximo mes. Cuantos de nosotros nohacemos a veces mas de lo que debemos: “Ya que estoy tocando esta clase voy a añadirle dosmétodos mas para visualizar los mensajes en colores”, cuando esono está entre los requisitos,“es que mañana puede que lo necesite”, si mañana esta entre los requisitos, hazlo entonces.
XP nos enseña a apostar, apuesta por hacer una cosa sencilla hoy y pagar un pocomas para mañana, si es necesario, que hacer una cosa complicada hoy y no utilizarla después.
La sencillez y la comunicación se complementan, cuanto mas simple es tu sistema menostienes quecomunicar de el.
Retroalimentación.
“No me preguntes a mi, pregúntale al sistema”, es la primera clave de laretroalimentación, por medio de pruebas funcionales a nuestro software este nos mantendráinformado del grado de fiabilidad de nuestro sistema, esta información realmente no tieneprecio. Los clientes y las personas que escriben pruebas tienen una retroalimentación real desu sistema.
Laretroalimentación actúa junto con la sencillez y la comunicación, cuanto mayorretroalimentación más fácil es la comunicación. Cuanto mas simple un sistema mas fácil de
probar. Escribir pruebas nos orienta como simplificar un sistema, hasta que las pruebasfuncionen, cuando las pruebas funcionen tendrá mucho echo.
Valentía.
Asumir retos, ser valientes antes los problemas y afrontarlos. En mi experienciacomoprogramador estuve realizando un programa de Nominas para la delegación portuguesa de SP.
Yo estaba encargado de elaborar unos informes para la seguridad social portuguesadenominados “Blanco Social”, nunca se me olvidará. Mientras mas avanzaba en el trabajomás engorro montaba en el código por tal de que aquello funcionara después de 3 semanas detrabajo casi lo tenia resuelto, pero el código...
Regístrate para leer el documento completo.