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 comprender 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 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 comprende realmente el negocio y qué / por qué está haciendo esta tarea. Esto puede estar bien si la especificación es realmente detallada, pero cuando no lo es o cuando el autor ha olvidado un caso de uso, es bastante difícil para el desarrollador encontrar una solución.
Por otro lado, capacitar a cada desarrollador en todos los aspectos comerciales puede ser muy largo y difícil.
¿Deberíamos darle más importancia a la especificación detallada (pero como sabemos, no existe una especificación perfecta) o deberíamos capacitar a todos los desarrolladores para que comprendan el dominio comercial?
EDITAR: tenga en cuenta en su respuesta que la empresa podría usar desarrolladores externos y que una formación para todo el dominio puede demorar aproximadamente 2 semanas