Le dernier projet, j'étais concepteur de logiciels. Tout le développement était offshore. Nous avons réussi. Donc, ce processus peut fonctionner.
J'ai produit beaucoup de documentation, mais ce n'était en aucun cas des instructions détaillées et pas à pas ou détaillées jusqu'aux noms de classe, noms de fonctions, etc. Par exemple, j'ai produit des diagrammes de séquence, des cas d'utilisation, des flux de travail, du système et de l'intégration. diragrams, ainsi qu'une documentation de conception plus détaillée si nécessaire.
Cela dépend vraiment de la confiance que vous accordez au développement offshore. Je fais confiance à mon équipe offshore pour être des développeurs compétents. Cela dit, j'ai fourni une orientation globale mais leur ai donné une marge de manœuvre pour la mise en œuvre, ce que l'équipe offshore a trouvé agréablement satisfaisant. Dans le passé, ils étaient plus micro-gérés. Dans certaines situations, je les guiderais en utilisant les modèles de conception selon les besoins. J'ai également effectué régulièrement des révisions et des analyses de code sur le code qu'ils ont écrit et je conseillerais des efforts de refactoring ou de nettoyage. De plus, comme une partie de l'équipe a eu des accidents avec des véhicules récréatifs, j'ai fini par coder certaines histoires pendant la mise en œuvre, car nous avons fini par manquer de ressources.
De plus, je pense que ce processus ne réussit vraiment que grâce à la force de votre (vos) responsable (s) technique (s) du projet et à la communication entre les entreprises, le concepteur, les prospects et les développeurs. Nous avons passé beaucoup de temps à passer en revue chaque fonctionnalité et chaque histoire et nous nous sommes assurés que les prospects / ressources offshore étaient bien informés des exigences. S'ils ne posent pas de questions lors de l'examen de la fonctionnalité / histoire, attendez-vous à des problèmes. De plus, le travail n'était pas considéré comme terminé jusqu'à ce qu'il y ait approbation de l'entreprise. Cela a donc rendu tout le monde responsable puisque tout était suivi dans un outil qui gérait le développement agile.
Comme l'une des autres réponses a déjà fait allusion, le processus de développement comprenait des normes de dénomination (règles de resharper intégrées), la couverture des cas de test (il utilisait TDD, Mocking, etc.) donc s'il y a un bon processus de codage et une bonne procédure en place, il augmentera vos chances de réussir votre projet.