Deploys lentos causam reuniões
- O design de software é um exercício de relacionamentos interpessoais. O mesmo vale para outras habilidades usadas no desenvolvimento de software.
- A reclamação de que há tantas reuniões a ponto de não conseguir fazer deploy do código pode ocorrer por causa da limitação de capacidade de deploy.
- Chuck Rossi observou no Facebook que o número de mudanças que pode ser tratado em um único deploy é fixo. Se quisermos mais mudanças, precisamos de mais deploys.
- O Facebook aumentou a velocidade de deploy nos últimos cinco anos de semanal para diária e, em seguida, para três vezes ao dia, enquanto o ciclo de deploy de apps móveis foi reduzido de 6 para 4 e depois 2 semanas.
- “Mudanças por deploy” é uma métrica inflexível: melhorias são possíveis, mas levam tempo. Quando o número de mudanças ultrapassa o limite atual, é preciso reduzir a quantidade de mudanças.
- Aumentar a sobrecarga organizacional inicia um ciclo de feedback positivo: menos trabalho -> mais pressão -> mais erros -> menos mudanças por deploy -> mais sobrecarga -> menos trabalho.
- Para processar mais mudanças, é preciso aumentar a capacidade de deploy. Isso pode ser feito reduzindo o ciclo de deploy ou aumentando as mudanças por deploy.
- As tentativas de reduzir a sobrecarga acabam, em última análise, se traduzindo em reuniões. Isso impede a tentativa de fazer deploy de código em excesso.
Software Design: Tidy First?
- O design de software é um exercício de relacionamentos interpessoais. Melhorar o domínio técnico é uma forma de melhorar relacionamentos.
2 comentários
Achei muito boa essa opinião.
Opinião do Hacker News
Melhorar os testes e características organizacionais para reduzir o risco de implantação é importante, mas não é a única abordagem
Tentando explicar o conceito de "alfabetização em software"
Decidiu-se focar em recuperação depois que o tempo de teste no pipeline de CI ficou longo
As organizações podem atrapalhar melhorias de implantação
Há aumento de testes por medo de mudanças grandes
Pergunta sobre por que o CloudFormation é lento
Microsserviços permitem escalar horizontalmente a frequência de implantação
O desempenho de software, ou seja, o desempenho humano, é importante
Implantações rápidas provocam reuniões de resposta a incidentes