Entropia é um conceito oriundo da física que trata da quantidade de “desordem” em um sistema. As leis da termodinâmica garantem que o nível entropia do universo tende ao máximo. (Perceba que não sou especialista em física. Logo, as chances de eu haver certa imprecisão aqui são absurdamente altas. Se tiver alguma correção que perceber necessária, me ajudará muito compartilhando com todos nos comentários).
O curioso é que as leis da física parecem se aplicar perfeitamente ao desenvolvimento de software. Ou seja, a tendência, em toda aplicação é que, com o tempo, o nível de desordem aumente. Em outras palavras, apenas manter a qualidade de um software já exige esforço significativo. [tweet]Se não houver “esforço consciente” para manter a qualidade do software (perceba que não falo em melhorias), com o tempo, ela irá piorar. [/tweet]
Em minha experiência, o primeiro movimento para combater a entropia no desenvolvimento do software é a definição do que consideramos ser mais importante. Em seguida, devemos estabelecer de métricas que nos permitam monitorar essa característica. Se valorizamos performance, precisamos ter métricas claras de performance. Consumo de memória? Legibilidade do código? Estabilidade? Segurança? Enfim…
Com métricas bem definidas, precisamos estabelecer uma “rotina de acompanhamento”. Ou seja, precisamos nos certificar de que estamos coletando e observando essas métricas de forma cuidadosa e criteriosa. Aqui, boas ferramentas podem fazer toda a diferença. Embora não me oponha a operações manuais (afinal, manual é melhor que nada), recomendo fortemente que a coleta aconteça de forma automática.
Com o tempo, as métricas vão nos apontar deterioramento. Nesse momento, é hora de fazer alguma revisão para colocar “o projeto nos trilhos” novamente.
Lembra-se: Só melhoramos o que gerenciamos. Só gerenciamos o que medimos.
Posso te ajudar a definir métricas e a selecionar ferramentas. Me contate se precisar.
Uma resposta
Simples e objetivo!
Parabéns.