Sí, pero es un trilema clásico.
Útil, sin errores, entregado a tiempo: elige dos.
Por lo tanto, la mayoría del software cae en una de las siguientes categorías.
- ¿Cuáles son las ventajas y desventajas de usar OS X vs Ubuntu para el desarrollo / programación web?
- ¿Existe un servicio web que proporcione tasas de conversión de moneda por hora / día precisas?
- ¿Cuáles son algunos principios fundamentales de diseño y arquitectura de software cuando se construye un servidor / cliente de juegos MMO?
- ¿Cómo es ser programador en Zynga?
- ¿Tiene alguna experiencia en el empleo de desarrolladores que no sean de su país de residencia?
- Útil y sin errores, pero entregado demasiado lento para construir o mantener un negocio. La mayoría del software en esta categoría es material de seguridad crítica pagado por los gobiernos en lugar de los consumidores.
- Útil y entregado a tiempo, pero con errores. La mayoría del software comercial.
- Libre de errores y entregado a tiempo, pero no es útil. Las tareas de clase bien hechas pueden ajustarse a esta descripción, pero por lo demás son poco comunes.
El resto del software, lamentablemente, difiere no por tener los tres atributos sino por tener uno o menos.
PD: Ya existe una clase de profesionales con experiencia en esta área. Se llaman ingenieros de garantía de calidad.
PPS “Capturar todas las excepciones posibles” tiene más que ver con la causa del código defectuoso que con la solución.