Acabamos de encontrar uma daquelas situações que surgem ocasionalmente quando um desenvolvedor fica doente por alguns dias no meio do projeto.
Havia algumas perguntas sobre se ele havia cometido a versão mais recente de seu código ou se havia algo mais recente em sua máquina local que deveríamos examinar, e tínhamos uma entrega para um cliente pendente, portanto não podíamos esperar por ele voltar.
Um dos outros desenvolvedores fez logon como ele para ver e encontrou uma bagunça de espaços de trabalho, muitos aparentemente dos mesmos projetos, com registros de data e hora que deixavam claro qual deles era "atual" (ele estava prototipando alguns bits nas versões do projeto, exceto o seu "núcleo").
Obviamente, isso é um problema, mas a alternativa (que parece ser um padrão estrito para o modo como cada desenvolvedor trabalha em sua própria máquina para garantir que qualquer outro desenvolvedor possa entender as coisas com um mínimo de esforço) provavelmente quebrará muitos desenvolvedores de fluxos pessoais de trabalho e levam à ineficiência em nível individual.
Não estou falando de padrões para código de check-in, nem mesmo de padrões gerais de desenvolvimento, mas de como um desenvolvedor trabalha localmente, um domínio geralmente considerado (na minha experiência) quase totalmente sob o controle do próprio desenvolvedor.
Então, como você lida com situações como essa? É uma daquelas coisas que simplesmente acontece e você precisa lidar com o preço pago pelos desenvolvedores que podem trabalhar da maneira que melhor lhes convier?
Ou você pede aos desenvolvedores que sigam os padrões nessa área - uso de diretórios específicos, padrões de nomes, anotações em um wiki ou o que seja? E se sim, quais são os seus padrões, quão rigorosos eles são, como você os policia e assim por diante?
Ou há outra solução que estou faltando?
[Suponha, por uma questão de argumento, que o desenvolvedor não possa ser contatado para conversar sobre o que estava fazendo aqui - mesmo se pudesse saber e descrever qual espaço de trabalho é o que, da memória, não será simples e sem falhas e, às vezes, as pessoas realmente podem entre em contato e eu gostaria de uma solução que cubra todas as eventualidades.]
Edit: Eu entendo que passar pela estação de trabalho de alguém é uma má forma (embora seja uma pergunta interessante - e provavelmente fora de tópico - sobre o porquê disso) - e certamente não estou olhando para acesso ilimitado. Pense mais na linha de um padrão em que seus diretórios de código são configurados com um compartilhamento somente leitura - nada pode ser alterado, nada mais pode ser visto e assim por diante.