Desarrollo de software. Antipatrón. Sobreingeniería

Es un caso particular del antipatrón «software inflado«, en el que se invierte más esfuerzo del necesario en hacer los productos más robustos, seguros y complejos de lo que realmente necesitan.

Pero, ¿es malo que un software sea más robusto o más seguro? En absoluto, siempre y cuando no olvidemos cuáles son sus prioridades, es decir, si hacerlo más robusto o seguro de lo que necesita implica que tengamos que invertir esfuerzo en estas actividades y restarlo de la adecuada evolución del producto, no solo no estamos haciendo un uso eficiente del presupuesto, ya que lo invertimos en actividades que proporcionan menos valor, sino que además podemos poner en riesgo la propia línea de desarrollo del sistema, si es que nos quedamos sin dinero y no hemos cubierto las necesidades funcionales más prioritarias.

A lo anterior, hay que sumarle el riesgo de que se produzca un incremento de la complejidad del producto, ya que querer hacer el sistema más robusto o más seguro, no implica que se acierte con la estrategia, técnica o programación utilizada, lo que implica que aunque se consiga ese objetivo es posible que el producto sea más complicado de evolucionar (mayor deuda técnica) o que incluso se haya invertido un esfuerzo y que el sistema se haya quedado más o menos como estaba.

Otro aspecto que no hay que perder de vista, es que llega a un momento en el que no es posible mejorar la robustez, seguridad o complejidad del sistema, ya que lo que se termina mejorando en un punto, se termina estropeando en otro (ver Ley de Tesler).

2 comentarios

Deja un comentario