WaterFall vs Agilismo – Industrialización vs Artesania

Últimamente se oye hablar mucho sobre la industrialización del software, como algo no siempre adecuado, y muy asociado al ciclo de vida en cascada o waterfall.

No tengo muy claro si el termino de industrialización en el campo del desarrollo de software está muy claro. En alguna ocasión he expuesto mi punto de vista.

Si por industrialización entendemos la cadena de montaje de un coche si puede asimilarse al ciclo de vida en cascada.

Si por industrialización entendemos el tener definido un método de trabajo adecuado a la empresa y proyecto en el que estamos desarrollando el trabajo, con sus correspondientes procedimientos, etc. No creo que sea necesariamente asimilable al ciclo de vida en cascada.

Es decir una empresa o proyecto puede tener metodologías y procedimientos perfectamente ágiles.

Lo que no creo que sea asumible son los proyectos o empresas en las que, por ejemplo, se ha perdido código por no tener un control de versiones riguroso.

Creo que en el planteamiento del agilismo, como por ejemplo en Scrum, hay una trampa. Cuando se habla de equipos autoorganizados, se pone una precondición muy importante y que aveces se nos olvida, que es la de conseguir gente con talento. Pero no siempre es posible tener ese tipo de personas.

Por eso me parece importante, tanto en agilismo como en el ciclo de vida en cascada el definir la metodología y los procedimientos, ágiles o no, y que se cumplan a rajatabla. Y si hay que adaptarlos se adaptan.

En mi opinión lo ideal sería que se definiesen a nivel de empresa, para que si se tiene que mover una persona de un proyecto a otro el tiempo invertido en ponerse al día sea mínimo. Al final nuestros clientes lo que quieren es un producto Bueno, Bonito y Barato.

Todos estos tipos de condicionantes hacen que no se pueda aplicar una metodología ni ágil ni no ágil sin una adaptación, labor que se debe hacer por los ingenieros de software.