miércoles, 22 de septiembre de 2010

DESARROLLO RÁPIDO DE SOFTWARE

Actualmente los negocios operan en un entorno global que cambia rápidamente. Tienen que responder a nuevas oportunidades y mercados, condiciones económicas cambiantes y la aparición de productos y servicios competidores. Actualmente el desarrollo y entrega rápidos son a menudo los requerimientos más críticos de los sistemas de software.

Están diseñados para producir software útil de forma rápida. Generalmente, son procesos interactivos en los que se entrelazan la especificación, el diseño, el desarrollo y las pruebas.

Aunque existen muchos enfoques para el desarrollo rápido de software, comparten las mismas características fundamentales:

·         Los procesos de especificación, diseño e implementación son concurrentes. No existe una especificación del sistema detallada, y la documentación del diseño se minimiza o es generada automáticamente por el entorno de programación utilizando para implementar el sistema.

·         El sistema se desarrolla en una serie de incrementos. Los usuarios finales del sistema participan en la especificación y evaluación de cada incremento posterior del sistema.

·         A menudo se desarrollan las interfaces de usuario del sistema utilizando un sistema de desarrollo interactivo que permite que el diseño de la interfaz se cree rápidamente dibujando y colando iconos en la interfaz.

El desarrollo incremental, implica producir y entregar el software en incrementos más que en un paquete único. Cada interacción del proceso produce un nuevo incremento del software.
Las dos ventajas principales son:

·         Entrega acelerada de los servicios del cliente.
·         Compromiso del cliente con el sistema.

Sin embargo, puede haber verdaderos problemas con este enfoque, particularmente en las grandes compañías con procedimientos bastantes rígidos y en organizaciones donde el desarrollo del software normalmente se subcontrata con un contratista exterior. Los principales problemas son:

1.    Problemas de administración. Los sistemas desarrollados incrementalmente cambian tan rápido que no es rentable producir una gran cantidad de documentación del sistema.

2.    Problemas contractuales. Se basa en la especificación del sistema. Cuando no existe tal especificación, puede ser difícil diseñar un contrato para el desarrollo del sistema.

3.    Problema de validación. La verificación y la validación están pensadas para demostrar que el sistema cumple su especificación. Los procesos de desarrollo interactivo intentan minimizar la documentación y entrelazan la especificación y el desarrollo. Por lo tanto la validación independiente de los sistemas desarrollados incrementalmente es difícil.

4.    Problemas de mantenimiento. Esto significa que cualquiera, aparte de los desarrolladores originales, puede tener dificultades para entender el software.

No hay comentarios:

Publicar un comentario