Manual do CTO

Lehman’s laws

Os “Drops da EximiaCo” estão disponíveis em algumas das principais plataformas de podcast, incluindo iTunesSpotifyDeezer! Em todo caso, caso seu player não tenha suporte a nenhuma dessas plataformas, poderá usar nosso feed.


Ao longo de décadas, Meir Lehman e László Bélády formularam, propuseram e aprimoraram diversas “leis” que, alegadamente,  “governam” a evolução de sistemas de software. Essas leis ficaram conhecidas como Lehman’s laws.

As “Leis de Lehman” descrevem e ajudam a entender o sensível equilíbrio entre as motivações para a evolução de um software, pela adição de novas features, e as causas para o aumento do lead time para atender demandas do negócio ao longo do tempo.

As duas primeiras “leis” formuladas por eles, em 1974, foram a lei da “mudança contínua” e a lei da “complexidade crescente”. A primeira diz que, ao longo do tempo, um sistema de software precisa ser continuamente adaptado, recebendo novas features, para se manter relevante e satisfatório. A segunda aponta que, enquanto essas “adaptações” são feitas, o software se torna mais complexo, exceto quando existam esforços explicitamente direcionados para mitigar essa complexidade.

As duas leis, deliciosamente evidentes e conflitantes, levam a alguns desdobramentos preocupantes:

É responsabilidade  do CTO garantir que os times de negócio sejam sensíveis  a necessidade de adotar medidas que combatam a complexidade do software. Escolher as alternativas mais eficientes para combater essa complexidade tem impacto determinante para o Velocity e, em tempos de negócios exponenciais, para a manutenção dos negócios. Abordagens ingênuas ampliam potencialmente o problema.

Em Resumo
  • O problema

    As leis de Lehman indicam que todo o software, para se manter relevante, deve passar por adaptações. Entretanto, com o tempo, essas adaptações tornam o software mais complexo, tornando a manutenção mais cara e ampliando os lead times.
  • O insight

    A complexidade deve ser sistematicamente evitada e combatida durante todo o ciclo de vida de qualquer sistema de software. Formas “ingênuas” de combater a complexidade potencialmente ampliam o problema.

Elemar Júnior

Microsoft Regional Director e Microsoft MVP. Atua, há mais de duas décadas, desenvolvendo software e negócios digitais de classe mundial. Teve o privilégio de ajudar a mudar a forma como o Brasil vende, projeta e produz móveis através de software. Hoje, seus interesses técnicos são arquiteturas escaláveis. bancos de dados e ferramentas de integração. Além disso, é fascinado por estratégia e organizações exponenciais.

Talvez você goste também

Carregando posts…

Mais posts da série Manual do CTO

Deixe uma resposta

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