O documento descreve a evolução de um fórum de discussão de 9 anos para uma nova versão. Após tentativas frustradas de adaptação de software existente ou evolução gradual, a equipe decidiu criar uma nova versão do zero focando no mínimo viável, entregas contínuas e feedback rápido dos usuários.
9. evolução de código pouco
a pouco é possível?
9 anos
PQ É DIFICIL EVOLUIR?
10. pq é difícil evoluir?
1. funcionalidade distante do foco
2. falta de testes
3. ausência dos criadores
4. mudanças chateiam usuários
5. pq as decisões foram tomadas?
6. gap de anos desde a
última feature nova
fs/
gs
11. versão nova do ZERO
9 anos => não dava mais
para evoluir aos poucos
fs
28. problemas
• i18n espalhada
• linguagem desconhecida para a equipe
• código espagueti
• desenvolvido por um único autor
• problemas clássicos de engenharia que não
foram cuidados antes
fs
61. ações
muita gente pareando muito tempo
nível de experiência diferente (troca de experiências)
+ da metade tinha - de 1 ano de experiência
fs
bastante revisão de código
68. deploy contínuo
ambiente de produção
teste de end-to-end
scripts de deploy
até hoje: +1 deploy por dia, só 2 bugs graves
fs
69. lançamento
aberto
usuários que querem se aventurar colaboram
quem não quer se aventurar, não reclama
encontra mais bugs, fica mais estável
feedback rápido
melhora usabilidade
criar usuários fiéis
fs
gs
70. misc da fase 2
iterações continuaram surpreendendo
prática de deploy contínuo somente quando necessária
menos pareamento
71. em beta
encontramos problema de performance
otimização de performance somente quando necessária
até esse instante sem testes ligados a performance
há monitoramento (newrelic)
fs