Em um mundo ideal, acho que você lança uma nova compilação e surpresa! Nada muda. Isso ocorre porque todos os seus novos recursos estão atrás de interruptores que são desligados.
Após a implantação, você verifica se o seu serviço de lançamento ainda funciona, os telefones não estão mais tocando (a menos que você queira telefonar), etc. Quando você volta a uma operação estável conhecida, começa a ativar e verificar seus recursos recém-implantados.
Agora, sua resposta: como você gostaria de trabalhar em uma equipe onde estar de plantão é praticamente um acéfalo e nossos usuários nos amam porque nossos sites e serviços são estáveis?
Essa é a equipe em que quero trabalhar.
Você pode parar de ler aqui, se quiser.
Colocar tudo por trás de um interruptor de recurso parece que pode levar ao código de espaguete em qualquer lugar. Se você usa a IoC e pode selecionar entre vNow / vNext / vPrevious, tudo se resume a manter sua configuração. Sim, mais check-ins, sim mais classes (componentV1, componentV2, componentV3, etc.), mas você realmente tem um sistema mais estável? Quão? vNext é instável? Volte para o vNow com sua torre de controle. Já faz uma semana e o vNow tem um bug sutil? A mesma coisa - volte ao vPrevious com a mesma facilidade.
Sem problemas, sem preocupações, sem sono perdido, sem estresse.
Este não é um sonho. Eu costumava trabalhar lá. Gostaria de poder vender isso para minha equipe atual.