Uno de los problemas fundamentales con las metodologías de desarrollo, de hecho, con cualquier esfuerzo de normalizar un proceso entre personas, es que el deber ser en un sentido moral idealista obscurece el es. eXtreme Programming es un enfoque contra intuitivo para aumentar la productividad de los programadores.
A pesar de los esfuerzos heroicos del equipo de mercadotecnia y de la necesidad de los usuarios de mantener los costos bajos, un programador es productivo alrededor de 2 a 4 horas diarias en promedio. Un monstro en el closet pero una realidad. Esto anuado al hecho de la programación es una arte en al que unos pocos virtuosos pueden realizarla con soltura, 5% de los programadores (o menos) hacen 95% del trabajo (o más). Por eso los beneficios de programación en pares en realidad no implican un costo en productividad. Antes al contrario, probablemente un equipo de 2 de programadores trabajando bajo el esquema de programación extrema sea 2 a 3 veces más productivo que los mismos programadores trabajando de manera aislada.
El énfasis en diseño y pruebas es simplemente una realidad del ciclo de desarrollo:
- Un defecto en codificación es un defecto, aunque corregirlo puede generar más defectos.
- Un error en la fase de diseño produce más de 10 defectos en código
- Un error en la fase de levantamiento de requerimientos produce más de 100 defectos en código
Por eso el esfuerzo de desarrollo debe concentrarse en el análisis y realizar iteraciones cortas donde rápidamente la funcionalidad del sistema sea aparente al usuario final y este pueda dar la retroalimentación necesaria para mantener las cosas en la dirección correcta de manera eficaz.
El esfuerzo de desarrollo debe seguir aproximadamente la siguiente ponderación:
- 40 % análisis y diseño
- 5 % codificación
- 30 % pruebas y soporte
- 25 % más análisis, diseño, pruebas.
Referencias
- Extreme Programming: A gentle introduction.
- http://www.objectmentor.com/resources/articles/ObjectiveView3.pdf
- Extreme Programming Explained: Embrace Change (2nd Edition) (XP Series)
- Planning Extreme Programming (XP Series)
Technorati Tags: error,Extreme,desarrollo,productividad,programadores,equipo,productivo,programación,diseño,pruebas,defecto,codificación,defectos,fase,código,análisis