- Published on
Lavando a louça do seu software
Se você, em algum momento da sua vida, ficou mais de 2 ou 3 dias sozinho em casa, ou se você mora sozinho, já deve ter passado por momentos de tensão quando viu a pia da cozinha cheia de louça suja, resultantes daquela pizza (que ainda está na geladeira, pronta para apaziguar aquela fome que surge na madrugada).
A pia cheia não inspira vontade, ou confiança alguma, seja para limpar, lavar, guardar ou qualquer outra coisa que precise ser feita. E o pior, a montanha de pratos cria vida e cresce a cada momento.
Eu adquiri o hábito de, sempre após usar alguma louça, ir imediatamente para a pia, lavar, secar e guardar. Pronto, o trabalho não acumula, os riscos de quebrar algo também não. Poxa vida, já estou alí na pia, já estou inserido no contexto, por que deixar de lavar? Sem falar que a manutenção e a verificação da louça(se está bem limpa, por exemplo) se torna mais fácil. Ou estou enganado?
Aonde entra o software nisso? Bom, se pensarmos no processo de software como um todo, existe uma referência que, ao meu ver, se torna muito clara, principalmente na Extreme Programming. Esta, sugere que sempre devemos colocar o sistema em ambiente de produção o mais rápido possível e então lançar novas versões em um ciclo curto[1].
A manutenção, caso necessária, se torna mais fácil e pontual, o tempo de deploy e a adaptação dos usuário diminuem, o desenvolvedor se torna mais confiante para fazer alterações. Enfim, existem uma série de vantagens que apontam para os "small releases". Vale a pena dar uma conferida.
De qualquer forma, a idéia da louça surgiu quando terminei de levar 5 peças em 2 minutos. Bem lavadas, secas e guardadas e pensei que a referência cairia muito bem no contexto de software... Mas parece que existem outras pessoas que pensam de maneira similar, pelo menos quanto a parte da louça.
[1] Beck, K. Extreme Programming Explained. 1st Edition. Addison-Wesley Professional.