desarrollo de software evolutivo utiliza muchas personas que trabajan en las diferentes áreas del código de programación. Esto deja ningún camino claro a dónde y cómo los cambios se están realizando . Un mapa del software a veces no existe adecuadamente, por lo que es difícil de recrear o solucionar problemas de codificación más abajo de la línea. Algunos de los modelos más estructurados de desarrollo de software de dejar un rastro de papel transparente y un sistema de seguimiento, pero a menudo toman más tiempo para cambiar los usuarios deben encontrar el software complicado.
Software mal estructurado
retroalimentación viene en parte de los usuarios , se realizan cambios en el código de software. Estos corregir cualquier problema y hacer que el programa sea más fácil de usar. A medida que el software evoluciona , mientras que los usuarios a encontrar los cambios atractivos , la codificación puede empantanarse con un exceso de información. Correcciones a veces causan problemas imprevistos a la codificación anteriores, y cuando se producen errores , los ingenieros tienen que revisar un número masivo de líneas para encontrar los problemas. Codificación estructurado ayuda a mantener a raya esta manteniendo la codificación de las particularidades juntos. En la codificación de evolución , manteniendo las áreas agrupadas no es siempre una opción con el fin de lograr las correcciones en un plazo razonable de tiempo.
Problemas contractuales o cargos Licencias
< p> el programa continúa desarrollándose con el tiempo , así que ¿en qué momento la compañía de software con un nuevo programa completo? A menudo, las empresas de software celebrar contratos con grandes empresas para garantizar la venta del producto. Pero a medida que el trabajo continúa sucediendo en los programas , las empresas tienen que ser capaces de revender el producto debido a la masiva horas-hombre y los cambios realizados al código. La determinación del valor del nuevo programa se vuelve complejo .
Técnica Glitches
igual que el programa se desarrolla para solucionar problemas , la misma evolución puede causar interferencias en otros ámbitos de la programa . Esto frustra a los usuarios si un cambio corrige un problema menor, pero provoca un problema más grande , con un área que estaba trabajando bien antes. La mayoría de los desarrolladores de ejecutar pruebas beta del software para evitar este tipo de problemas , pero no todos los escenarios pueden ser contabilizados en el proceso de prueba. Algunas de estas fallas puede incluir cómo interactúa el programa con otros programas.