El marco ágil - DSDM ó Método de Desarrollo de Sistemas Dinámicos

 El Método de Desarrollo de Sistemas Dinámicos (DSDM) es un marco ágil diseñado para agregar rigor a los métodos iterativos existentes. Se enfoca en la entrega de proyectos dentro de los límites de tiempo, costo y calidad establecidos desde el principio, utilizando la priorización formalizada del alcance para cumplir con estas restricciones.

DSDM dentro de los marcos ágiles

Existe una variedad de marco ágiles diferenciados por su amplitud y detalle, como lo vemos en el siguiente gráfico:




 


Objetivo del DSDM: El objetivo principal del DSDM es desarrollar sistemas de software que satisfagan los requisitos del negocio a tiempo y dentro del presupuesto, adaptándose a los cambios en las necesidades del usuario a través de la interacción continua.

En qué consiste el DSDM:

Desarrollo iterativo e incremental: El desarrollo se realiza en ciclos iterativos y entregas incrementales, permitiendo ajustes basados en la retroalimentación continua del usuario.

Participación continua del usuario: Los usuarios están involucrados de manera constante para asegurar que el sistema se adapte a sus necesidades cambiantes.

Priorización del alcance: Se priorizan las funcionalidades para asegurar que las más importantes se entreguen primero.

Entrega dentro de restricciones: Se establecen y se respetan las restricciones de tiempo, costo y calidad desde el inicio del proyecto.

Colaboración y comunicación: Se fomenta la colaboración y la comunicación continua entre todos los miembros del equipo y las partes interesadas.

Calidad sin compromisos: Se asegura que la calidad no se comprometa en ningún momento del desarrollo.

Construcción desde bases firmes: Se construye de manera incremental sobre bases sólidas, asegurando que cada iteración se base en un fundamento estable.

Control y demostración: Se utilizan técnicas apropiadas para demostrar el control del proyecto y su progreso.

Ejemplo de Gestión de un Sistema de Inventarios con DSDM

Para ilustrar cómo se podría gestionar un sistema de inventarios utilizando DSDM (Dynamic Systems Development Method), a continuación se describe un ejercicio paso a paso que destaca las fases y actividades clave del proceso:

1. Fase de Viabilidad

Objetivo: Determinar si el proyecto es viable y alineado con los objetivos del negocio.

Actividades:

  • Reuniones con stakeholders para identificar necesidades y expectativas.
  • Análisis de costos y beneficios para justificar la inversión en el sistema.
  • Definición del alcance inicial del proyecto.

2. Fase de Estudio del Negocio

Objetivo: Profundizar en los requisitos y establecer un entendimiento claro del negocio.

Actividades:

  • Talleres con usuarios finales para recopilar requisitos específicos sobre la gestión de inventarios, como seguimiento de productos, niveles de stock y reportes.
  • Creación de un documento de requisitos que sirva como base para el desarrollo.

3. Iteración del Modelo Funcional

Objetivo: Desarrollar un modelo funcional que represente cómo funcionará el sistema.

Actividades:

  • Desarrollo de prototipos del sistema para visualizar la interfaz y las funcionalidades.
  • Validación continua con usuarios para asegurar que el modelo cumple con sus expectativas.
  • Ajustes al modelo basado en la retroalimentación recibida.

4. Iteración de Diseño y Construcción

Objetivo: Construir el sistema a partir del modelo funcional validado.

Actividades:

  • Implementación del sistema en iteraciones cortas, permitiendo entregas frecuentes.
  • Realización de pruebas unitarias y funcionales en cada iteración para asegurar la calidad del software.
  • Documentación continua de cambios y decisiones tomadas durante el desarrollo.

5. Implementación

Objetivo: Desplegar el sistema en el entorno productivo y asegurar su correcto funcionamiento.

Actividades:

  • Capacitación a usuarios finales sobre cómo utilizar el nuevo sistema de inventarios.
  • Migración de datos desde sistemas anteriores, asegurando que toda la información relevante esté disponible en el nuevo sistema.
  • Monitoreo post-implementación para resolver problemas y realizar ajustes según sea necesario.

6. Fase de Post-Proyecto

Objetivo: Evaluar el éxito del proyecto y planificar mejoras futuras.

Actividades:

  • Reuniones de retrospectiva con el equipo y stakeholders para discutir qué funcionó bien y qué se puede mejorar.
  • Recolección de métricas sobre el uso del sistema, como tiempos de respuesta y satisfacción del usuario.
  • Planificación de futuras iteraciones o mejoras basadas en la retroalimentación continua.

Este enfoque que está estructurado permite a las organizaciones implementar sistemas de gestión para satisfacer necesidades inmediatas eficaces y sostenibles

Tipos de proyectos recomendados para DSDM:

  • Proyectos con requisitos cambiantes: DSDM es ideal para proyectos donde los requisitos pueden cambiar durante el desarrollo.
  • Proyectos con plazos y presupuestos estrictos: La capacidad de DSDM para trabajar dentro de restricciones de tiempo y costo lo hace adecuado para proyectos con plazos y presupuestos definidos.
  • Proyectos que requieren alta calidad: DSDM asegura que la calidad no se comprometa, lo que es crucial para proyectos donde la calidad es una prioridad.
  • Proyectos con alta participación del usuario: DSDM es efectivo en proyectos donde la participación continua del usuario es posible y deseable.


¿Qué técnicas específicas se utilizan en DSDM para demostrar el control del proyecto y su progreso?

En el Método de Desarrollo de Sistemas Dinámicos (DSDM), se utilizan varias técnicas específicas para demostrar el control del proyecto y su progreso. Estas técnicas aseguran que el proyecto se mantenga en el camino correcto y que los objetivos se cumplan de manera efectiva. A continuación, se detallan algunas de estas técnicas:

MoSCoW (Must have, Should have, Could have, Won't have this time): Esta técnica de priorización ayuda a clasificar los requisitos del proyecto en cuatro categorías, asegurando que las funcionalidades críticas se entreguen primero.

Timeboxing: Se establecen periodos de tiempo fijos (time boxes) para completar tareas específicas. Esto ayuda a mantener el proyecto dentro de los plazos y a gestionar el alcance de manera efectiva.

Daily Stand-ups: Reuniones diarias cortas donde el equipo revisa el progreso, identifica obstáculos y planifica el trabajo del día. Esto asegura una comunicación continua y una rápida resolución de problemas.

Iterative Development: El desarrollo se realiza en ciclos iterativos, permitiendo ajustes basados en la retroalimentación continua del usuario. Cada iteración incluye planificación, desarrollo, pruebas y revisión.

Prototyping: La creación de prototipos permite a los usuarios ver y probar versiones tempranas del sistema, proporcionando retroalimentación que se incorpora en las siguientes iteraciones.

Facilitated Workshops: Talleres facilitados donde se reúnen las partes interesadas para discutir y acordar los requisitos, prioridades y soluciones. Esto asegura una comprensión común y un compromiso con los objetivos del proyecto.

Modelado: Se utilizan modelos visuales para representar los procesos, datos y estructuras del sistema, facilitando la comprensión y la comunicación entre los miembros del equipo y las partes interesadas.

Testing Throughout the Lifecycle: Las pruebas se realizan de manera continua durante todo el ciclo de vida del proyecto, asegurando que los problemas se identifiquen y se resuelvan rápidamente.

Configuration Management: Gestión de la configuración para controlar y documentar los cambios en el proyecto, asegurando que todos los componentes estén alineados y actualizados.

 

Algunas diferencias puntuales entre DSDM y Scrum:

DSDM (Dynamic Systems Development Method) y Scrum son dos metodologías ágiles que, aunque comparten ciertos principios, utilizan diferentes técnicas y enfoques en su implementación. A continuación, se presentan algunas técnicas básicas utilizadas en DSDM que no se encuentran en Scrum:

Técnica

Descripción

Fases estructuradas

DSDM sigue un ciclo de vida estructurado que incluye fases como estudio de viabilidad, iteración del modelo funcional, y diseño e implementación. Esto contrasta con la estructura más flexible de Scrum, que se basa en sprints sin fases definidas

Gobernanza sólida

DSDM enfatiza la necesidad de una gobernanza clara y un control del proyecto a lo largo de su ciclo de vida, asegurando que se alineen con los objetivos estratégicos de la organización

Análisis de negocio previo

Antes de iniciar el desarrollo, DSDM realiza un análisis de negocio detallado para definir claramente los requisitos y el alcance del proyecto. Scrum no tiene un proceso formalizado para este análisis previo

Iteraciones y prototipos

DSDM utiliza prototipos como parte del proceso iterativo para validar requisitos con los usuarios finales antes de la implementación final, lo cual es menos formalizado en Scrum

Enfoque en la entrega a tiempo

DSDM tiene un fuerte enfoque en cumplir con plazos específicos y garantizar que las entregas se realicen en tiempo y forma, mientras que Scrum se centra más en el valor entregado durante cada sprint

Revisión continua de calidad

DSDM incorpora revisiones continuas de calidad a lo largo del proceso, asegurando que el producto final cumpla con los estándares establecidos desde el inicio del proyecto

Roles adicionales

Además de los roles típicos en Scrum (Scrum Máster, Product Owner), DSDM incluye roles como el Facilitador y el Equipo de Desarrollo, cada uno con responsabilidades específicas dentro del marco

Como conclusión podríamos decir que el Método de Desarrollo de Sistemas Dinámicos (DSDM) es un marco ágil que enfatiza la entrega dentro de restricciones de tiempo, costo y calidad, utilizando un enfoque iterativo e incremental con participación continua del usuario. Es adecuado para proyectos con requisitos cambiantes, plazos y presupuestos estrictos, alta calidad y alta participación del usuario. 


Comentarios

Entradas populares de este blog

PMBOK 7 vs. PMBOK 6 - Evolución de la Metodología en Gestión de Proyectos

Valor Monetario Esperado (Expected Monetary Value)