search
close
    search
    close

      ¿Qué es la metodología Agile?

      Business Concepts

      La metodología Agile de software se refiere al desarrollo de software, centrado en la idea de desarrollo iterativo, donde los requisitos y las soluciones evolucionan a través de la colaboración entre equipos multifuncionales autoorganizados. El valor máximo en el desarrollo ágil es que permite a los equipos entregar valor más rápido, con mayor calidad y previsibilidad, y una mejor aptitud para responder al cambio.


      Origen.

      La definición moderna de desarrollo ágil en materia de software evolucionó a mediados de la década de los 90, como una reacción contra los métodos estructurados de las metodologías tradicionales, como el método cascada, acusados de ser inconsistentes y poco prácticos. 

      Las metodologías ágiles generalmente promueven la gestión de proyectos disciplinados que fomentan la inspección y adaptación frecuentes, una filosofía de liderazgo que fomenta el trabajo en equipo, la autoorganización y la responsabilidad. 

      Constituye un enfoque de las mejores prácticas de ingeniería destinadas a permitir la entrega rápida del software de alta calidad y un enfoque comercial que alínea el desarrollo con las necesidades del cliente y los objetivos de la empresa.

      Cada iteración del ciclo de vida incluye planificación, análisis de requisitos, diseño, codificación, pruebas y documentación. Adquiere importancia el concepto de finalizado, puesto que el objetivo de cada iteración no es agregar toda la funcionalidad para justificar el lanzamiento del producto al mercado, sino aumentar el valor mediante el software que reduce al mínimo la posibilidad de errores.

      Los métodos ágiles enfatizan las comunicaciones cara a cara en vez de utilizar la documentación. La mayoría de los equipos ágiles están localizados en una simple oficina abierta, a veces llamadas "plataformas de lanzamiento". La oficina debe incluir revisores, escritores de documentación y ayuda, diseñadores de iteración y directores de proyecto. 

      Los métodos ágiles también sostienen que el software funcional es la primera medida del progreso. Combinado con la preferencia por las comunicaciones cara a cara, generalmente los métodos ágiles son criticados y tratados como "indisciplinados" por la falta de documentación técnica.

       

      ¿En qué situaciones las metodologías ágiles funcionan mejor? 

      • Cuando no puedes estimar el tiempo que necesitarás y no conoces el alcance completo de los requisitos
      • Cuando no sabes si existe una necesidad en el mercado de tu software
      • No puedes trazar un mapa de las necesidades comerciales, por lo que el diseño debe surgir mediante prueba y error.
      • Tienes acceso ilimitado a tu cliente que está listo para una participación extensa
      • Puedes permitirte iterar y no necesitas entregar software completamente funcional a la vez
      • Ni tú ni tu cliente tienen una burocracia compleja que retrasa la toma de decisiones
      • Los clientes no tienen un presupuesto / horario fijo
      • Necesitas capturar el mercado antes de que haya competencia.
      • Tus clientes no tienen problemas para actualizar tu software (o ni siquiera lo notan, por ejemplo, usan una aplicación web)

      Como se puede ver, las metodologías ágiles son más adecuadas para organizaciones de tamaño pequeño a mediano que para corporaciones. La razón es simple: cuanta menos gente hay, más fácil es tomar una decisión y responder al cambio. Además, Agile es más adecuado para empresas de productos que para consultorías.

      Agile también es excelente para las empresas emergentes, donde "fallar rápido" es el mantra dominante. Los capitalistas de riesgo alientan a las empresas emergentes a probar ideas vanguardistas y dejar que el mercado haga el trabajo. La mayoría de las ideas fracasarán y las pocas que tengan éxito cambiarán el mundo.

       

      Ventajas y desventajas de las metodologías ágiles

      Ventajas

      • Puedes implementar software más rápido, para que tu cliente pueda obtener valor más temprano que tarde
      • Pierdes menos recursos porque siempre trabajas en tareas actualizadas
      • Puedes adaptarte mejor al cambio y responder más rápido
      • Los tiempos de respuesta son más rápidos
      • Puedes detectar y solucionar problemas y defectos más rápido
      • Dedicas menos tiempo a la burocracia y al trabajo ajetreado.
      • Existe una gran comunidad de colaboradores ágiles con los que puedes compartir conocimientos.
      • Puedes obtener comentarios inmediatos (lo que también mejora la moral del equipo)
      • Los desarrolladores pueden mejorar sus habilidades en función de los comentarios de control de calidad
      • No tienes que preocuparte por la optimización prematura
      • Puedes experimentar y probar ideas porque sus costos son bajos.

      Desventajas

      Agile tiene ventajas sustanciales, pero también es importante conocer las desventajas, limitaciones y riesgos que conlleva.

      • La documentación tiende a desviarse, lo que dificulta que los nuevos miembros se pongan al día
      • Es más difícil medir el progreso que en Waterfall porque el progreso ocurre en varios ciclos.
      • Agile exige más tiempo y energía a todos porque los desarrolladores y los clientes deben interactuar constantemente entre sí.
      • Cuando los desarrolladores se quedan sin trabajo, no pueden trabajar en un proyecto diferente, ya que los necesitarán pronto.
      • Los proyectos pueden ser duraderos porque no hay un final claro
      • Los clientes que trabajan con un presupuesto o programa específico no pueden saber cuánto costará realmente el proyecto, lo que hace que el ciclo de ventas sea muy complicado ("Hasta que finalice la iteración" no es algo que a los clientes les guste escuchar).
      • El producto carece de un diseño general, tanto desde el punto de vista de UX como de arquitectura, lo que genera problemas cuanto más trabajas en el producto.
      • Los equipos pueden desviarse para ofrecer nuevas funcionalidades a expensas de la deuda técnica, lo cual aumenta la cantidad de trabajo no planificado.
      • Las características que son demasiado grandes para caber en uno o incluso varios ciclos se evitan porque no encajan bien en la filosofía.
      • Necesita una visión a largo plazo del producto y trabajar activamente para comunicarlo.
      • Los productos carecen de cohesión y el recorrido del usuario está fragmentado porque el diseño está fragmentado. Cuanto más tiempo pasa, más desarticulado termina volviéndose el software
      • Los ciclos cortos no dejan suficiente tiempo para el proceso de pensamiento de diseño, por lo que los diseñadores tienen que volver a desarrollar la experiencia una y otra vez debido a los comentarios negativos.

       

       

      Conclusión

      Las metodologías ágiles se orientan al desarrollo de software basado en el desarrollo iterativo de proyectos cortos formados por equipos multidisciplinarios dinámicos que a su vez interactúan con los clientes y los mantienen al tanto de los avances del proyectos. Tienen la ventaja de adaptarse a los cambios del mercado durante las entregas y se puede modificar aspectos durante el proceso. 

      ¿Quieres compartirlo?

      ¿Nos dejas un comentario?

      Casos de éxito
      Recursos
      Seminarios
      Business Insights
      Volver al Business Concepts