Más allá de cualquier metodología

El diseño y desarrollo de software ha ido mutando año tras año, pero el problema de fondo sigue siendo el mismo: La toma de requerimientos. Las metodologías tradicionales impulsaban a destinar horas y horas de ingeniería para reducir el riesgo en la implementación del proyecto usando un diseño detallado y costoso. Si bien, es una buena aproximación a tener una idea de lo que se busca implementar, los usuarios no perdonan. No es fácil traspasar ideas de personas o procesos de negocios a un diseño sin cambios.

De todas formas, es injusto crucificar las metodologías tradicionales, es como decir que la curva S para la representación del avance de un proyecto no sirve. Creo que no he visto empresas constructoras que no usen este indicador para medir avance real. ¿Está bien?, categóricamente sí. La selección de una metodología y sus herramientas depende en gran parte por la naturaleza del proyecto. Si recordamos las palabras de Robert K. Wysocki en su libro Effective Project Management recordaremos que ningún proyecto es igual a otro y por lo tanto la dirección por parte del project manager tiene que ser una unión entre arte y ciencia.

Durante los años 90's, la situación cambió radicalmente, ya se sentía en el ambiente el descontento generalizado por parte de actores importantes en la industria sobre el performance de los proyectos de desarrollo de software, pero no fue hasta el año 2001 cuando 17 personas se juntaron en un Ski Resort en Utah para definir lo que serían los cimientos del pensamiento ágil. Hablamos de pensamiento, más que metodologías o frameworks porque va más allá de generar una estructura de gestión y ejecución de proyectos informáticos, sino por el afán de generar una cultura de colaboración entre clientes y empresas proveedores en base a la confianza.

The Agile Manifesto

De esta reunión y con el paso del tiempo se logran definir los 4 principales valores.

  • Individual and Interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

Son varios los frameworks que adoptan estos valores y los implementan en un sistema de trabajo colaborativo con los clientes. El más conocido es SCRUM donde a través de los Daily Standups (reuniones de no más de 15 minutos parados), busca aumentar la interacción entre las personas, pero sin caer en el exceso de reuniones poco productivas.

Empresas tradicionales queriendo ser ágiles

Vamos por un buen camino. Son varias las empresas en Chile y el mundo que han adoptado la implementación de metodologías ágiles, pero no en un 100%. Mover una estructura completa para que sea una organización ágil, no es fácil. En varios artículos interesantes disponibles en la web, como The five trademarks of agile organizations se destaca la importancia de trabajar en células. Algo, que para los profesionales que vienen de la industria manufacturera y que conocieron los beneficios del Lean Thinking es algo obvio. No es coincidencia que Last Planner System use el concepto de Daily Huddle al inicio de cada jornada. Siendo que esta metodología fue desarrollada en gran parte durante los años 90's.