21 formas de odiar la Programación de a Pares
- Detalles
- Publicado: Lunes, 02 Marzo 2009 12:06
- Escrito por Leonardo De Seta
Cada vez que tengo la oportunidad de hablar con alguien que le disgusta la Programación de a Pares (en donde dos desarrolladores trabajan en la misma tarea, usando la misma computadora, teclado y monitor), descubro que lo están haciendo de una forma que a mi tampoco me gustaría.
A continuación repasamos una lista de errores reales que le causaron dolor a muchos equipos. Si todavía pensás que la Programación de a Pares no es para vos, primero verificá si tu equipo pudo resolver todos los elementos de esta lista.
Hace poco cometimos un error. Estuvimos observando lo que creíamos hacian las organizaciones Lean, leimos libros y asumimos que Lean se trataba de aplicar las cosas que vimos y leimos. Invertimos tiempo en presentar sistemas pull, procesos Kanban y just-a-tiempo, y por un período obtuvimos mejores resultados. Sin embargo, nunca logramos los resultados sobresalientes que esperábamos, y cuando nos descuidamos todo volvió a cómo se hacían las cosas antes. ¿Por qué?
Es comun presenciar muchas discusiones acaloradas sobre el proceso del software, las prácticas de diseño y temas parecidos. Muchas de estas discusiones son imposibles de resolver porque la industria del software no tiene una forma de medir algunos de los elementos básicos sobre la efectividad del desarrollo de software. En particular, no existe una forma razonable para medir la productividad.
La arquitectura y el diseño de software son temas que generan mucho debate polémico, pero pocas conclusiones concretas. La Arquitectura Evolutiva y el Diseño Emergente son técnicas ágiles para posponer las decisiones hasta el último momento responsable. En este artículo definimos la arquitectura y el diseño, y luego identificamos preocupaciones comunes a estos temas.
¿Existe algo como un Líder de Producto Ágil? De hecho, si. En
Pese a nuestros mejores esfuerzos, necesitamos saber lo que vamos a programar antes de escribir el código. Y sin importar cuánto nos guste escribir pruebas antes de escribir el código, en realidad no podemos ejecutar las pruebas hasta que hayamos escrito algo de código. Ágil solapa el relevamiento de requerimientos y la implementación, de manera que la programación puede empezar con requerimientos mínimos o apenas esbozados, pero incluso aquí hay una secuencia.
Anteriormente vimos
El desarrollo de software es desafiante y muy divertido, pero hay varios factores que no dejan a los equipos tener éxito en proyectos de TI. Estos factores no suelen ser las herramientas o las tecnologías, sino que son las personas las que afectan el éxito de los proyectos de desarrollo de software.
Kent Beck, el padre de Extreme Programming y de varias herramientas de xUnit, nos cuenta sobre las tendencias en el mundo del software y la sinergía entre el negocio y el desarrollo ágil. La razón por la cual Ágil es cada vez más popular es porque responde a las necesidades del negocio a medida que evoluciona.
En la era en donde nos estamos enfocando a Web 2.0 (palabra que muchos hablan y no tantos comprenden), está cambiando radicalmente la forma en la que se crean sistemas. Actualmente, estamos viendo que los equipos tienden a entregar software como servicios, no como productos. Esta realidad lleva a cambios fundamentales en los modelos de negocio de las organizaciones.