O último projeto foi o designer de software. Todo o desenvolvimento foi no exterior. Fomos bem sucedidos. Então esse processo pode funcionar.
Produzi muita documentação, mas não foi de forma alguma abrangente e nem passo a passo, nem detalhei nomes de classes, nomes de funções etc. Por exemplo, produzi diagramas de sequência, casos de uso, fluxos de trabalho, sistema e integração diragramas, bem como uma documentação de projeto mais detalhada, conforme necessário.
Realmente depende de quanto você confia no desenvolvimento offshore. Confio que minha equipe offshore seja desenvolvedora competente. Dito isso, eu forneci orientação geral, mas dei a eles margem de manobra que a equipe offshore achou agradavelmente satisfatória. No passado, eles eram mais microgerenciados. Em certas situações, eu os orientaria usando os padrões de design conforme necessário. Também realizei revisões e análises de código regularmente sobre o código que eles escreveram e recomendaria esforços de refatoração ou limpeza. Além disso, como parte da equipe sofreu acidentes com veículos de recreio, acabei codificando algumas das histórias durante a implementação, pois acabamos tendo poucos recursos.
Além disso, acho que esse processo realmente é bem-sucedido apenas com a força de seus líderes técnicos no projeto e com a comunicação entre negócios, designer, leads e desenvolvedores. Passamos muito tempo analisando cada recurso e história e garantimos que os recursos / leads offshore fossem bem versados sobre quais eram os requisitos. Se eles não estiverem fazendo perguntas durante a revisão do artigo / matéria, espere alguns problemas. Além disso, o trabalho não foi considerado completo até haver aprovação comercial. Isso tornou todos responsáveis, pois tudo foi rastreado em uma ferramenta que gerenciava o desenvolvimento ágil.
Como uma das outras respostas já mencionou, o processo de desenvolvimento incluiu padrões de nomenclatura (regras de re-compartilhamento incorporadas), cobertura de caso de teste (usou TDD, zombando etc.), portanto, se houver um bom processo e procedimento de codificação, aumentará suas chances de um projeto bem-sucedido.