Desarrollo de Software con metodologías agiles

Desarrollo de Software con Metodologías Ágiles vs Tradicionales

Hoy en día cuando se va iniciar un desarrollo de software es común que en las organizaciones exista la duda sobre si deben utilizar Metodologías Ágiles (como Scrum) dada a su creciente aceptación y lo que han escuchado sobre las ventajas que ofrecen, o bien, seguir trabajando con Metodologías Tradicionales (como Cascada). Para resolver esta duda es muy importante conocer y entender bien las diferencias entre dichas Metodologías y sus respectivos enfoques.

Metodologías Tradicionales

Se utilizan desde hace muchos años y se basa en realizar el desarrollo de software linealmente por etapas. Se tiene un control estricto de roles, actividades, tiempos y se realiza de forma secuencial, no se puede avanzar a la siguiente etapa sin haber concluido la anterior. El valor del producto comienza a producirse al finalizar el proyecto. Principalmente se busca desarrollar un proceso predecible y disciplinado.

Metodologías Ágiles

Su utilización va en aumento a nivel mundial ya que ofrece ventajas que pueden llegar a ser muy importantes para las empresas al desarrollar un Producto, como por ejemplo la flexibilidad ante el cambio, la disminución de riesgos y la obtención de valor desde una etapa inicial y a lo largo de todo el proyecto. Están basadas en el Manifiesto Ágil.

Pilares del Manifiesto Ágil

  • Valorar más a los individuos y sus interacciones que a los procesos y herramientas.
  • Valorar más el software funcionando que a la documentación extensiva.
  • Valorar más la colaboración con el cliente que a la negociación contractual.
  • Valorar más la respuesta ante el cambio que seguir un plan.

Adicionalmente, los 12 principios del Manifiesto Ágil se pueden encontrar aquí.

Principales Diferencias

Ágiles (Scrum) Tradicionales
Énfasis En las personas En los procesos
Documentación Mínima, solo la necesaria Excesiva
Estilo de proceso Iterativo Lineal
Planificación por adelantado Baja Alta
Priorización de requerimientos Basada en el valor que dará el producto al negocio, se actualiza frecuentemente durante el proyecto Fija en el plan del proyecto
Organización Equipos de trabajo autogestionados Equipos de trabajo gestionados por un Administrador o Líder de proyecto
Cambios Se integran directamente al Product Backlog, generalmente pueden ser considerados desde el Sprint posterior al que se llevando a cabo, dependiendo del nivel de prioridad que se les otorgue Gestión formal de solicitudes de cambio
Liderazgo Colaborativo, servicial Comando y control
Evaluación del desempeño Con base en el valor proporcionado al negocio Con base en el avance en el plan del proyecto
Retorno de Inversión Desde el inicio y a lo largo del proyecto Comienza al finalizar el proyecto
Participación del Cliente Alta y a lo largo de todo el proyecto Variable, se da en algunas etapas del proyecto

Conclusión

Tomando en cuenta todo lo anterior y en base a mi experiencia, si se tiene la definición muy clara de todo lo que se requiere desarrollar y no existe la necesidad de sacar un MVP (Minimum Viable Product) al mercado para después irlo robusteciendo y además se desea tener un  control estricto de Actividades, Fechas y Costos, lo recomendable es usar Metodologías Tradicionales.

Pero si no se tienen definidas todas las características del producto a desarrollar y se requiere innovación, flexibilidad para incorporar cambios, implementar un MVP a la brevedad para aprovechar una oportunidad y obtener valor para el negocio,  definitivamente la recomendación es utilizar Metodologías Ágiles como por ejemplo Scrum.

Ingresa tus datos y atenderemos tu solicitud a la brevedad posible.

¿Cómo daremos seguimiento?