Trabajo para una empresa para la que el dominio es realmente difícil de entender porque es de alta tecnología en electrónica, pero esto es aplicable a cualquier desarrollo de software en un dominio complejo.
La aplicación en la que trabajo muestra mucha información, gráficos y métricas que son difíciles de entender sin experiencia en el dominio. El desarrollador utiliza una especificación para describir lo que debe hacer el software, como especificar que un gráfico en particular debe mostrar este tipo de métricas y esta métrica es la siguiente fórmula aritmética.
De esta manera, el desarrollador no entiende realmente el negocio y qué o por qué está haciendo esta tarea. Esto puede estar bien si la especificación es realmente detallada, pero cuando no lo está o cuando el autor ha olvidado un caso de uso, es bastante difícil para el desarrollador encontrar una solución.
Por otra parte, capacitar a todos los desarrolladores en todos los aspectos comerciales puede ser muy largo y difícil.
¿Deberíamos dar más importancia a la especificación detallada (pero como sabemos, la especificación perfecta no existe) o debemos capacitar a todos los desarrolladores para que comprendan el dominio empresarial?
EDITAR: tenga en cuenta en su respuesta que la empresa podría usar desarrolladores externos y que la formación de todo el dominio puede durar aproximadamente 2 semanas