Você provavelmente desejará obter um servidor de desenvolvimento e, de preferência, um ambiente de teste também. Ninguém deve passar do local para a produção, exceto pelo site pessoal. Seu processo de implantação deve suportar apenas dev-> staging-> prod. Você provavelmente quer alguém responsável por assinar novos lançamentos - dependendo da organização, isso pode ser um líder de projeto, um controle de qualidade dedicado ou um dever que gira a cada semana (com um lembrete tangível, por exemplo, apenas a pessoa com o brinquedo macio da semana chega a empurrar). No entanto, converse com sua equipe primeiro para obter o buy-in (veja abaixo).
Quero que esse comportamento seja punido de alguma forma ou o torne desagradável, tanto quanto possível.
Você pode ter seu conjunto de testes (você tem um desses, certo?) Inclui uma verificação que determina se você está em um servidor de produção e, se houver, envia a todos no escritório um e-mail dizendo Looks like $username is testing on prod, watch out
. Talvez envergonhar publicamente seu colega seria desagradável. Ou você pode criar restrições técnicas, como proibir IP sua equipe de ver prod (que você pode levantar, mas precisa justificar).
Eu não recomendo, porém, você pareceria o problema, não a pessoa que está testando o produto e você pode se tornar muito impopular com as pessoas da equipe que não se importam.
Certamente o que você realmente deseja não é que esse comportamento seja punido, mas que ele pare ?
Eu os forcei a usar [...]
É ótimo que você esteja advogando melhorias no fluxo de trabalho, mas parece que você não pensa muito em seus colegas e / ou não tem o apoio total deles. Isso provavelmente resultará em colegas interagindo de maneira meio aquecida com o fluxo de trabalho, fazendo o mínimo necessário para inserir código na produção e não seguindo realmente o espírito do fluxo de trabalho, o que significará mais tempo gasto na limpeza. E quando você gasta cada vez mais tempo limpando os resultados de uma interação inadequada com o fluxo de trabalho (porque ninguém mais se importa, certo?), Todos os outros questionam o próprio fluxo de trabalho.
Então comece com uma conversa.
Descubra por que isso está acontecendo (a máquina do seu colega não é tão boa para testes? O seu colega está incerto com ramificações de recursos ou preso em uma mentalidade svn em que commit e push são iguais?), Explique por que é um problema para você o código não testado em dev / staging / prod e veja se você pode fazer algo para mudar o porquê disso acontecer (é mais provável que seu colega faça o que você deseja se você acabou de tornar mais agradável testar localmente do que se você apenas os repreendeu).
Se você não conseguir resolvê-lo e isso realmente resultar em uma diferença de opinião, agende uma discussão em toda a equipe em sua próxima reunião retrospectiva, veja o que seus colegas fazem e pensam. Faça o seu caso, mas ouça o consenso. Talvez sua equipe afirme que não há problema em testar correções de texto localmente, e você só tem uma regra de que nenhum recurso importante é testado no desenvolvedor. Anote na reunião e leia o que você decide coletivamente sobre o que é permitido em cada um dos ambientes. Defina uma data em alguns meses para revisá-la, talvez em retrospectiva.