Entropia e Desenvolvimento de Software

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.

Compartilhe este insight:

Uma resposta

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Elemar Júnior

Sou fundador e CEO da EximiaCo e atuo como tech trusted advisor ajudando diversas empresas a gerar mais resultados através da tecnologia.

Elemar Júnior

Sou fundador e CEO da EximiaCo e atuo como tech trusted advisor ajudando diversas empresas a gerar mais resultados através da tecnologia.

Mais insights para o seu negócio

Veja mais alguns estudos e reflexões que podem gerar alguns insights para o seu negócio:

Decidi aprender a programar com R. Aqui está algo que escrevi. ## defining a function makeCacheMatrix <- function(x = matrix())...
Um servidor de identidades é um artefato de sofware que centraliza os dados de usuários, bem como o processo para...
Agora em fevereiro, depois de 18 meses, fechei meu ciclo como CTO na Guiando para integrar o conselho consultivo da...
07 de julho de 2016, aproximadamente 8:30 – Eu iria palestrar no TDC de São Paulo naquele dia. Aterrizamos em...
Sometimes we want to write functions that may not always return a result. In these cases we can use the...
No último post, solicitei uma explicação para o resultado da execução do código que segue: using System; using System.Threading.Tasks; using...