domingo, 17 de agosto de 2014

Por qué desarrollo ágil de Software

Hace unos 5 años, un una conferencia de desarrollo de software, el presentador preguntó al público quien trabaja en una organización que utiliza desarrollo ágil de software. Casi el 90% de los asistentes levantó la mano. Estoy seguro que casi nadie lo hacía, pero claro - ¿quién querría reconocer que en su organización el software se desarrolla de manera lenta, pesada o torpe?

Lamentablemente, en la práctica, la mayoría de las empresas desarrollan software de esa manera. He aquí un intento de explicar mi argumento:
  • Lento: La mayoría de las empresas han creado procesos con el fin de asegurar un mínimo estándar de calidad y una mínima velocidad. Procesos que incluyen una documentación exhaustiva de cada paso, que requieren la contribución de muchas personas de muchas áreas de la empresa, que tienen muchos objetivos distintos, muchas veces contrarios.
  • Pesado: Muchos de los procesos que se utilizan en las empresas son pesados en el sentido que cada uno de los participantes debe hacer mucho "papeleo", trámites, discusiones, para ejecutar hasta el más mínimo paso. Para todos los involucrados, trabajar se siente como arrastrar un barco o una pesada locomotora.
  • Torpe: Los procesos a los que la mayoría de las organizaciones ha llegado con el paso de los años son torpes en el sentido que sus largos ciclos muchas veces no les llevan a producir lo que necesitan. Una vez que el software a desarrollar está terminado, el mercado ya no lo necesita. Es muy difícil o caro corregir el rumbo del barco una vez que ha zarpado en una dirección. Eso ya no funciona hoy en día, en un mundo que cambia tan rápido.

Muchos han comprendido ya que los procesos que se han creado en las empresas que desarrollan software no sirven para producir buen software suficientemente rápido. Hay mucha literatura al respecto y es fácil perderse en la jungla de gurus y consultores. Lo importante a mi juicio es:
  • volver a lo básico - concentrarse en aquello que agrega valor
  • preguntarse siempre por qué se hace lo que hace - eliminar lo que ya no se necesita
  • ser transparente - decir y buscar la verdad
  • dejar que quienes hacen el trabajo decidan como lo quieren hacer - ellos lo saben mejor
  • pensar y trabajar en ciclos cortos - planificar en largos ciclos es imposible en aguas turbulentas
Seguir esos principios es más difícil de lo que parece, pero vale la pena! He olvidado algún principio importante?

Gik.- 

No hay comentarios:

Publicar un comentario