Agilefest: Mitos y Verdades sobre Ágil

David Alfaro

Este Artículo fue publicado por: David Alfaro
El día 12 julio 2011 | En la categoría: agilefest, articulos, Pensamiento Ágil

agile myths busted

¿Porqué debiera asistir al Agilefest? ¿Qué hay de bueno en la Agilidad?
El enfoque Ágil para administrar los proyectos de software ha estado recibiendo mucha atención recientemente. ¿Por qué la gente habla tanto sobre eso? ¿Es sólo la última "novedad"? ¿O hay algún valor real?

"Ágil", como un conjunto de métodos de desarrollo de software, se definió hace diez años, por lo que no es una simple moda pasajera. La realidad es que más y más organizaciones (desde las pequeñas hasta las grandes corporaciones) han encontrado un valor real en la Agilidad.

Después de definir lo que la Agilidad es y no es, vamos a ver el valor que puede aportar.

¿Qué es Agilidad?

El enfoque de Ágil tiene atributos clave que pueden ser llamados la "Esencia de la Agilidad". Ellos son:

  • Aprendizaje y adaptación - Los enfoques tradicionales esperan que podamos prever cómo se desarrollará el proyecto con una precisión razonable. El enfoque Ágil acepta que hay muchas cosas que no podemos anticipar, por lo que Ágil estructura de manera que nos permite aprender sobre esas incógnitas y entonces adaptarnos sobre lo que aprendemos.
  • Colaboración - El enfoque Ágil le da un gran valor a la colaboración continua entre todos los interesados, incluyendo a los programadores y a sus clientes.
  • Enfoque en el cliente - El cliente es el foco central de un proyecto Ágil y participa activamente en todo el proceso.
  • Equipos pequeños autodirigidos - La Agilidad aprovecha los equipos autodirigidos y reconoce que los equipos pequeños pueden auto-dirigirse con mayor eficacia.
  • Principios Lean - Los principios que han sido probados como exitosos por Lean Manufacturing están incorporados en la Agilidad, especialmente los conceptos como "Just Enough" y "Just in Time".
  • Elaboración progresiva de los requerimientos - Esperamos aprender acerca de los detalles de los requerimientos del sistema mientras el proyecto avanza, por lo que tratar de concretar la especificación completa en detalles en el inicio del proyecto no tiene sentido. Proyectos Ágiles establecen un plan de trabajo y elaboran los detalles a medida que se van necesitando.
  • Entrega incremental - La mejor manera de garantizar que estamos construyendo el sistema correcto es obtener retroalimentación regular de nuestros clientes. La Agilidad siempre incluye la entrega incremental del producto al cliente - por lo menos para que realice pruebas de aceptación.
  • Planificación Iterativa y adaptación - Los proyectos Ágiles valoran en gran manera la planificación. Participan en la planificación a varios niveles de detalle y lo hacen con regularidad. De nuevo, esto se debe al hecho de que no podemos predecir todos los detalles importantes, por lo que debemos adaptar nuestros planes a medida que aprendemos.

¿Qué no es la Agilidad?

Muchas personas han abusado del término "Agilidad", utilizándolo como una excusa para prácticas indisciplinadas. Algunas personas creen erróneamente que la Agilidad significa lo siguiente:

  • No hay documentación - La documentación que produce un proyecto Ágil es significativamente diferente de lo que producen los proyectos tradicionales, eso sí, un equipo ágil siempre preguntará por qué se necesita cada documento, cuál es su valor. Pero siempre documenta (de formas únicas) sus planes, requerimientos, diseños, y cualquier otro artefacto que provea valor.
  • No hay planificación - Los proyectos Ágiles en realidad planifican más que la mayoría de los proyectos tradicionales. Elaboran un plan de alto nivel durante el inicio del proyecto, luego lo revisan y adaptan con regularidad durante todo el proyecto. Elaboran un plan de lo que van a hacer durante cada iteración del desarrollo, y se reúnen a diario para comprobar su progreso y planean de trabajo del día.
  • No hay requerimientos - El Dueño del Producto (o cliente) del equipo Ágil define una visión del producto, y trabajan juntos para documentar los requerimientos de alto nivel del producto (llamado el Product Backlog). Luego, se elaboran y documentan vistas más detalladas de los requerimientos a medida que se les necesita a lo largo el proyecto.
  • No hay control de cronograma o presupuesto - Los proyectos Ágiles siempre operan dentro de intervalos de tiempos fijos llamados "Time-Box". Es decir, tienen fechas definitivas de inicio y finalización y se espera que no violen esas fechas. Y debido a que el tiempo de las personas es la mayor parte del presupuesto de un proyecto de software, el "Time-Box" limita el presupuesto del proyecto. La mantra Ágil es: "Vamos a entregar el mayor valor posible al cliente dentro de las limitaciones del proyecto!"
  • Los programadores hacen lo que quieran - El Cliente tiene el control primario sobre un proyecto Ágil. El cliente está involucrado en todos los aspectos de planificación, priorización y visualización del estado a lo largo de un proyecto Ágil. Si el equipo del proyecto no está produciendo lo que el cliente considera de valor, es responsabilidad del cliente redirigir el trabajo. En ese sentido, el único papel que el equipo tiene, consiste en estimar lo que se puede hacer en plazos limitados. Cliente (constituido por una persona o un equipo) determina la manera en que el esfuerzo será dirigido.

El verdadero Valor de la Agilidad

Hay muchas razones por las que las compañías ven valioso el enfoque ágil bien implementado. Los beneficios más citados incluyen:

  • El producto correcto - El cliente está continuamente involucrado en el proyecto, lo que garantiza que software de valor se esté construyendo y esté priorizando el trabajo. Además, para cada incremento del producto que se produce, el cliente lo acepta o proporciona retroalimentación esencial. Con este nivel de participación por parte del cliente, no hay manera de que se construya el producto equivocado.
  • Calidad - La Agilidad siempre tiene un fuerte enfoque en la calidad de lo construido. Esto incluye no sólo las pruebas de aceptación del cliente, sino también muchas de las prácticas de calidad técnica. Equipos Ágiles funcionando adecuadamente producen software de alta calidad.
  • Cronograma y Presupuesto - El "Time-boxing" de un proyecto Ágil implica que su calendario y el presupuesto sean raramente excedidos. Si las cosas no salen según lo planeado, las funcionalidades de baja prioridad se pueden omitir o cortar. Si un proyecto Ágil tiene que extender su time-box, eso sucedería de pleno acuerdo del cliente y la administración.
  • Alerta temprana - Debido a que un proyecto Ágil es básicamente una serie de breves mini-proyectos, los problemas se manifiestan muy temprano, como tiene que ser.
  • Adaptación al cambio - El cambio es una realidad del mercado, del negocio. Un proyecto Ágil se adapta a los cambios en el entorno empresarial, dentro de la organización, o con el cliente con mucha mayor eficiencia que un proyecto tradicional.

Todo negocio valora agilidad (con "a" minúscula). Lo que muchos están encontrando es que la Agilidad (con "A" mayúscula) ofrece lo que promete.

Encuéntrelo usted también, asista al Agilefest.

Post to Twitter

Déjenos su comentario

Dejenos su comentario

Próximos Cursos

  • Prontitud
  • Prontitud
  • Prontitud
  • Prontitud

Lo que Nuestros Clientes Dicen

La mejora en la calidad y en la mejor relación con los clientes fue visible desde las primeras semanas. [Leer testimonial completo]

Jesús Bejarano. Grupo de Soluciones Informáticas S.A

Suscríbase a las Noticias de Prontitud


Suscríbase al Podcast: El ScrumMaster Iluminado