Ir al contenido

Documat


Resumen de A mature agile approach in web engineering contexts

Carlos Joaquín Torrecilla Salinas

  • En los últimos años la importancia de la Web y los desarrollos Web en la vida de ciudadanos y empresas ha aumentado significativamente. Desde sus inicios, la comunidad investigadora intentó definir aproximaciones metodológicas para los entornos Web. De ese modo, mientras que los sistemas Web eran desarrollados inicialmente sin seguir una aproximación estructurada que pudiera garantizar resultados de calidad, aparecieron diferentes propuestas que ayudaron a establecer la Ingeniería Web como una rama diferenciada dentro de la Ingeniería del Software con líneas de investigación específicas. Podemos por tanto afirmar que los Sistemas Web, aquellos desarrollados para ser publicados y consumidos en Internet, son el sujeto de estudio de la Ingeniería Web, , la cual puede definirse como la aplicación sistemática, cuantificable y estructurada al desarrollo, evolución y mantenimiento de aplicaciones Web. Los sistemas Web se caracterizan, entre otros aspectos, por una aproximación flexible a los requisitos y por la necesidad de ciclos cortos de feedback, con el fin de adaptarse y ajustarse a nuevas necesidades de clientes y usuarios. Además, los Sistemas Web incorporan características especiales como estructuras navegacionales complejas, necesidad de reducir el tiempo de desarrollo y puesta en producción, o la importancia de los requisitos de seguridad y mantenimiento. Aunque algunas de estas características aparecen también en sistemas de otro tipo, es en los entornos Web donde se manifiestan de manera conjunta e intensa. Por otro lado, uno de los principios de las metodologías Ágiles es abrazar el cambio, por lo que las aproximaciones Ágiles podrían ofrecer un marco adecuado para algunas de las características específicas de los sistemas Web Como es sabido, las aproximaciones clásicas a los requisitos, que incluyen una fase inicial de definición e introducción de los mismos, demandan un entorno estable y no cambiante. En general, este no es el caso de los entornos Web, donde los requisitos son fluidos y cambiantes. Por otro lado, la aproximación iterativa incremental a los requisitos propuesta por los métodos Ágiles se podría adecuar mucho mejor a estas necesidades. Desde el comienzo del siglo XXI se ha podido observar una tendencia creciente en el uso de métodos Ágiles en la industria por parte de algunos de los grandes del sector como Microsoft, Amazon o Yahoo. Esta tendencia también tiene lugar en los entornos Web, encontrando incluso artículos que muestran un incremento de la calidad y mejora en los resultados de los proyectos que usan métodos Ágiles . Finalmente, CMMI-DEV (Capability Maturity Model Integration for Development), como parte de la familia CMMI (Capability Maturity Model Integration), proporciona un marco comparativo que permite evaluar el nivel de madurez alcanzado en el desarrollo de software. El hecho de adquirir los niveles de madurez más altos de CMMI suele estar relacionado con mejoras en la calidad de los productos desarrollados. Por tanto, el uso de métodos Ágiles para alcanzar los objetivos propuestos por los diferentes niveles de madurez de CMMI-DEV podría ofrecer a las organizaciones que desarrollan sistemas Web la posibilidad de combinar calidad y madurez con la capacidad de responder rápidamente a los cambios. Tanto CMMI como los métodos Ágiles proponen principios válidos que no han de ser necesariamente incompatibles, aunque alguna vez se hayan visto como tales. Por ejemplo, CMMI se ha catalogado a veces como un proceso pesado, altamente ceremonioso y orientado a la generación de documentación, mientras que los métodos Ágiles se han asociado en algunos casos a falta de estructura o disciplina en comparación con las técnicas clásicas de desarrollo. La posibilidad de usar una aproximación Ágil para que una organización que desarrolla sistemas Web alcance un determinado nivel de madurez CMMI podría eliminar miedos y dudas en clientes y usuarios potenciales, así como ayudar a la institucionalización de los métodos y prácticas Ágiles, mientras que mantendría la capacidad de respuesta y adaptación rápida que estos ofrecen, que son elementos básicos para el desarrollo Web. La investigación llevada a cabo en este trabajo de tesis se centra por tanto en la definición de un marco Ágil que permita a las organizaciones que desarrollan sistemas Web progresar a través de los distintos niveles de madurez de CMMI, sin perder la habilidad de adaptarse a cambios inesperados. Como Scrum y eXtreme Programming (XP) son los métodos Ágiles de mayor implantación, nuestro trabajo comenzará con un “gap analysis” de ambas propuestas frente a los objetivos sugeridos por los diversos niveles de madurez de CMMI-DEV, relacionándolos con las diferentes características específicas de los entornos Web. La idea principal es evaluar si alguna de las dos propuestas puede, por sí misma, ser usada para alcanzar los requisitos de CMMI-DEV. Tras este análisis, y una vez que se hayan identificado los “gaps” entre CMMI-DEV y Scrum/XP, trataremos de destacar, de entre el resto de propuestas Ágiles existentes, alguna otra que permita cubrir las carencias detectadas. La idea es definir un conjunto de técnicas Ágiles que puedan cubrir todos los requisitos de CMMI-DEV para sus diferentes niveles de madurez. Para concluir, intentaremos evaluar la coherencia de este conjunto de prácticas, presentando un marco Ágil consistente y coherente, que denominaremos NDT-Agile, que pueda ser usado como referencia para que organizaciones que desarrollan sistemas Web puedan alcanzar un determinado nivel de madurez de CMMI-DEV. Como conclusión, podemos decir que el objetivo final de este trabajo de tesis es proporcionar una respuesta sistemática a la idea de institucionalizar las propuestas Ágiles para el desarrollo de sistemas Web.


Fundación Dialnet

Mi Documat