{"id":11902,"date":"2024-01-08T12:05:39","date_gmt":"2024-01-08T15:05:39","guid":{"rendered":"https:\/\/uds.com.br\/blog\/?p=11902"},"modified":"2024-08-07T13:45:26","modified_gmt":"2024-08-07T16:45:26","slug":"leis-lehman-quais-sao-como-sao-aplicadas","status":"publish","type":"post","link":"https:\/\/uds.com.br\/blog\/leis-lehman-quais-sao-como-sao-aplicadas\/","title":{"rendered":"Quais as 8 Leis de Lehman e como s\u00e3o aplicadas na atualidade?"},"content":{"rendered":"\n<p>As Leis de Lehman s\u00e3o um conjunto de princ\u00edpios que descrevem a evolu\u00e7\u00e3o da Engenharia de Software. Elas foram desenvolvidas por <a href=\"https:\/\/pt.wikipedia.org\/wiki\/Meir_M._Lehman\">Meir Lehman<\/a> e L\u00e1szl\u00f3 B\u00e9ly\u00e1dy na d\u00e9cada de 1970, sendo consideradas um dos fundamentos da \u00e1rea.<\/p>\n\n\n\n<p>Entretanto, com a evolu\u00e7\u00e3o do mercado de software e a cria\u00e7\u00e3o novas abordagens complementares como os <a href=\"https:\/\/uds.com.br\/blog\/metodologia-agil-desenvolvimento-produtos-digitais\/\">M\u00e9todos \u00c1geis<\/a>, as Leis de Lehman foram quase totalmente esquecidas pelos profissionais da \u00e1rea. Mas ser\u00e1 que elas ainda t\u00eam alguma import\u00e2ncia\u00a0 e podem trazer benef\u00edcios ao Desenvolvimento de Software?.<\/p>\n\n\n\n<p>Vamos descobrir. Continue sua leitura!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>As Leis de Lehman: um pioneirismo no s\u00e9culo 20<\/strong><\/h2>\n\n\n\n<p>As 8 Leis de Lehman emergiram da necessidade de definir padr\u00f5es para uma \u00e1rea que se adapta e evolui conforme as demandas e transforma\u00e7\u00f5es do mundo.<\/p>\n\n\n\n<p>Entretanto, quando Meir Lehman as estabeleceu, sua abordagem predominantemente t\u00e9cnica n\u00e3o considerava os aspectos humanos da tecnologia.&nbsp;<\/p>\n\n\n\n<p>Com o posterior avan\u00e7o da \u00e1rea para outras camadas sociais, e o crescimento de solu\u00e7\u00f5es tecnol\u00f3gicas em diversos setores empresariais, a vis\u00e3o de software se voltou ao fator humano, com uma abordagem cada vez mais hol\u00edstica e interativa.<\/p>\n\n\n\n<p>Essa vis\u00e3o contempor\u00e2nea, no entanto, n\u00e3o foi suficiente para excluir a import\u00e2ncia das Leis de Lehman, principalmente considerando seu contexto hist\u00f3rico. Elas foram pioneiras na expans\u00e3o e evolu\u00e7\u00e3o da complexidade de <a href=\"https:\/\/uds.com.br\/desenvolvimento-de-software\/\">Desenvolvimento de Software<\/a>, permitindo que a \u00e1rea continuasse a ser relevante e satisfat\u00f3ria ao longo do tempo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Quais s\u00e3o as 8 Leis de Lehman?<\/strong><\/h2>\n\n\n\n<p><strong><br><\/strong>As Leis Lehman oferecem uma estrutura robusta para entender a complexidade e a natureza evolutiva do software. Ao reconhecer e compreender essas leis, os times de desenvolvimento est\u00e3o melhor equipados para navegar pelos desafios e incertezas inerentes ao ciclo de vida dos sistemas. S\u00e3o elas:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Mudan\u00e7a cont\u00ednua:<\/strong><\/h3>\n\n\n\n<p>Um software precisa se adaptar continuamente. Se n\u00e3o se adaptar, sua utilidade e satisfa\u00e7\u00e3o diminuir\u00e3o com o tempo, \u00e0 medida que o ambiente e as necessidades dos usu\u00e1rios evoluem.<\/p>\n\n\n\n<p>Um sistema operacional, como o Windows ou o macOS, por exemplo, precisa ser constantemente atualizado com novos recursos e corre\u00e7\u00f5es de bugs para atender \u00e0s mudan\u00e7as nas necessidades dos usu\u00e1rios e nas tecnologias dispon\u00edveis.<\/p>\n\n\n\n<p><strong>Leia mais:<\/strong><\/p>\n\n\n<ul class=\"wp-block-latest-posts__list wp-block-latest-posts\"><li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/uds.com.br\/blog\/kiro-steering-files-configuracao\/\">Steering files no Kiro: como ensinar a IA a seguir os padr\u00f5es do seu projeto<\/a><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/uds.com.br\/blog\/kiro-hooks-automacao-desenvolvimento\/\">Kiro Hooks: como automatizar tarefas repetitivas no desenvolvimento<\/a><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/uds.com.br\/blog\/spec-driven-development-kiro\/\">Spec-driven development com Kiro: do requisito ao c\u00f3digo em produ\u00e7\u00e3o<\/a><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/uds.com.br\/blog\/kiro-vs-cursor-vs-github-copilot\/\">Kiro vs Cursor vs GitHub Copilot: qual IDE de IA escolher em 2026?<\/a><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/uds.com.br\/blog\/como-instalar-configurar-kiro-ide\/\">Como instalar e configurar o Kiro IDE: tutorial completo<\/a><\/li>\n<\/ul>\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Complexidade crescente:<\/strong><\/h3>\n\n\n\n<p>Com cada altera\u00e7\u00e3o em um software, sua complexidade tende a aumentar, a menos que esfor\u00e7os espec\u00edficos sejam feitos para contrabalan\u00e7ar esse crescimento. Isso pode levar a um aumento nos custos de manuten\u00e7\u00e3o e desenvolvimento ao longo do tempo.<\/p>\n\n\n\n<p>Por exemplo, um sistema de gerenciamento de relacionamento com clientes (CRM) \u00e9 projetado para atender \u00e0s necessidades de uma ampla gama de clientes. \u00c0 medida que o sistema \u00e9 ampliado para atender a mais clientes, sua complexidade aumenta. Deve-se conter ou manter esse n\u00edvel de complexidade, trabalhando em melhorias simult\u00e2neas que solucionem problemas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. Autorregula\u00e7\u00e3o:<\/strong><\/h3>\n\n\n\n<p>A evolu\u00e7\u00e3o de software tende a ser autorregulada, seguindo padr\u00f5es previs\u00edveis e comportamentos disciplinados, principalmente quando h\u00e1 controles estabelecidos para garantir a conformidade com objetivos organizacionais mais amplos.<\/p>\n\n\n\n<p>Exemplos disso s\u00e3o evolu\u00e7\u00f5es de software desencadeadas por fatores externos, como as mudan\u00e7as nas necessidades dos usu\u00e1rios ou nas tecnologias dispon\u00edveis. H\u00e1 ainda a evolu\u00e7\u00e3o influenciada por fatores internos, como a arquitetura do sistema e a cultura da organiza\u00e7\u00e3o que o desenvolve.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4. Conserva\u00e7\u00e3o da estabilidade organizacional:<\/strong><\/h3>\n\n\n\n<p>Contr\u00e1rio \u00e0s expectativas, a atividade global em um software em evolu\u00e7\u00e3o tende a se estabilizar em um n\u00edvel constante ao longo do tempo, determinado mais pelas necessidades dos usu\u00e1rios do que por decis\u00f5es gerenciais isoladas.<\/p>\n\n\n\n<p>Por exemplo, a equipe de desenvolvimento de software pode ser alterada ao longo do tempo, mas a quantidade de esfor\u00e7o necess\u00e1ria para manter o sistema funcional permanece relativamente est\u00e1vel. Isso ocorre porque a equipe nova deve aprender com a equipe anterior e adotar as pr\u00e1ticas e padr\u00f5es estabelecidos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5. Conserva\u00e7\u00e3o da familiaridade:<\/strong><\/h3>\n\n\n\n<p>Mudan\u00e7as excessivas em um software podem diminuir a familiaridade da equipe com os objetivos do projeto, afetando a efici\u00eancia e a efic\u00e1cia. A taxa de mudan\u00e7a deve ser gerenciada para manter a coes\u00e3o e a compreens\u00e3o entre os membros da equipe.<\/p>\n\n\n\n<p>Essa familiaridade facilita o desenvolvimento e a manuten\u00e7\u00e3o do sistema. Quanto maior a compreens\u00e3o da equipe sobre a estrutura e a evolu\u00e7\u00e3o gradativa de um software, mais propriedade ela tem sobre seu funcionamento.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>6. Crescimento cont\u00ednuo:<\/strong><\/h3>\n\n\n\n<p>Para manter a satisfa\u00e7\u00e3o do usu\u00e1rio, o conte\u00fado funcional de um software precisa ser constantemente expandido ao longo de sua vida \u00fatil, seja por adi\u00e7\u00f5es, corre\u00e7\u00f5es ou melhorias.<\/p>\n\n\n\n<p>Um aplicativo de m\u00eddia social precisa ser constantemente atualizado com novos recursos e conte\u00fado, por exemplo, para se manter satisfazendo as necessidades dos usu\u00e1rios, que mudam continuamente.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>7. Qualidade decrescente:<\/strong><\/h3>\n\n\n\n<p>Sem uma manuten\u00e7\u00e3o e adapta\u00e7\u00e3o rigorosas \u00e0s mudan\u00e7as no ambiente operacional, a qualidade do software tende a declinar ao longo do tempo, \u00e0 medida que as expectativas dos usu\u00e1rios e as demandas do mercado evoluem.<\/p>\n\n\n\n<p>Um software que n\u00e3o \u00e9 mantido adequadamente pode se tornar vulner\u00e1vel a ataques de seguran\u00e7a, por exemplo. Isso p\u00f5e usu\u00e1rios em risco e a pr\u00f3pria manuten\u00e7\u00e3o da solu\u00e7\u00e3o.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>8. Sistema de retorno:<\/strong><\/h3>\n\n\n\n<p>O Desenvolvimento de Software \u00e9 um processo c\u00edclico de feedback, onde cada vers\u00e3o gera novas informa\u00e7\u00f5es e ajustes. O fracasso em adaptar-se a esse feedback pode levar ao desuso e \u00e0 substitui\u00e7\u00e3o do software.<\/p>\n\n\n\n<p>Exemplos disso \u00e9 como os dados de uso do software s\u00e3o coletados e analisados \u200b\u200bpara identificar \u00e1reas que podem ser melhoradas. Essa an\u00e1lise \u00e9 usada para orientar a evolu\u00e7\u00e3o do software.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>O surgimento do M\u00e9todo \u00c1gil<\/strong><\/h2>\n\n\n\n<p>O <a href=\"https:\/\/uds.com.br\/blog\/manifesto-agil-os-12-principios-para-o-desenvolvimento-agil-de-software\/\">M\u00e9todo \u00c1gil<\/a>, que revolucionou como as equipes desenvolvem software trabalham, surgiu oficialmente no in\u00edcio do s\u00e9culo 21. A necessidade de uma abordagem mais adapt\u00e1vel, colaborativa e centrada no cliente levou \u00e0 formula\u00e7\u00e3o do Manifesto \u00c1gil em 2001, durante uma reuni\u00e3o de dezessete desenvolvedores de software em Utah, nos Estados Unidos.<\/p>\n\n\n\n<p>Esse manifesto foi uma resposta \u00e0s limita\u00e7\u00f5es percebidas nas metodologias tradicionais de Desenvolvimento de Software, que eram frequentemente r\u00edgidas, excessivamente t\u00e9cnicas, burocr\u00e1ticas e n\u00e3o se adaptavam bem \u00e0s mudan\u00e7as r\u00e1pidas do mercado e \u00e0s necessidades dos clientes. Entre elas, as Leis de Lehman.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Enquanto Meir criou um uma abordagem que focou-se em regras t\u00e9cnicas, o Manifesto \u00c1gil criou formas menos r\u00edgidas de avaliar e evoluir no Desenvolvimento de Software, considerando fatores mais complexos e abstratos como comportamentos e experi\u00eancia do usu\u00e1rio.\u00a0<\/strong><\/h4>\n\n\n\n<p>Isso significa que as Leis de Lehman n\u00e3o devem ser consideradas hoje? N\u00e3o necessariamente. Para ambientes de desenvolvimento mais focados em sustenta\u00e7\u00e3o e evolu\u00e7\u00e3o, as 8 Leis servem como boas pr\u00e1ticas a serem seguidas, ainda que com olhar cr\u00edtico. Compreender a sua limita\u00e7\u00e3o \u00e9 tamb\u00e9m uma forma de utilizar o melhor delas e adapt\u00e1-las a cada contexto.<\/p>\n\n\n\n<p>Agora, em ambientes mais din\u00e2micos, de cria\u00e7\u00e3o de novas solu\u00e7\u00f5es digitais que tem como fim o encantamento do usu\u00e1rio, sem d\u00favida os M\u00e9todos \u00c1geis tem melhor adequa\u00e7\u00e3o. Portanto, se quiser saber mais sobre o tema, <a href=\"https:\/\/uds.com.br\/blog\/metodologia-agil-desenvolvimento-produtos-digitais\/\">leia nosso artigo completo!<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>As Leis de Lehman, desenvolvidas na d\u00e9cada de 1970, s\u00e3o princ\u00edpios que descrevem a evolu\u00e7\u00e3o do software, focando em aspectos como mudan\u00e7a cont\u00ednua, complexidade crescente e qualidade decrescente.  Entenda mais a seguir.<\/p>\n","protected":false},"author":36,"featured_media":11903,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[864],"tags":[],"yst_prominent_words":[],"_links":{"self":[{"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/posts\/11902"}],"collection":[{"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/users\/36"}],"replies":[{"embeddable":true,"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/comments?post=11902"}],"version-history":[{"count":0,"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/posts\/11902\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/media\/11903"}],"wp:attachment":[{"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/media?parent=11902"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/categories?post=11902"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/tags?post=11902"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/uds.com.br\/blog\/wp-json\/wp\/v2\/yst_prominent_words?post=11902"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}