¿Por qué los fabricantes de software lanzan software que saben que tiene errores?

No entenderé por qué hay errores en el software, ya que estoy seguro de que esto ha sido respondido. Además, debemos tener en cuenta que el desarrollo y el seguimiento de errores lleva tiempo, por lo que se deben tomar decisiones para liberar software que contenga errores en lugar de nunca liberarlo o hacerlo a un costo prohibitivo.

En general, la decisión de lanzar software con errores conocidos debe tener en cuenta la gravedad del error y debe tenerse en cuenta su difusión.

Un error grave conocido que bloqueará su computadora cada vez que se inicie para cada usuario es obviamente algo a lo que se le dará una prioridad muy alta y nunca debería ver la luz del día.

Puede que valga la pena enviar un error grave conocido que se bloqueará solo para un número muy limitado de usuarios en el inicio (por ejemplo, personas que ejecutan una versión muy antigua de un navegador bastante impopular) incluso si no hay una solución obvia, especialmente si es el momento de Se sabe que corregir este error es muy largo.

Del mismo modo, un error que es menos grave, incluso si afecta a muchas personas, puede desplegarse si el tiempo para solucionarlo es alto o retrasará el lanzamiento más allá de la fecha de lanzamiento.

Y no olvidemos que corregir un error conlleva el costo del desarrollo de otras funciones o retrasos en la entrega del software.

Todos estos factores, el tiempo, el costo, la gravedad de los errores y el impacto deben sopesarse para tratar de ofrecer algo que satisfaga a todos los interesados ​​en una pieza de software.

Algunos programas se lanzan deliberadamente con fallas conocidas. Los mantiene ocupados. Diseñar el software perfecto no tiene ningún valor, ganan más dinero respaldando que vendiéndolo. Si nunca experimentas ningún error, no tienen nada que hacer una vez que se libera. También es casi imposible estar completamente libre de errores, ya que no puede dar cuenta de cada interacción posible que el software realiza con cualquier otro software o hardware. Entonces, las razones principales son que no hay dinero en un software perfecto, y es casi imposible hacer un software perfecto.

Los defectos del software se clasifican según la gravedad. También depende de la criticidad de la aplicación en sí. Para cumplir con los plazos, se permiten algunos defectos conocidos de menor gravedad en el software para que puedan repararse pronto en un lanzamiento de parche, para que no se pierdan los plazos y el software lanzado sea aún funcional.

More Interesting

¿Cuáles son los fundamentos del desarrollo de software?

¿Cuál es la forma recomendada de mantenerse actualizado con las últimas tecnologías, técnicas y herramientas en el desarrollo de software y aplicaciones?

¿Puedo usar Kali para descifrar software?

¿La introducción de herramientas de programación informática más sofisticadas reducirá la necesidad de conjuntos de habilidades de matemáticas e informática para la mayoría de los puestos de TI?

¿Qué califica a alguien para ser gerente de ingeniería?

¿Cuál es el estado del arte en el software de póker? ¿Pueden los mejores algoritmos de póker respaldados por hardware personalizado vencer a los mejores jugadores de póker?

¿Cuáles son los desafíos en los servicios de prueba de software?

¿Cómo colabora su equipo en las pruebas de control de calidad?

¿Cuál es la diferencia principal entre un ingeniero de bases de datos y un desarrollador de backend?

¿Debo dejar mi trabajo porque no estoy obteniendo suficiente conocimiento?

¿Cuáles son algunos mini proyectos en big data que podría hacer con un equipo de dos o tres personas en un mes o dos? Soy un estudiante de tercer año de ingeniería informática de la India.

¿Cuál es el mejor software de sistema de archivos distribuido con el rendimiento más similar al Elastic Block Storage de Amazon?

¿Qué haría que trabajar en Palantir fuera mejor para los FDE?

¿Cuál es el concepto de prueba sin código?

¿Cuál es la diferencia entre una definición de función Scala que utiliza "object myfunction extend (int => int) {def apply (n: int) {…}}" y "def myfunction (n: int) {}"?