Cada vez están más de moda en ingeniería del software los procesos de desarrollo llamados "ágiles", como la programación extrema (XP) frente a otros modelos más pesados como RUP. Estos están cobrando especial importancia en el desarrollo Web ya que las aplicaciones suelen ser fácilmente divisibles en pequeñas partes sencillas.
Los puntos más interesantes de
- Desarrollo iterativo e incremental
- Pruebas unitarias continuas, frecuentemente repetidas y automáticas
- Programación por parejas
- Frecuente interacción del equipo de programación con el cliente o usuario.
- Corrección de todos los errores antes de añadir nueva funcionalidad.
- Hacer entregas frecuentes.
- Refactorización del código
- Propiedad del código compartida: promueve el que todo el personal pueda corregir y extender cualquier parte del proyecto.
- Simplicidad en el código
El problema está en que hasta hace relativamente poco tiempo, no se disponían de herramientas para aplicar estas metodologías al desarrollo web. Afortunadamente con la aparición de frameworks como Ruby on Rails (RoR) o django, que promueven la arquitectura MVC, estas metodologías se vuelven extremadamente útiles y fáciles de aplicar.
Ambos, RoR y django, disponen de herramientas que facilitan el desarrollo rápido de prototipos de forma que el cliente puede ver resultados pronto, sugerir modificaciones y participar en lo que en XP se conoce como "El juego de la planificación", un proceso en el cual se ponen sobre la mesa el conjunto de tareas (o historias en terminología XP) y el cliente y los desarrolladores se ponen de acuerdo para decidir cual interesa obtener primero de forma que aporten el máximo valor posible al negocio.
Me parece un tema interesantísimo, y espero aprender pronto "django" y "ruby on rails".
ResponderEliminarPor otro lado y puestos a ampliar el recopilatorio, creo que hay un framework que no mencionais por lo obvio o quizá por lo amplio de sus funciones (quizá porque no está realmente orientado a la programación extrema aunque proporcione buenas herramientas para metodologías ágiles). Me refiero a netbeans, utilizando JSP, servlets, aplets, y sobre todo Junit para hacer "pruebas de unidad" automáticas algo tan imprescindible para la programación extrema.
Un saludete y suerte en esta etapa bloguera que comenzais. Seguid escribiendo buen material.
Qué poco me gusta el nombre de XP para la XP xD
ResponderEliminarHola Ruben, NetBeans no es exactamente un framework, o al menos lo que yo entiendo como framework, es más bien un IDE, quizas si me dices Struts... Destaqué django y RoR por que cuentan con herramientas para el prototipado rápido.
ResponderEliminarAlfonso jeje tienes razón, a todos nos recuerda otra cosa...
Vale, Iván, te doy la razón.
ResponderEliminar