Je travaille pour une société de développement de logiciels où le travail de développement nous a été abandonné. L'équipe à terre s'occupe du soutien et parle directement aux clients. Nous ne parlons jamais directement aux clients, nous parlons simplement aux gens de l'équipe à terre, qui parlent directement aux clients.
Lorsque les exigences viennent, l'équipe à terre parle aux clients et établit les documents d'exigence et nous informe. Nous réalisons des documents de conception après avoir étudié les exigences (nous suivons le modèle traditionnel en cascade).
Mais il y a un problème dans tout le processus: personne dans l'équipe off-shore ou on-shore ne comprend parfaitement les fonctionnalités de l'application. Nous savons que c'est une grande application Web complexe qui gère le traitement complexe des commandes, la gestion des catalogues, la gestion des campagnes et d'autres activités. Nous avons du mal avec le document de conception car les exigences ne seraient pas claires. Il va ensuite dans une série de questions / réponses entre l'équipe à terre, l'équipe à terre et les clients. On nous disait souvent de comprendre les fonctionnalités du code. Mais ce n'est généralement pas possible car la base de code est énorme et même la compréhension d'un élément de menu simple prend des jours, voire des semaines. Nous avons essayé de dire aux clients de nous donner le transfert de connaissancessur l'application mais en vain. Notre responsable nous disait souvent de commencer à coder même si le document de conception n'est pas complet ou si les exigences ne sont pas claires. Nous commencerions par coder la partie des exigences qui semble claire et attendons le reste.
Cela retarderait généralement le déploiement d'un mois. Dans les cas extrêmes, nous aurions de très faibles erreurs dans le développement et la production, mais les clients diraient que ce n'est pas ce qu'ils ont demandé. Cela lancerait un jeu de blâme et une série de demandes de changement et nous finirions par développer quelque chose de très différent.
Ma question est de savoir comment feriez-vous du travail de développement si vous ne connaissez pas pleinement les fonctionnalités de l'application?
MISE À JOUR
La méthodologie de développement ce n'est pas vraiment mon choix et je ne suis pas le chef d'équipe. C'est comme ça que ça a commencé. J'ai essayé de parler aux gens des avantages de l'agilité, mais en vain. De plus, je ne pense pas que mon équipe ait l'état d'esprit nécessaire pour travailler dans un environnement agile.