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
Publicar un comentario