Fowler continua mencionando, en el artículo señalado en el párrafo precedente, desgraciadamente debido al exceso de burocracia de las metodologías tradicionales se ha pasado, en la mayoría de los casos, a no utilizar ningún método de trabajo específico y a trabajar “a destajo” con el único y erróneo objetivo de ahorrar tiempo y dinero. Aplicar cierto grado de disciplina ayudará en el proceso de desarrollo y siempre es mejor utilizar un proceso ágil que ninguna otra cosa. Sin embargo, un proceso ágil es adecuado para el desarrollo de cierto tipo de aplicaciones, por lo que no se deberían utilizar estos métodos para cualquier tipo de desarrollo software. Los procesos ágiles son una buena elección cuando se trabaja con requisitos desconocidos o variables. Si no existen requisitos estables, no existe una gran posibilidad de tener un diseño estable y de seguir un proceso totalmente planificado, que no vaya a variar ni en tiempo ni en dinero. En estas situaciones, un proceso adaptativo será mucho más efectivo que un proceso predictivo. Por otra parte, los procesos de desarrollo adaptativos también facilitan la generación rápida de prototipos y de versiones previos a la entrega final, lo cual agradará al cliente. Pero la mayor barrera que habrá que salvar será convencer al cliente de que no existe una planificación y una forma fija de hacer las cosas. En cualquier caso, lo que se garantiza es un menor riesgo ante la posibilidad de cambios en los requisitos. Porque los cambios existen, y los procesos adaptativos permitirán estos cambios lo que en definitiva, garantizará que el producto final sea el deseado por el cliente. Según afirma Booch, en el artículo escrito el año 2001 titulado “Desarrollando el futuro”, todas estas razones son las que hacen que los procesos indicados por las comunidades de Programación Extrema y de Software Libre hayan suscitado tanto interés.
En palabras de Roger Pressman, en el libro escrito el año 2005 titulado “Ingeniería del software: Un enfoque práctico”, las características de sistemas y aplicaciones basadas en la Web influyen enormemente en el proceso de la ingeniería Web. La inmediatez y la evolución continúan dictando un modelo de proceso incremental interactivo, que elabora versiones de aplicaciones Web muy rápidamente. La naturaleza intensiva de red de las aplicaciones en este dominio sugiere una población de usuarios diversa, exigiendo especialmente la obtención y el modelado de los requerimientos, y una arquitectura de aplicación que pueda ser altamente especializada, realizando de esta manera exigencias en el diseño. Dado que las aplicaciones Web suelen ser controladas por el contenido haciendo hincapié en la estética, es probable que las actividades de desarrollo paralelas se planifiquen dentro del proceso de la ingeniería Web y necesiten un equipo de personas tanto técnicas como no. A medida que la evolución de las aplicaciones Web pasa de utilizar recursos estáticos de información controlada por el contenido a utilizar entornos de aplicaciones dinámicas controladas por el usuario, cada vez es más importante la necesidad de aplicar una gestión solida y unos principios de ingeniería. Para conseguir esto, es necesario desarrollar un marco de trabajo de ingeniería Web que acompañe a un modelo de proceso eficaz, popularizado por las actividades4 del marco de trabajo y por las tareas de ingeniería.
Pressman continúa mencionando que el proceso de ingeniería Web comienza con la formulación, que es una actividad que identifica las metas y los objetivos de las aplicaciones Web y establece el ámbito del primer incremento. La planificación estima el costo global del proyecto, evalúa los riesgos asociados con el esfuerzo del desarrollo, y define una planificación del desarrollo bien granulada para el incremento final de la aplicación Web, con una planificación mas toscamente granulada para los incrementos subsiguientes. El análisis establece los requisitos técnicos para las aplicaciones Web e identifica los elementos del contenido que se van a incorporar. También se definen los requisitos del diseño grafico o la estética. La actividad de ingeniería incorpora dos tareas paralelas, el diseño del contenido y la producción, estas son llevadas a cabo por personas no técnicas del equipo de ingeniería Web. El objetivo de estas tareas es diseñar, producir o adquirir todo el contenido de texto, grafico y video que se vayan a integrar en la aplicación Web. Al mismo tiempo, se lleva a cabo un conjunto de tareas de diseño. La generación de páginas es una actividad de construcción que hace mucho uso de las herramientas automatizadas para la creación de las aplicaciones Web. El contenido definido en la actividad de ingeniería se fusiona con los diseños arquitectónicos, de navegación y de la interfaz para elaborar páginas Web ejecutables en HTML, XML y otros lenguajes orientados a procesos como Java. Durante esta actividad también se lleva a cabo la integración con el software intermedio de componentes, es decir CORBA, DCOM o JavaBeans. Las pruebas ejercitan la navegación, intentan descubrir los errores de los applets, guiones y formularios, y ayuda a asegurar que la aplicación Web funcione correctamente en diferentes entornos. Cada incremento producido como parte del proceso de la ingeniería Web se revisa durante la actividad de evaluación de cliente. Es en este punto en donde se solicitan cambios, tienen lugar ampliaciones del ámbito. Estos cambios se integran en la siguiente ruta mediante el flujo incremental del proceso.
No hay comentarios:
Publicar un comentario