Critica Analítica Metodologías de Desarrollo de Software

La evolución de los métodos de desarrollo de software. El foco está centrado en el desacuerdo en cómo debe crearse el software. El tema es como se considera el desarrollo de software: como un proceso de ingeniería o un proceso centrado en las personas. Se presenta el lenguaje de modelamiento unificado (UML) como una notación estándar del desarrollo de software. Actualmente es considerado como base para una metodología monumental (que incluye muchas reglas y prácticas) – RUP. Se menciona la reacción a las metodologías monumentales: los métodos ágiles. La cual es característica de un estado inmaduro del desarrollo de software como una disciplina. No solo hay desacuerdo en terminologías, enfoques y detalles de diferentes métodos, sino incluso en un esquema de clasificación común. La siguiente estructura está basada en la evolución de los principales conceptos y las distinciones claves que reflejan los cambios de paradigmas en la filosofía de métodos.


Desde que Dijkstra planteó que el desarrollo de software debería estar centrado fuertemente en las matemáticas para producir productos confiables y con costos predecibles, muchos esfuerzos se han realizado para definir un proceso de desarrollo de software en forma disciplinada y rigurosa. Importantes organizaciones, tales como Motorola, NASA, entre otros, basan su desarrollo en tales prácticas disciplinadas. Por su parte, la innumerable cantidad de métodos de desarrollo de software propuestos, algunos que- dando en el olvido y los menos –en su afán de adecuarse a los cambios de enfoques, a la innumerable cantidad de situaciones que deben enfrentar y a las diversas áreas de aplicación en que se deben desenvolver han incorporado una gran cantidad de reglas, notaciones, prácticas y documentos que requieren mucha disciplina y tiempo para seguirla correctamente. Esto ha llevado a ser definidas como Metodologías monumentales o Heavy Metodologías. Sin embargo, son muchas las áreas en las cuales este tipo de desarrollo no se condice con las exigencias del problema.

Por otra parte, pese al logro de la comunidad internacional de ingeniería de software de aceptar finalmente una notación estándar como lo es UML y su posterior inserción en un gran proceso de desarrollo de software(Rational Unified Procesos) –aun cuando existan intereses económicos detrás, existen muchos detractores que se oponen a la aceptación de dichos métodos monumentales sobre la base de que hacen más burocrático y lento el desarrollo software y que este tipo de desarrollo es un proceso centrado en las personas y en sus interrelaciones, y no entre las personas y las máquinas.


A pesar de las continuas críticas que las metodologías  sufren, son usadas por muchas grandes empresas y se han utilizado en grandes sistemas lo que hace prever que estas metodologías han llegado para quedarse


Comentarios

Entradas populares de este blog

Cuadro Comparativo Scrum,Xp y Rup

Generaciones sobre las Metodologías