Estou interessado em histórias em que a burocracia do escritório teve efeito direto no resultado final da qualidade do código .
Por exemplo, um amigo acabou de me dizer que em seu local de trabalho anterior o sistema de controle de versão era tão volumoso que os programadores não tinham permissão para criar novos "módulos" (diretórios raiz na árvore de origem) sem pedir permissão aos deuses do VCS. O resultado foi que os programadores não estavam dispostos a passar pela etapa burocrática extra e, em vez de componentes adequados de seus serviços, acabaram empilhando funcionalidades não relacionadas sobre os módulos existentes, mesmo quando a funcionalidade estava remotamente relacionada à definição atual do módulo ou ao nome do módulo foi caminho no passado. (para não mencionar a renomeação de um módulo ...)
Estou interessado em histórias semelhantes de escritório, operacional ou qualquer outra burocracia que, eventualmente, talvez não intencionalmente, afetasse a qualidade do software
fonte
Respostas:
Não acho que a burocracia tenha tanto efeito na qualidade do código quanto a dinâmica pessoal e a política do escritório. Burocracia tem a ver com processo. Quando um processo existente é realizado de forma inadequada (ou explorado negativamente ... veja mais abaixo), ele pode afetar negativamente a capacidade de entrega ou reagir a mudanças repentinas. A falta de processo, no entanto, terá um impacto certo e significativo na qualidade do código. Ou, para ser mais preciso, um processo que não governa a qualidade do código (também interpretado como falta de processo de qualidade do código) afeta a qualidade do código.
Ou seja, não é a burocracia propriamente dita, mas os buracos específicos da QA relacionados à garantia de qualidade que afetam a qualidade do código quando explorados (acidental ou nefastamente).
A dinâmica pessoal e a política do escritório, no entanto, são muito mais culpadas pelo mau código. A dinâmica pessoal envolve a falta de ética profissional em primeiro lugar. Na verdade, não compreendo o argumento de que as pessoas escrevem códigos incorretos porque não sabem melhor ou não foram treinadas adequadamente . Eu já vi pessoas sem diplomas relacionados a CS escrevendo código decente. É um estado de espírito e uma questão pessoal de ser organizado e meticuloso.
A política do escritório desempenha um papel ainda mais terrível. Chefes que incentivam o não pensar, apenas codificam o mantra (embora haja momentos em que precisamos codificar, enviar e limpar os corpos posteriormente); desenvolvedores que insistem em entregar o que eles acham que é o código perfeito, mesmo que tirar algo da porta agora seja essencial; revisores de código que são buracos **; guerras de cubículos e coisas assim. Essas coisas exacerbam dinâmicas pessoais problemáticas. A combinação de ambos se infiltra em qualquer rachadura no processo (a burocracia) ou na falta dela, causando um colapso na garantia de qualidade do código.
Buracos na burocracia poderiam ser resolvidos se houver uma cultura de revisões pós-morte e melhoria contínua. No entanto, dinâmicas pessoais negativas e políticas destrutivas de escritório impedem que essas correções ocorram, perpetuando os problemas existentes (incluindo aqueles relacionados à qualidade do código).
A burocracia por si só raramente é a culpada pela má qualidade do código. Na verdade, eu diria que a qualidade do código e a burocracia são afetadas negativamente pela dinâmica pessoal negativa e pela política do escritório.
fonte
Parei de trabalhar em alguns módulos específicos no projeto porque o revisor de código era um Smart A $$
fonte
Em um projeto recente, as pessoas de qualidade tinham muitos requisitos em relação aos testes formais de unidade (rastreabilidade, regras de codificação, revisões formais, ...). Os codificadores não escrevem mais testes de unidade, eles apenas depuram seu código. Essa é a mesma tarefa que acabou de renomear, leva aos mesmos resultados técnicos, mas sem o aborrecimento administrativo.
fonte