21 abril 2014

Procesos agiles Web

En palabras de Cáceres y Marcos, en el artículo escrito el año 2001 titulado “Procesos agiles para el desarrollo de aplicaciones Web”, la aparición de aplicaciones y sitios Web proporciona la explotación de otros mercados y servicios antes impensables como el comercio electrónico, la enseñanza virtual, etc., y esto conlleva un importante crecimiento en el desarrollo del software sobre dicha tecnología. Ahora bien, desde el punto de vista de la ingeniería del software es importante dotar de los mecanismos adecuados, para que la realización de este tipo de aplicaciones satisfaga las necesidades tanto de los usuarios como de los clientes que contratan el desarrollo de este tipo de aplicaciones. Pero actualmente no existe una metodología universalmente aceptada, que sea utilizado como guía adecuada para el proceso de desarrollo de aplicaciones Web.

En cualquier caso, existen criterios universalmente aceptados acerca de la construcción de un producto software. Por ejemplo, y según afirman Jacobson, Booch y Rumbaugh, en el libro publicado el año 2000 titulado “El proceso unificado de desarrollo del software”, 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 clásico modelo en cascada, permite la obtención de diversas versiones del producto software antes de la entrega final del mismo además de la depuración y validación progresiva del mismo, lo que sin duda redunda en un software más satisfactorio para usuarios y clientes. Además y según indica Conallen, en el libro escrito el año 2000 con el título “Construyendo aplicaciones Web con el Lenguaje de Modelado Unificado”, con este tipo de proceso es posible añadir o modificar requisitos que no han sido detectados con anterioridad. Aún no existe ninguna propuesta universalmente aceptada para el desarrollo Web, pero Fraternali, en el artículo escrito el año 2000 titulado “Herramientas y enfoques para desarrollar aplicaciones Web intensivas de datos”, indica que una posible solución al desarrollo adecuado de aplicaciones Web, sería combinar los ciclos de vida tradicionales con las propuestas de diseño para el desarrollo de aplicaciones hipermedia. De hecho, algunos de los trabajos existentes, relacionados con la tecnología hipermedia y Web, combinan el tratamiento de esas características especiales, con el uso de un modelo de proceso iterativo e incremental, tal como lo explican Lowe and Hall, en el libro publicado el año 1999 titulado “Hipermedia y la Web, un enfoque de ingeniería”. En cualquier caso los métodos clásicos no son adecuados para el desarrollo de aplicaciones Web, puesto que no contemplen determinadas características específicas de este tipo de aplicaciones. Por otra parte, las metodologías tradicionales generalmente imponen un proceso de desarrollo demasiado pesado y burocrático según afirma Fowler, en el artículo escrito el año 2001 titulado “La nueva metodología”, lo que impide un desarrollo ágil y rápido para este tipo de aplicaciones.

De manera tradicional la tendencia en el desarrollo del producto software se ha realizado a través de metodologías que encorsetaban el proceso de desarrollo de manera un tanto rígida que, cada vez más, se demuestra errónea en las actuales características de dinamismo y variabilidad del mercado software. Como indica Boehm, en el artículo escrito el año 2006 titulado “Una vista de la ingeniería del software del siglo veinte y veintiuno”, se tiende hacia el rápido desarrollo de aplicaciones y la vida de los productos se acorta. En este entorno inestable, que tiene como factor inherente el cambio y la evolución rápida y continua, la ventaja competitiva se encuentra en aumentar la productividad y satisfacer las variantes necesidades del cliente en el menor tiempo posible para proporcionar un mayor valor al negocio. Sin embargo, las metodologías convencionales presentan diversos problemas a la hora de abordar un amplio rango de proyectos industriales en este turbulento entorno. Entre estos problemas se pueden destacar los siguientes: Perciben la captura de requisitos del proyecto como una fase previa al desarrollo del mismo que, una vez completada, debe proporcionar una fotografía exacta de qué desea el cliente. Según Boehm, en el libro publicado el año 1981 titulado “Economía de la ingeniería del software”, se trata de evitar a toda costa que se produzcan cambios en el conjunto de requisitos inicial, puesto que a medida que avanza el proyecto resulta más costoso solucionar los errores detectados o introducir modificaciones, y pretenden delegar toda responsabilidad económica en el cliente en caso de que estos cambios de requisitos se produzcan. Por este motivo, se les conoce también como metodologías predictivas. Sin embargo, el esfuerzo, tanto en costo como en tiempo, que supone hacer una captura detallada de todos los requisitos de un proyecto al comienzo del mismo es enorme y rara vez se ve justificado con el resultado obtenido. Además, en muchas ocasiones el cliente no conoce sus propias necesidades con la profundidad suficiente como para definirlas de forma exacta a priori y, a menudo, estas necesidades y sus prioridades varían durante la vida del proyecto. Establecer mecanismos de control es una de las opciones existentes para protegerse de estos cambios, aunque frecuentemente provocan la insatisfacción de los clientes, que perciben el desarrollo del proyecto como algo inflexible que no se adapta a sus necesidades y que si lo hace repercute negativamente en costos añadidos al presupuesto del proyecto.

No hay comentarios:

Publicar un comentario