Archive for 2021
¿Porqué es difícil medir el progreso al desarrollar y darle mantenimiento al software?
Muchos sistemas heredados continúan siendo un apoyo para las funciones básicas en un negocio y son indispensables para éste, conforme pase el tiempo será frecuente que los sistemas de software evolucionen por una o varias de las siguientes razones:
- El software debe adaptarse para que cumpla las necesidades de los nuevos ambientes del cómputo y de la tecnología.
- El software debe ser mejorado para implementar nuevos requerimientos del negocio.
- El software debe ampliarse para que sea operable con otros sistemas o bases de datos modernos.
- La arquitectura del software debe rediseñarse para hacerla viable dentro de un ambiente de redes.
Cuando ocurren estos modos de evolución, debe hacerse la reingeniería del sistema heredado para que sea viable en el futuro.
¿Porqué se gasta tanto tiempo y esfuerzo en el mantenimiento de los programas existentes (software heredado)?
Es imposible lograr que un sistema funcione al 100%, entre más pronto se comience a escribir el código más tiempo tomará hacer que funcione debido a la complejidad del software y la imposibilidad de realizar una prueba exhaustiva sobre el mismo para todas las posibles secuencias de operaciones que los usuarios puedan realizar sobre el sistema.
Un programa que funciona sólo es una parte de una configuración de software que incluye muchos elementos. Son varios los productos terminados (modelos, documentos, planes) que proporcionan la base de la ingeniería exitosa y, lo más importante, que guían el apoyo para el software.
¿Porqué es imposible encontrar todos los errores en el software antes de entregarlo al cliente?
El tamaño y la complejidad del proyecto son los factores más importantes de la duración total. Los siguientes son algunos factores que pueden tener un impacto en el cronograma de un proyecto:
Cambio de requisitos o diseño después de que el proyecto haya comenzado.
Retrasos en el trabajo con terceros, como no recibir documentación técnica, credenciales para probar sistemas o soporte en cuestiones técnicas.
Faltan requisitos o el diseño del sistema no está claro.
Trabajar con nuevas tecnologías.
Corrección de datos erróneos o datos faltantes en una migración de datos.
Parte del trabajo es monitorear estos tipos de riesgo para que puedan ser
identificados tempranamente y mitigados para mantener el proyecto en
marcha.
¿Porqué tarda tanto la elaboración del software?
Es debido a que los requerimientos del software cambian, pero el efecto que los cambios tienen varía según la época en la que se introducen. Cuando se solicitan al principio cambios en los requerimientos (antes de que haya comenzado el diseño o la elaboración de código), el efecto sobre el costo es relativamente pequeño. Sin embargo, conforme pasa el tiempo, el costo aumenta con rapidez: los recursos ya se han comprometido, se ha establecido la estructura del diseño y el cambio ocasiona perturbaciones que exigen recursos adicionales y modificaciones importantes del diseño.
Ademas el desarrollo del software requiere razonamiento y lógica, es por eso que
estos productos de software son complicados al momento de estimar los
costos ya que los desarrolladores cobran por lo que saben y no por el
trabajo que realizan.