Wednesday, February 8, 2012

Por qué Scrum no funciona

Una interesante presentación de Jorge Acosta (Junio 2009) quien nos da un acercamiento a Scrum, nos muestra las reglas del juego y nos explica en qué momentos sí funciona Scrum y en cuales no, además de proporcionarnos algunas guías de adopción.

Thursday, February 2, 2012

Los beneficios del desarrollo ágil

Los métodos ágiles surgieron de las experiencias en proyectos reales de profesionales líderes en desarrollo de software, quienes experimentaron los desafíos y limitaciones del desarrollo tradicional en cascada proyecto tras proyecto. El enfoque que promueve el desarrollo ágil es una respuesta directa a los problemas relacionados con el desarrollo tradicional de software - tanto en términos de filosofía general, como en procesos específicos.

El desarrollo ágil, en su forma más simple, ofrece un framework sencillo de trabajo, teniendo en cuenta un panorama en constante evolución técnica y funcional, manteniendo un enfoque en la rápida entrega de valor para el negocio (es decir, "obtener más por menos"). Como resultado de este enfoque y sus beneficios asociados, las organizaciones son capaces de reducir significativamente los riesgos vinculados con el desarrollo de software.

En concreto, el desarrollo ágil acelera la entrega del valor inicial al negocio, y mediante un proceso de planificación continua y retroalimentación, es capaz de garantizar que el valor continúe  maximizándose durante todo el proceso de desarrollo. Como resultado de esta planificación iterativa y constante retroalimentación, los equipos son capaces de alinear continuamente el software entregado con las necesidades del negocio, adaptándose fácilmente a las necesidades de cambio durante todo el proceso. Mediante la medición y evaluación basadas en el trabajo realizado, las pruebas de software, se dispone de una visión mucho más precisa del avance real del proyecto. Finalmente, como resultado de seguir un proceso ágil, la conclusión de un proyecto es un software que responde mejor a las necesidades del negocio y clientes.

El siguiente diagrama muestra las diferencias entre los procesos ágiles y desarrollo en cascada. Mediante el trabajo proporcionado, pruebas de software, entregas de manera gradual, el desarrollo ágil proporciona mayor valor, visibilidad y capacidad de adaptación mucho antes en el ciclo de vida del proyecto, reduciendo significativamente los riesgos.

Problemas con el desarrollo tradicional

De acuerdo con el informe ‘CHAOS’ del Standish Group del año 2000, el 25% de todos los proyectos se cancelan y ningún software es entregado. Lamentablemente, esto representa una gran mejora respecto a los informes de los últimos años. Y ahora hay más evidencia de la misma clase. En ‘Agile and Iterative Development: a Managers Guide’, Craig Larman renombrado consultor y autor, hace un trabajo exhaustivo para desacreditar el modelo tradicional en cascada de manera definitiva.

Los números son abrumadores. Un estudio realizado en el Reino Unido mostró que de 1,027 proyectos, sólo el 13% no ha fallado, y la administración con el modelo tradicional en cascada fue el "principal factor que contribuyó para el fracaso, que se cita en el 82% de los proyectos como el problema número uno." Un estudio de 1995 sobre proyectos del Departamento de Defensa de los E.E.U.U. con un valor de más de $37 mil millones de dólares, concluyó que "el 46% de los sistemas   no cumplía notoriamente con las necesidades reales (a pesar de que cumplió con las especificaciones), nunca fueron utilizados con éxito y otro 20% requiera rehacerse" para que pudieran utilizarse.

Larman también señala que "en otro estudio de 6,700 proyectos, se encontró que cuatro de los cinco factores clave que contribuyeron al fracaso de los proyectos se asociaron y agravaron con el modelo en cascada, incluyendo la incapacidad para hacer frente a las nuevas necesidades y problemas de integración tardía. "Otro estudio de más de 400 proyectos realizados con el modelo en cascada informó que sólo el 10% del código desarrollado está en uso, y de éste, sólo el 20% se utiliza realmente.

Estas cifras refuerzan lo que muchos de nosotros hemos experimentado personalmente: el desarrollo en cascada es un enfoque metodológico arriesgado y costoso para construir sistemas de software. Esta es la razón real por la que gran parte de la industria está investigando y/o implementando alternativas ágiles.


Versión original en inglés: http://www.versionone.com/Agile101/Agile_Benefits.asp (VersionOne, Inc.)
Traducción al español: Abraham Reyes (www.keptos.com) y Eric González (www.exentrit.com)