¿Qué es la programación extrema?
La programación extrema es uno de los métodos más recientes para desarrollar software. Su objetivo es mejorar los métodos tradicionales de desarrollo de software enfatizando el valor y la calidad del negocio. Este método de programación intenta entregar piezas de software completas y sin errores que satisfagan las necesidades comerciales, en intervalos de tan solo semanas.
En la forma tradicional de desarrollar software, un proyecto abarca muchos meses o años. Un equipo de analistas intenta obtener todos los requisitos de los usuarios. Luego, un conjunto de diseñadores crea la estructura amplia del sistema. Después de eso, los programadores codifican el sistema dentro de esa estructura. Los probadores se aseguran de que el código esté libre de errores y cumpla con los requisitos.
El principal problema encontrado con el desarrollo tradicional es que los propios usuarios no siempre tienen claros sus requisitos, y los requisitos a menudo cambian durante el tiempo extendido que lleva crear el software. Hay diferentes personas involucradas en diferentes etapas, y la documentación casi nunca se completa, por lo que las personas en las etapas posteriores no pueden entender el proceso de pensamiento de las personas en las etapas anteriores. Esto da como resultado un software de baja calidad, así como un bajo valor comercial.
Habitualmente, la programación extrema implica entregas frecuentes de software en un lapso de pocas semanas. La motivación es proporcionar un software totalmente funcional que aborde algunas necesidades comerciales críticas. Un cambio en los requisitos se acomoda en la próxima entrega.
La programación extrema, o XP para abreviar, enfatiza la calidad al escribir pruebas antes de llevar a cabo la programación. A medida que se escribe el software, el código se revisa y prueba muchas veces al día. Todo el software se arma y prueba una o incluso varias veces al día. Esto se hace para garantizar que ninguna parte del software desactive el sistema.
Uno de los aspectos bien conocidos de la programación extrema es la programación de pares, en la que dos programadores trabajan juntos en una computadora. Debido a este enfoque, el proceso de pensamiento, diseño y codificación que entra en la creación de software se verifica de inmediato. La responsabilidad de desarrollar cualquier pieza de software se comparte.
Con este método de desarrollo, el software comienza con un diseño simple y evoluciona para satisfacer necesidades comerciales adicionales. Se evita la creación de características hasta que realmente se conviertan en alta prioridad. El énfasis está en el trabajo en equipo para crear sistemas completos, por lo que cada miembro del equipo desempeña el papel de analista, diseñador, programador y probador todos los días. Existe una comunicación intensa dentro del equipo de programación, así como entre los programadores y los usuarios a quienes se entrega el software.
En este método de programación, se enfatiza mucho el concepto de refactorización. La refactorización es el refinamiento interno del código para darle una buena estructura al código y facilitar su comprensión sin afectar la salida. Se espera que todo el trabajo involucrado en la programación extrema se realice a un ritmo sostenible sin fines de noche y fines de semana. Esto aumenta la moral y reduce la probabilidad de errores.
La programación extrema toma su nombre de la idea de que los aspectos positivos de cómo trabajan los buenos programadores se llevan al extremo para capitalizar los beneficios. Este método de desarrollo ha sido bastante efectivo en varios sistemas de software. Como esta sigue siendo una metodología nueva, sus prácticas evolucionan continuamente.