Одна крупная ИТ контора заказывает у другой крупной софтверной конторы разработку не очень сложной системы, которая должна собирать разного рода события с нескольких проприетарных интерфейсов, чего-то с ними делать и выплёвывать в некоторое количество (других) проприетарных интерфейсов. Без этой системы события идут напрямую, то есть она должна встать в разрыв продуктивного трафика.
У вендора типа какая-то форма скрама, у заказчика внутренней разработки нет. Интерфейсы жёстко специфицированы, тестовую среду построить нельзя физически (но можно написать по спекам заглушки). Пустить исполнителя на продуктивные среды нельзя, потому что таковы политики заказчика.
Формируют две команды - одна на стороне заказчика генерит, описывает и приоритезирует требования, вторая на стороне исполнителя пишет, собственно, систему.
В какой-то момент исполнитель начинает выкатывать релизы каждые N недель. Утыкаются в стандартную процедуру заказчика "окей, вы только что отдемили нечто, давайте его ставить в продуктив. Для этого нам потребуется согласовать работы за месяц, имея на руках подробную инструкцию по установке. Установка будет выполняться силами специалистов третьей компании. Все необходимые артефакты положите вот на этот вот компакт-диск и передайте заказным письмом. Время установки строго ограничено. Если хоть что-то пойдёт не так, производится откат релиза, следующая возможность попробовать - через месяц после повторного согласования, если конечно в следующем месяце не будет заморозки. Если в продуктиве обнаруживается бага, производится откат релиза итд".
И тут компания-исполнитель начинает заказчику рассказывать про CI \ CD, процессы автоматической выкладки и тестирования и прочее. Были ли они поняты? Нет. Существует ли способ подружить два настолько разных процесса? Не знаю, правда не знаю.
Так вроде заглушки ж? Можно ли узнать у Заказчика конфигурацию, на которую он будет ставить релиз? Если да, то что мешает раскрутить такую же конфигурацию у себя, повтыкать вместо других систем заглушки и собрать CI-контур на этом, а с тестированием развёртывания и вовсе CD? На процедуру раскатки это не влияет: берётся крайний дистрибутив, заливается на болванку и отправляется заказным письмом. Суть CD в том, что вероятность, что «что-то пошло не так» в разы снижается.