Последний проект я был дизайнером программного обеспечения. Все разработки были офшорными. Мы были успешны. Так что этот процесс может работать.
Я сделал много документации, но она ни в коем случае не была всеобъемлющей и ни в коем случае не пошаговой инструкцией или подробным описанием имен классов, имен функций и т. Д. Например, я создал диаграммы последовательности, сценарий использования, рабочие процессы, систему и интеграцию. дираграммы, а также более подробную проектную документацию по мере необходимости.
Это действительно зависит от того, насколько вы доверяете оффшорной разработке. Я доверяю своей оффшорной команде быть компетентными разработчиками. Тем не менее, я дал общее руководство, но дал им свободу действий для реализации, что офшорной команде было приятно. В прошлом они были более микроуправляемыми. В определенных ситуациях я бы руководствовался ими, используя при необходимости шаблоны проектирования. Я также регулярно проводил обзоры и анализ кода, который они написали, и посоветовал рефакторинг или очистку. Кроме того, так как некоторые члены команды попали в аварию с транспортными средствами для отдыха, я заканчивал тем, что кодировал некоторые истории во время реализации, поскольку у нас не хватало некоторых ресурсов.
Кроме того, я думаю, что этот процесс действительно успешен только благодаря вашему техническому руководству (ям) в проекте и общению между бизнесом, дизайнером, руководителями и разработчиками. Мы потратили много времени на изучение каждой функции и истории и убедились, что оффшорные сведения / ресурсы хорошо знакомы с требованиями. Если они не задают вопросы во время обзора функции / истории, тогда ожидайте некоторых проблем. Также работа не считалась завершенной до тех пор, пока не было прекращено бизнес Так что каждый стал ответственным, так как все отслеживалось в инструменте, который управлял гибкой разработкой.
Как уже упоминалось в одном из других ответов, процесс разработки включал в себя стандарты именования (встроенные правила уточнения), охват тестовых примеров (использовались TDD, Mocking и т. Д.), Поэтому, если есть хороший процесс и процедура кодирования, он будет увеличиваться. Ваши шансы на успешный проект.