RailsConf’09: Pandemia de conhecimento
Terça-feira, 12 de maio de 2009 por Erich MachadoO 3o. dia da RailsConf (2o. dia de palestras) foi um dia muito agitado. Tivemos palestras de grandes nomes do desenvolvimento de software, como Neal Ford e Robert Martin.
A palestra do Neal Ford e seu colega, Paul Gross, foi muito interessante. É impressionante ver como eles conseguiram administrar bem o (curto) tempo que tiveram e passar a mensagem de forma eficiente. Em um evento como esses uma boa parte dos palestrantes acaba perdendo um pouco do foco e tenta passar mais informação do que o que cabe na agenda.
Eles falaram de um grande projeto realizado pela consultoria em que trabalham, ThoughtWorks, e sobre as coisas que aprenderam com ele.
Aqui vão alguns conselhos:
- Lute para manter sua suíte de testes rápida.
- Invente coisas novas sempre que precisar.
- Escreva testes inteligentes (eles quiseram dizer que o teste tem que ter um propósito maior do que simplesmente adicionar cobertura ao código).
- Escale sua infra-estrutura de desenvolvimento da mesma forma com que você escala a sua infra-estrutura de produção.
- Evite fazer design adiantado. Faça apenas do que precisa ser implementado no momento.
- Adicione complexidade gradualmente.
- Não use banco de dados como fila de mensagens (principalmente porque isso pode deixar o DBA muito bravo).
- Defina bem quais são as regras e os limites do seu projeto, por exemplo, em que situações será permitido utilizar mocks e stubs para realizar testes.
- Divirtam-se
Para manter a velocidade dos testes funcionais eles utilizaram e recomendam o DeepTest. Para os testes de aceitação em grande escala, utilizaram o Selenium Grid.
Além das recomendações, a dupla também compartilhou as suas impressões com relação ao trabalho em equipe e sobre tecnologia. Sobre trabalhar em equipe:
- Software tem mais a ver com comunicação do que com tecnologia.
- Ter a equipe trabalhando junto, no mesmo local, é muito bom.
- Programação pareada é excelente.
Neal Ford disparou uma piadinha dizendo que “programação pareada dissemina conhecimento mais rápido do que a gripe suína” (a palestra foi bastante descontraída).
Além disso, com relação a lidar com tecnologia:
- Escalar é difícil, não importa qual tecnologia se esteja utilizando.
- Rails pode escalar! (isso não é mais novidade para a comunidade, mas é importante reforçar)
- Atualizar o sistema é difícil. Para eles, isso significou arcar com o custo de 6 semanas de um desenvolvedor para migrar do Rails 1.2.3 para o 2.2.
A palestra teve muito mais conselhos e exemplos, alguns usando a analogia do jogo de “papel, pedra e tesoura”. Os slides estão disponíveis aqui para quem quiser conferir.
