BIBLIOTECA VIRTUAL de Derecho, Economía y Ciencias Sociales


SELECCIÓN DE METODOLOGÍAS DE DESARROLLO PARA APLICACIONES WEB EN LA FACULTAD DE INFORMÁTICA DE LA UNIVERSIDAD DE CIENFUEGOS

Karenny Brito Acuña


Esta página muestra parte del texto pero sin formato.

Puede bajarse el libro completo en PDF comprimido ZIP (148 páginas, 1.89 Mb) pulsando aquí

 

 

I.2. Investigaciones realizadas en el campo de las metodologías de desarrollo de software.

Una parte importante de la ingeniería de software es el desarrollo de metodologías. Es por ello que la investigación acerca de las mismas, y por consiguiente su utilización, está tomando auge en el mundo de la ingeniería de software de hoy. Han sido muchos los esfuerzos que se han encaminado al estudio de los métodos y técnicas para lograr una aplicación más eficiente de las metodologías y tener en correspondencia sistemas de mayor calidad con la documentación necesaria en perfecto orden y en el tiempo requerido.

I.2.1 Las metodologías de desarrollo en el contexto mundial

Internacionalmente se realizan numerosos estudios sobre las metodologías de desarrollo de software que han sido reflejados en artículos científicos, a continuación se hace un análisis de algunos de ellos.

En el artículo “Métodos de desarrollo de software: el desafío pendiente de la estandarización” [6] se plantea que una metodología impone un proceso disciplinado sobre el desarrollo de software con el objetivo de hacerlo más predecible y eficiente, por tanto, define un camino reproducible para obtener resultados confiables. Es considerado por el autor que una metodología define una representación que permite facilitar la manipulación de modelos, y la comunicación e intercambio de información entre todas las partes involucradas en la construcción de un sistema.

En el artículo “Balanceo de Metodologías Orientadas al Plan y Ágiles Herramientas para la Selección y Adaptación” [7] se plantea que la experiencia ha demostrado que los proyectos exitosos son aquellos que son administrados siguiendo una serie de procesos que permiten organizar y luego controlar el proyecto, considerando válido destacar que aquellos procesos que no sigan estos lineamientos corren un alto riesgo de fracasar. Además se coincide con el autor de este artículo cuando expresa que el profesional se ve envuelto en una discusión en la que muchos plantean sus opiniones como verdades indiscutibles, y en la que la decisión de qué metodología utilizar, parece ser un acto de fe antes que una evaluación de alternativas técnicas, con sus costos, beneficios y riesgos asociados. Es necesario destacar que los métodos son importantes, pero no se debe perder de vista que el éxito del proyecto depende más de la comunicación efectiva con los interesados, el manejo de las expectativas, el valor generado para el negocio y las personas que participan en el proyecto.

En el artículo “La incertidumbre y la ingeniería de software” [8] plantea que la mayor crítica que han tenido las metodologías surgidas alrededor de 1960 es que son burocráticas, es decir, se debe invertir una cantidad significativa del tiempo del proyecto en perseguir objetivos paralelos impuestos, lo cual hace que se reduzca el tiempo efectivo para cumplir con el objetivo real: construir software. No obstante, hay quienes afirman que el fracaso del llamado “edificio metodológico de la ingeniería de software temprana” se debe a que se apoya en una premisa alejada de la realidad del universo, especialmente del universo software, donde se supuso que la incertidumbre era erradicable, siendo inevitable. [9]

En el artículo “Metodologías Ágiles en el Desarrollo de Software” [10] se presenta resumidamente el contexto en el que surgen las metodologías ágiles, según el cual el término ágil comienza a emplearse para caracterizar metodologías luego de una reunión celebrada en Utah-EEUU en febrero de 2001, se dice que fue en esa reunión donde un grupo de 17 expertos esbozaron los valores y principios que deberían permitir a los equipos desarrollar software rápidamente y respondiendo a los cambios que puedan surgir a lo largo del proyecto. Pero según otro artículo publicado por Ailin Orjuela Duarte y Mauricio Rojas titulado “Las Metodologías de Desarrollo Ágil como una Oportunidad para la Ingeniería de Software Educativo” [11] fue realizada otra reunión en marzo de 2001, la cual fue convocada por Kent Beck donde se acuñó el término “Métodos Ágiles” para definir a los métodos que estaban surgiendo como alternativa a las metodologías formales a las que se consideraba “pesada” y rígida por su carácter normativo y fuerte dependencia de planificaciones detalladas previas al desarrollo. Los integrantes de esta reunión resumieron los principios sobre los que se basan los métodos alternativos en cuatro postulados, lo que ha quedado denominado como Manifiesto Ágil. Plantea además este artículo que las metodologías de desarrollo ágil son más orientadas a procesos de pocas semanas y con bajos niveles de formalización en la documentación requerida, es decir, proyectos pequeños.

En el artículo, “Del Manifiesto Ágil sus Valores y Principios” [5] se presenta de manera general la evolución de las metodologías para el desarrollo de software, haciéndose una breve reseña histórica del surgimiento de la computación, expresa además que las metodologías ágiles resuelven los problemas surgidos posteriormente a la masificación del uso del computador personal dado que las expectativas y necesidades se hicieron más frecuentes; pero la autora del presente trabajo opina que las metodologías ágiles resuelven el problema surgido en la aplicación de las metodologías tradicionales, que traen aparejadas una demora considerable teniendo en cuenta la documentación que genera y lo engorroso de su aplicación, pero son, sin dudas, una buena opción para aquellos proyectos complejos y de gran tamaño, logrando ser efectivas donde por lo general se exige un alto grado de ceremonia en el proceso, garantizando además tener la documentación necesaria para tal magnitud. Para los proyectos pequeños es conveniente aplicar una metodología ágil que agiliza el proceso, genera solo los documentos necesarios y por consiguiente disminuye el tiempo de realización del mismo.

Plantea que con el surgimiento de las metodologías ágiles el concepto de etapa se desvanece dando paso a la idea de actividades. Estas pueden ser organizadas a comodidad del equipo de trabajo, en paquetes pequeños conservando las mismas labores e identidad de las etapas concebidas en las metodologías tradicionales.

En el articulo “Metodologías tradicionales vs. Metodologías ágiles” [12] se detallan los dos grandes enfoques, las primeras están pensadas para el uso exhaustivo de documentación durante todo el ciclo del proyecto mientras que las segundas ponen vital importancia en la capacidad de respuesta a los cambios, la confianza en las habilidades del equipo y al mantener una buena relación con el cliente. Plantea además que las metodologías ágiles se deberían aplicar en proyectos donde exista mucha incertidumbre, el entorno es volátil y los requisitos no se conocen con exactitud, mientras que las metodologías tradicionales obligan al cliente a tomar las decisiones al inicio del proyecto. Vale la pena acotar que estas metodologías están orientadas especialmente a proyectos pequeños, para los que constituyen una solución a la medida, aportando una elevada simplificación, que a pesar de ello no renuncia a las prácticas esenciales para asegurar la calidad del producto.

Este artículo ofrece una guía dejando libertad de elección para el lector el poder juzgar y elegir la mejor metodología que se adapte a su equipo de desarrollo.

En el artículo “Metodologías ágiles: la ventaja competitiva de estar preparado para tomar decisiones los más tarde posible y cambiarlas en cualquier momento” [13] se plantea que la adopción de metodologías ágiles supone una ventaja competitiva, tanto para el cliente como para la empresa de desarrollo, en proyectos donde exista mucha incertidumbre. Para las empresas de servicios profesionales las metodologías ágiles ofrecen una manera razonable de gestionar la incertidumbre en la estimación de los proyectos permitiendo brindar el mejor servicio posible al cliente. Además las metodologías tradicionales no están preparadas para el cambio por lo que no ofrecen una buena solución cuando el proyecto se realiza en un entorno volátil como la mayoría de los entornos en la actualidad. Además obligan al cliente a tomar decisiones al principio que en futuro pueden variar, lo que sería costoso cuando aplicamos estas metodologías pues mientras más tarde sea el cambio mayor parte del proceso se deberá realizar nuevamente para responder a la necesidad del cliente de cambiar un decisión antes tomada.

En el artículo “Metodologías ágiles para el desarrollo de software: eXtreme Programming (XP)” [14] se plantea que las características de los proyectos para los cuales las metodologías ágiles han sido especialmente pensadas se ajustan a un amplio rango de proyectos industriales de desarrollo de software; aquellos en los cuales los equipos de desarrollo son pequeños, con plazos reducidos, requisitos volátiles, y/o basados en nuevas tecnologías. Se considera por tanto que son metodologías recomendables para proyectos que se desarrollan en entornos muy cambiantes donde los requerimientos del cliente pueden variar desde el comienzo del mismo hasta casi el final del software.

En el artículo “Procesos Ágiles en el Desarrollo de Aplicaciones Web” [15] se considera que el modelo de proceso más adecuado para el desarrollo de software es un proceso iterativo e incremental, puesto que a diferencia de otros modelos de proceso, como por ejemplo el modelo en cascada, permite la obtención de diversas versiones del producto software antes de la entrega final del mismo y la depuración y validación progresiva del mismo, lo que sin duda redundará en un software más satisfactorio para usuarios y cliente. Además y según indica Conallen [16], con este tipo de proceso es posible añadir o modificar requisitos que no han sido detectados con anterioridad.

Se han realizado investigaciones de las metodologías de desarrollo de software también con el objetivo de contribuir en el perfeccionamiento los sistemas de enseñanza en el mundo, llevándose a cabo estudios relacionados con las metodologías a aplicar en un proyecto determinado, que tributan en muchos casos a la asignatura de Ingeniería de software. Un ejemplo es el artículo “Modelo para la exposición de la materia de ingeniería de software I” [17] donde se expone que debido al crecimiento exponencial de la demanda de software son necesarias técnicas y tecnología eficientes de Ingeniería de Software para resolver los múltiples problemas que se derivan de las aplicaciones en donde se desarrollan sistemas. Es válido destacar que la Ingeniería de Software tiene como principal objetivo servir como base para la producción de software de calidad, lo cual se logra definiendo el proceso del software, que comprende las actividades involucradas en la producción del software. Expresa también el trabajo que cuando utilizan las metodologías lo que se obtiene son clientes satisfechos con el resultado, y desarrolladores aún más satisfechos. Se considera sin embargo, que muchas veces no se toma en cuenta el utilizar una metodología adecuada, sobre todo cuando se trata de proyectos pequeños de dos o tres meses de duración.


Grupo EUMEDNET de la Universidad de Málaga Mensajes cristianos

Venta, Reparación y Liberación de Teléfonos Móviles
Enciclopedia Virtual
Biblioteca Virtual
Servicios