Metodologías Robustas Vs. Metodologías Agiles
El éxito
del producto depende en gran parte de la metodología escogida por el equipo, ya
sea tradicional o ágil, donde los equipos maximicen su potencial, aumenten la
calidad del producto con los recursos y tiempos establecidos.
Metodologías Robustas
|
Metodologías Agiles
|
Entre las principales metodologías
tradicionales tenemos los ya tan conocidos RUP y MSF entre otros, que centran
su atención en llevar una documentación exhaustiva de todo el proyecto y centran
su atención en cumplir con un plan de proyecto, definido todo esto, en la
fase inicial del desarrollo del proyecto.
|
eXtreme
Programming
Scrum.
Crystal Clear
Dynamic Systems
Development Method
Feature Driven
Development
Adaptive Software
Development
|
Evaluación en cada
fase que permite cambios de objetivos
|
Entrega continua y en plazos breves de software funcional
|
Seguimiento
detallado en cada una de las fases.
Funciona bien en
proyectos de innovación
|
Atención continua a la excelencia técnica y al buen diseño
|
|
|
La evaluación de
riesgos es compleja
|
Importancia de la simplicidad, eliminado el trabajo innecesario
|
Nuestro cliente
deberá ser capaz de describir y entender a un gran nivel de detalle para
poder acordar un alcance del proyecto con él.
El proceso de desarrollo está encorsetado por documentos
firmados.
|
Trabajo conjunto entre el cliente y el equipo de desarrollo
|
Basadas en normas provenientes de estándares
seguidos por el entorno de desarrollo
|
Basadas en heurísticas provenientes de prácticas
de producción de código
|
Existen unas costosas fases previas de especificación de
requisitos, análisis y diseño. La corrección durante el desarrollo de errores
introducidos en estas fases será costosa, es decir, se pierde flexibilidad
ante los cambios
|
Especialmente preparados para cambios durante el
proyecto
|
Impuestas externamente
|
Impuestas internamente (por el equipo)
|
Proceso mucho más controlado, con numerosas
políticas/normas
|
Proceso menos controlado, con pocos principios.
|
El cliente interactúa con el equipo de
desarrollo mediante reuniones
|
El cliente es parte del equipo de desarrollo
|
Más artefactos
|
Pocos artefactos
|
Más roles
|
Pocos roles
|
Grupos grandes y posiblemente distribuidos
|
Grupos pequeños (<10 integrantes) y trabajando
en el mismo sitio
|
La arquitectura del software es esencial y se
expresa mediante modelos
|
Menos énfasis en la arquitectura del software
|
Existe un contrato prefijado
|
No existe contrato tradicional o al menos es
bastante flexible
|
Diferencias por etapas entre las Metodologías Robustas y
Agiles:
Metodologías Robustas
|
Etapas
|
Metodologías
Agiles
|
|||
Planificación
predictiva y “aislada”
|
Análisis de
requerimientos
Planificación
|
Planificación adpatativa:Entregas frecuentes +
colaboración del cliente
|
|||
Diseño flexible y Extensible + modelos +
Documentación exhaustiva
|
Diseño
|
Diseño Simple: Documentación Mínima + Focalizado
en la comunicación
|
|||
Desarrollo individual con Roles y
responsabilidades estrictas
|
Codificación
|
Transferencia de conocimiento: Programación en
pares + conocimiento colectivo
|
|||
Actividades de control]: Orientado a los hitos +
Gestión miniproyectos
|
Pruebas
Puesta en
Producción
|
Liderazgo-Colaboración:
empoderamiento +auto-organización
|
|||
Por las
Características del Proyecto:
|
|||||
Metodología
|
Tamaño
del Proceso
|
Tamaño
del Equipo
|
Complejidad
del Problema
|
||
RUP
|
Medio / Extenso
|
Medio / Extenso
|
Medio / Alto
|
||
ICONIX
|
Pequeño / Medio
|
Pequeño / Medio
|
Pequeño / Medio
|
||
XP
|
Pequeño / Medio
|
Pequeño
|
Medio / Alto
|
||
SCRUM
|
Pequeño / Medio
|
Pequeño
|
Medio / Alto
|
||
Revisado
ResponderEliminar