lunes, 1 de septiembre de 2008

Metodologías de desarrollo.

Esta mañana me he preguntado qué método/metodología de desarrollo está pegando más fuerte, y siguiendo con el estilo de la semana pasada para saber que analizador de código estático está teniendo más éxito, he comparado la tradicional “unified proces” en adelante UP o RUP con las emergentes y consideradas ágiles “extreme programming” en adelante XP y “scrum” , el resultado lo podéis ver en google insights.


Desde mi experiencia personal que he trabajado intensamente tanto con RUP como con extreme programming, recomendaría uno u otro dependiendo del proyecto, principalmente tamaño, pero sin seguir de forma radical ninguno de los dos, aunque me incline ligeramente hacia las metodologías ágiles. A lo largo de los proyectos por los que he pasado, he visto desde los que se hacía necesaria la figura de una persona, o equipo de personas, que se encargue de tener los diagramas producto del diseño en sincronía con los cambios que se van haciendo en código (RUP), hasta proyectos en los que el extremismo por hacer “pair programming” , o programación por parejas, que es una práctica típica de XP mediante la cual dos programadores se sientan con un mismo ordenador y teclado, se llevaba tan a rajatabla que cuando uno de los miembros de la pareja se tenía levantar para ir al servicio el otro dejaba de programar y se dedica por ejemplo a leer el correo, tanto en el primer caso, que parece más efectivo generar los diagramas de diseño de bajo nivel mediante un herramienta de forma automática, como en el segundo que parece más razonable dejar el “pair programming” sólo para el núcleo del programa, o para formar a los nuevos miembros del equipo, o para superar un error tedioso, me parecen claros ejemplos de llevar la metodología demasiado lejos, pero no creo que se piense que estoy en contra de modelar con UML o en contra de la programación por parejas, todo lo contrario, me parecen verdaderamente útiles, pero en su justa medida.

A lo mejor es por mi educación en Ingeniería Informática, pero a mi UML me sigue pareciendo una herramienta imprescindible, sobre todo en las primeras fases del análisis, para hacer un modelo de alto nivel.

En cuanto a scrum sólo tengo unas ligeras nociones, pero viendo los resultados ofrecidos por google insights me están entrando ganas de mirarlo más en profundidad, parece que a día de hoy esta arrasando, y si que conozco alguna empresa en España que ha apostado por ella, habrá que mirar en las páginas de ofertas de trabajo para ver si de verdad se está usando.

Me resulta interesante ver que la consulta relacionada que está creciendo más es “Agile Unified Process” que es una versión simplificada de RUP añadiendo conceptos de las metodologías ágiles como el TDD (desarrollo guiado por test) pero conservando principios inamovibles como desarrollar a partir de un Modelo.




20/07/2011 Actulización de google insight añadiendo Lean



delicious | digg | technorati | yahoo | meneame