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 um comentário

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:

In the first post of this series, I explained how to produce an inverted index using C#. In the second...
Criar uma visualização para o fluxo de trabalho é uma das primeiras recomendações do Kanban e tem uma série de...
No modelo C4, o diagrama de contexto descreve, com um nível de abstração bem elevado, um sistema de software indicando...
  Este post foi originalmente publicado em meu linkedin. Aqui, revisado e ampliado. Conclui a leitura de um livro fascinante...
Software em funcionamento é mais relevante que documentação abrangente. Concordo com esse princípio expresso no manifesto ágil. Entretanto, acho que...
When designing systems that need to scale you always need to remember that using better resources could help you to...