Si los clientes están contentos, estás haciendo algo bien. Mucha gente disfruta de los hot dogs sin saber cómo están hechos ...
Si la aplicación es una buena solución al problema pero le preocupa que la base sea defectuosa, descubra cómo mejorar las cosas de manera incremental y elabore un plan para implementar esas mejoras a medida que actualiza el producto. Incremental es la clave: si tiene ganas de reescribir partes enteras, su gerente va a decir con razón que no es razonable. Lo perfecto puede ser enemigo de lo bueno. Busque la historia de jwz de cómo Netscape dejó que IE tomara la delantera porque "tuvieron que" reescribir Navigator.
Si la interfaz de usuario de la aplicación es un desastre, los clientes pueden estar contentos porque la están comparando con "la forma difícil" e incluso un programa con errores puede ser mucho mejor que eso. Lo está comparando con un ideal que puede imaginar debido a sus antecedentes y habilidades. Nuevamente, considere cómo puede mejorar las cosas de manera incremental y proponga eso como parte del plan.
No dejes de preocuparte: quieres que tu trabajo sea lo mejor posible. Pero también recuerde que es el cliente el que paga sus facturas, y usted está escribiendo software para ellos, no usted.