Tuesday, June 26, 2007

Metodologias de desarrollo ¿se usan?

Hola que tal tuzolectores

¿Frases conocidas? Lider: "El proyecto lleva un atraso un año (bromeo,... jaja eso no sucede :P )", Usuario final: "Aaahhh no es lo que yo queria", Desarrollador "Aarrgg no se pueden poner de acuerdo, van N veces que cambio el codigo" El que pone el $ para el proyecto: "uupss llevamos invertidos $$$ y no veo resultados".... y muchas mas.......

Como experiencia propia puedo contarles una anegdota que tuve hace algunos años "me piden estimar un modulo para un proyecto (no digo nombres para evitar suceptibilidades), bien, llego feliz y le doy mi estimacion:

Tuzo: 1 mes sin contar pruebas.....
Lider Proyecto: ¿que?¡¡¡ es mucho tiempo... lo tenemos que entregar en 3 dias ¡¡ ya me comprometi con el usuario ¡¡¡¡

¿que dirian ante esto?.... ¿Felicidades?.... Ha veces digo ahh como quisiera regresar a los tiempos de la escuela cuando solo era el gusto por programar sin preouparte de todas estas cosas, en fin ¿a que voy?....

Hoy en dia (y aunque parezca broma), hay quien todavia tiene la creencia que las metodologias de desarrollo no funcionan o peor aun que solo sirven para generar documentacion de mas, .....Falso con F mayuscula, lo importante aqui es saber que metodoliga ocupar para nuestro proyecto asi como la documentacion que genera mas valor en nuestro ciclo de vida del proyecto.

Actualmente existen un sin numero de metodologias de desarrollo divididas en dos grandes grupos... Metodologias Formales y Metodologias Agiles.

Las metodologias Formales son planeadas y disciplinadas generalmente usadas para sistemas de mediano a largo plazo, a diferencia de las metodologias Agiles... que no por ser agiles sean completamente contrarias a las formales... que quiero decir que no por ser agiles, sean llevadas a cabo sin plan, mas bien este tipo de metodologias son Adaptativas..... ¿porque adaptativas? simple y sencillamente porque al usuario siempre se le ocurre algo nuevo... y cambia constantemente los requerimientos...

Rational Unified Process es una metodologia formal, la caracteristica principal es que es Iterativo e Incremental, es centrado en la arquitectura, dirigido por casos de uso y busca mitigar lo menos posible los riesgos de un proyecto..... a diferencia Xtreme Programing es una metodologia agile, adaptativa y centrada en el usuario.. cuyo ciclo principal es Capturar el Requerimiento, desarrollar y probar con el usuario...

Ya cualquier chavo le preguntas ¿El Modelo Tradicional de Cascada es Malo? y te contestan de facto SI

pensemos ... y de verdad el ¿Modelo de Casadada es Malo? entonces ¿porque lo toman como base las demas metodologias?.. vuelvo al comentario inicial.. simplemente debemos ver en DONDE ocupar QUE, ese es el secreto de todo..quizá no exista una clasificacion de tipos de proyectos, pero asi de simple como responder las preguntas ¿usarias RUP para hacer un sistema de mantenimiento de inventario? o ¿usarias XP para un sistema de calculo de nomina bancaria?

Podemos encontrar muchas metodologias: RUP, XP, Agile Modeling, Scrum, MSF, etc..

Asi que como gente de sistemas debemos de tener claras cada una de las ventajas de usar las metodologias de desarrollo.. asi que a estudiar!!!!

Por el buen compartir, hasta la vista

Javo

No comments: