As 8 leis de Lehman foram o Manifesto do século XX

O século XXI possui o Manifesto Ágil, mas a seguir compartilho as 8 leis da evolução de software criados por Meir Lehman na década de 7o e que chegaram até o final do século revisadas pelo próprio autor. Ele não falava de pessoas, possuía uma abordagem exclusivamente técnica e por 30 anos a Lei de Lehman esteve para o Software do século XX assim como a Lei de Moore (Gordon Moore da Intel) esteve para o hardware (dobraria a densidade de transistores em circuitos a cada 2 anos).

A Lei de Lehman está fazendo 40 anos de idade em uma área como TI, que evoluiu muito a cada ano, mesmo assim, uma fonte histórica de inspiração e bom senso. Meir Lehman nasceu na Alemanha e transferiu-se para a Inglaterra no início da década de 30, trabalhou na IBM entre 1964 e 1972 e publicou o que seria mundialmente conhecido como “Leis de Lehman sobre evolução de software”. A partir de 1974 até o final do século XX ele pesquisou e evoluiu com estes oito pontos sobre sistemas do tipo E ou E-Program.

Sistemas do tipo E ou E-Program são todos aqueles softwares desenvolvidos para resolver problemas do mundo real, operados por pessoas que necessitem dele ou se beneficiem por ele resolver problemas do seu dia-a-dia.. Seus primeiros estudos, ainda na IBM, foram sobre projetos que rodavam no OS-360. Vista como “lei” porque era generalizável e aplicável a muitos contextos, para tomada de decisão, planejamento, desenvolvimento e manutenção de software.

1. Mudança contínua – Um software deve ser continuamente adaptado, senão torna-se aos poucos, cada vez menos satisfatório. A cada alteração no ambiente em que ele roda que exija nele melhorias, não fazê-las o tornarão progressivamente menos satisfatório naquilo para o que foi construído.

2. Complexidade crescente – Se não forem tomadas medidas para reduzir ou manter a complexidade de um software, conforme ele é alterado sua complexidade irá aumentar progressivamente. Deve haver um esforço para reduzir a complexidade final de um sistema enquanto este recebe alterações.

3. Auto regulação – A curva pertinente ao processo de evolução de um software em relação a seus atributos e processos são auto reguláveis e próximos a uma curva normal, subindo até um teto, quando começa a diminuir.

4. Conservação da estabilidade organizacional – A velocidade de atividade global efetiva de um software em evolução deverá se manter invariável durante todo o ciclo de vida deste produto. O mix que é levado em consideração para as tomadas de decisão que levam a evolução de um software tendem a ser constantes.

5. Conservação de familiaridade – Durante a vida útil de um software em evolução, a taxa de mudanças tende a ser proporcional ao domínio que a equipe detém. A taxa de evolução de um software está intimamente ligado ao grau de familiaridade dentre os profissionais que o mantém.

6. Crescimento Contínuo – Todo software deve ter o conteúdo funcional continuamente ampliado durante seu ciclo de vida para manter a satisfação dos seus usuários. O projeto inicial não consegue incluir absolutamente tudo o necessário e progressivamente precisará ser aumentado.

7. Qualidade diminuindo – Os softwares desenvolvidos para resolver problemas do mundo real se depreciam progressivamente se eles não receberem as mudanças necessárias para adaptar-se ao que acontece em seu ambiente operacional durante todo o tempo de seu ciclo de vida útil.

8. Sistema de feedback – Os processos de manutenção e evolução de um software refletem sistemas de feedback em múltiplos níveis, loops e agentes e devem ser assim tratados para manter-se significativos.

Anúncios

2 Respostas para “As 8 leis de Lehman foram o Manifesto do século XX

  1. Pingback: Dívida Técnica, um mal necessário, mas não é um carma | Jorge Horácio "Kotick" Audy

  2. Pingback: ROI, você está calculando isso errado! | Jorge Horácio "Kotick" Audy

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s