Trabajo para una empresa de desarrollo de software en la que el trabajo de desarrollo nos ha sido enviado. El equipo en tierra maneja el apoyo y habla directamente con los clientes. Nunca hablamos con los clientes directamente, solo hablamos con personas del equipo en tierra, que hablan directamente con los clientes.
Cuando llegan los requisitos, el equipo en tierra habla con los clientes y hace los documentos de requisitos e informanos. Hacemos documentos de diseño después de estudiar los requisitos (seguimos el modelo de cascada tradicional).
Pero hay un problema en todo el proceso: nadie en el equipo off-shore o on-shore entiende completamente la funcionalidad de la aplicación. Solo sabemos que es una gran aplicación web compleja que maneja el procesamiento complejo de pedidos, la gestión de catálogos, la gestión de campañas y otras actividades. Luchamos con el documento de diseño ya que los requisitos no serían claros. Luego entra en una serie de preguntas / respuestas de ida y vuelta entre el equipo en tierra, el equipo en tierra y los clientes. A menudo se nos dice que comprendamos la funcionalidad del código. Pero eso generalmente no es factible ya que la base del código es enorme e incluso comprender un elemento de menú simple lleva días, si no semanas. Intentamos decirles a los clientes que nos den transferencia de conocimientosobre la aplicación pero fue en vano. Nuestro gerente a menudo nos dice que comencemos a codificar incluso si el documento de diseño no está completo o los requisitos no son claros. Comenzaríamos por codificar la parte de los requisitos que parece clara y esperar el resto.
Esto generalmente demoraría el despliegue en un mes. En casos extremos, tendríamos errores muy bajos en el desarrollo y la producción, pero los clientes dirían que no es lo que pidieron. Eso comenzaría un juego de culpa y una serie de solicitudes de cambio y terminaríamos desarrollando algo muy diferente.
Mi pregunta es ¿cómo haría el trabajo de desarrollo si no conoce la funcionalidad de la aplicación por completo?
ACTUALIZAR
La metodología de desarrollo no es realmente mi elección y no soy el líder de mi equipo. Es la forma en que comenzó. Traté de decirle a la gente sobre las ventajas de ágil pero fue en vano. Además, no creo que mi equipo tenga la mentalidad necesaria para trabajar en un entorno ágil.