{"id":58663,"date":"2023-11-10T19:14:37","date_gmt":"2023-11-10T10:14:37","guid":{"rendered":"https:\/\/monolith.law\/pt\/?p=58663"},"modified":"2023-11-21T19:13:51","modified_gmt":"2023-11-21T10:13:51","slug":"the-transition-from-the-oldsystem","status":"publish","type":"post","link":"https:\/\/monolith.law\/pt\/it\/the-transition-from-the-oldsystem","title":{"rendered":"Problemas legais associados \u00e0 transi\u00e7\u00e3o de sistemas antigos em desenvolvimento de sistemas"},"content":{"rendered":"\n<p>Criar um novo sistema de TI para uso empresarial \u00e9 uma tarefa t\u00edpica de um engenheiro de TI. No entanto, quando falamos em &#8220;criar um novo sistema&#8221;, muitas vezes isso tamb\u00e9m implica &#8220;abolir o sistema que estava a ser usado at\u00e9 agora&#8221;. Neste artigo, vamos abordar o projeto de desenvolvimento de um novo sistema a partir da perspetiva da &#8220;aboli\u00e7\u00e3o do sistema antigo&#8221; e discutir as v\u00e1rias quest\u00f5es legais associadas a este processo.<\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_53 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/monolith.law\/pt\/it\/the-transition-from-the-oldsystem\/#O_que_significa_a_transicao_para_um_novo_sistema\" title=\"O que significa a transi\u00e7\u00e3o para um novo sistema\">O que significa a transi\u00e7\u00e3o para um novo sistema<\/a><ul class='ez-toc-list-level-3'><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/monolith.law\/pt\/it\/the-transition-from-the-oldsystem\/#A_vida_util_de_um_sistema_de_TI_nao_e_eterna\" title=\"A vida \u00fatil de um sistema de TI n\u00e3o \u00e9 eterna\">A vida \u00fatil de um sistema de TI n\u00e3o \u00e9 eterna<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/monolith.law\/pt\/it\/the-transition-from-the-oldsystem\/#O_desenvolvimento_do_novo_sistema_avanca_juntamente_com_a_abolicao_do_sistema_antigo\" title=\"O desenvolvimento do novo sistema avan\u00e7a juntamente com a aboli\u00e7\u00e3o do sistema antigo\">O desenvolvimento do novo sistema avan\u00e7a juntamente com a aboli\u00e7\u00e3o do sistema antigo<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/monolith.law\/pt\/it\/the-transition-from-the-oldsystem\/#Quais_sao_os_passos_para_a_transicao_para_um_novo_sistema\" title=\"Quais s\u00e3o os passos para a transi\u00e7\u00e3o para um novo sistema?\">Quais s\u00e3o os passos para a transi\u00e7\u00e3o para um novo sistema?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/monolith.law\/pt\/it\/the-transition-from-the-oldsystem\/#A_transicao_para_um_novo_sistema_e_dificil_devido_a_necessidade_de_clarificar_os_papeis_dos_utilizadores_e_fornecedores\" title=\"A transi\u00e7\u00e3o para um novo sistema \u00e9 dif\u00edcil devido \u00e0 necessidade de clarificar os pap\u00e9is dos utilizadores e fornecedores\">A transi\u00e7\u00e3o para um novo sistema \u00e9 dif\u00edcil devido \u00e0 necessidade de clarificar os pap\u00e9is dos utilizadores e fornecedores<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/monolith.law\/pt\/it\/the-transition-from-the-oldsystem\/#Precedentes_judiciais_relacionados_com_a_transicao_para_novos_sistemas\" title=\"Precedentes judiciais relacionados com a transi\u00e7\u00e3o para novos sistemas\">Precedentes judiciais relacionados com a transi\u00e7\u00e3o para novos sistemas<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/monolith.law\/pt\/it\/the-transition-from-the-oldsystem\/#Resumo\" title=\"Resumo\">Resumo<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"O_que_significa_a_transicao_para_um_novo_sistema\"><\/span>O que significa a transi\u00e7\u00e3o para um novo sistema<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"A_vida_util_de_um_sistema_de_TI_nao_e_eterna\"><\/span>A vida \u00fatil de um sistema de TI n\u00e3o \u00e9 eterna<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Um sistema de TI usado numa empresa n\u00e3o \u00e9 algo que, uma vez criado, possa ser usado continuamente para sempre. Al\u00e9m disso, n\u00e3o \u00e9 necessariamente bom continuar a usar algo antigo indefinidamente. Embora haja varia\u00e7\u00f5es dependendo da empresa e do uso do sistema, como uma regra geral, existe uma tend\u00eancia para a decis\u00e3o de gest\u00e3o de que \u00e9 melhor renovar para algo novo depois de usar um sistema por cerca de 10 anos.<\/p>\n\n\n\n<p>Em 10 anos, o desempenho dos computadores dispon\u00edveis no mercado muda drasticamente. Por exemplo, um programa que n\u00e3o era vi\u00e1vel de implementar devido a restri\u00e7\u00f5es como a velocidade de processamento do computador h\u00e1 10 anos (embora seja um design simples e excelente do ponto de vista humano) pode agora ser implementado. Al\u00e9m disso, se voc\u00ea tem usado algo continuamente por 10 anos desde que foi criado, o fluxo de trabalho do neg\u00f3cio da empresa e as regras internas podem ter mudado bastante durante esse tempo. O c\u00f3digo que foi implementado posteriormente para responder \u00e0s mudan\u00e7as no ambiente de gest\u00e3o interno e externo da empresa pode ter se tornado t\u00e3o complexo e intrincado que n\u00e3o pode ser reconhecido a partir do lado da tela. Neste ponto, mesmo que os usu\u00e1rios queiram adicionar fun\u00e7\u00f5es, pode chegar a um ponto onde a implementa\u00e7\u00e3o adicional \u00e9 imposs\u00edvel do ponto de vista do desenvolvedor.<\/p>\n\n\n\n<p>Os sistemas antigos podem gradualmente gerar muito &#8220;trabalho manual&#8221; para os engenheiros de TI (como a emiss\u00e3o de consultas para extrair dados individualmente). Ironicamente, o pr\u00f3prio sistema, \u00e0 medida que envelhece, come\u00e7a a &#8220;personalizar&#8221; o trabalho. Quando se tenta implementar medidas de &#8220;sistematiza\u00e7\u00e3o&#8221; para tarefas relacionadas ao sistema que se tornaram muito personalizadas devido ao envelhecimento, surge um projeto para o desenvolvimento de um &#8220;novo sistema para a transi\u00e7\u00e3o do sistema antigo&#8221;.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"O_desenvolvimento_do_novo_sistema_avanca_juntamente_com_a_abolicao_do_sistema_antigo\"><\/span>O desenvolvimento do novo sistema avan\u00e7a juntamente com a aboli\u00e7\u00e3o do sistema antigo<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Como mencionado anteriormente, muitos projetos de desenvolvimento de sistemas (embora nem todos) envolvem a transi\u00e7\u00e3o do sistema antigo para o novo. Muitas vezes, o pr\u00f3prio sistema muda de forma descont\u00ednua num determinado dia.<\/p>\n\n\n\n<p>Contudo, o progresso do trabalho di\u00e1rio deve ser cont\u00ednuo, do passado para o presente e do presente para o futuro. Enquanto se armazena os dados necess\u00e1rios do passado, o progresso do trabalho atual n\u00e3o deve ser interrompido, e muitas vezes existem v\u00e1rios desafios associados \u00e0 transi\u00e7\u00e3o para um novo sistema, como a apresenta\u00e7\u00e3o de um conceito superior de &#8220;sistematiza\u00e7\u00e3o&#8221; para o futuro. Devido \u00e0 combina\u00e7\u00e3o destas circunst\u00e2ncias, o desenvolvimento de novos sistemas e as opera\u00e7\u00f5es e manuten\u00e7\u00e3o de sistemas existentes est\u00e3o complexamente interligados, e podem surgir situa\u00e7\u00f5es em que se tornam insepar\u00e1veis.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Quais_sao_os_passos_para_a_transicao_para_um_novo_sistema\"><\/span>Quais s\u00e3o os passos para a transi\u00e7\u00e3o para um novo sistema?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/monolith.law\/wp-content\/uploads\/2019\/07\/pixta_25686103_M-1024x634.jpg\" alt=\"\" class=\"wp-image-2758\" \/><figcaption class=\"wp-element-caption\">Quais s\u00e3o os passos importantes na transi\u00e7\u00e3o de um sistema antigo para um novo?<\/figcaption><\/figure>\n\n\n\n<p>Ao fazer a transi\u00e7\u00e3o de um sistema antigo para um novo, \u00e9 especialmente importante garantir que os dados sejam transferidos corretamente. Os passos para a transfer\u00eancia de dados geralmente seguem o seguinte procedimento:<\/p>\n\n\n\n<ol>\n<li>Identificar quais dados armazenados no sistema antigo devem ser transferidos para o novo sistema \u2192 Deve-se esclarecer quais dados devem ser facilmente pesquis\u00e1veis a partir do ecr\u00e3 do novo sistema, e quais dados, embora n\u00e3o precisem ser pesquis\u00e1veis a partir do ecr\u00e3, devem ser recuper\u00e1veis conforme necess\u00e1rio (por exemplo, para auditorias).<\/li>\n\n\n\n<li>Exportar os dados identificados no passo 1 que devem ser importados para o novo sistema, em formatos como CSV.<\/li>\n\n\n\n<li>Importar os dados extra\u00eddos no passo 2 para o novo sistema.<\/li>\n\n\n\n<li>Verificar se os dados importados no passo 3 est\u00e3o a ser refletidos no novo sistema e confirmar se a transfer\u00eancia foi realizada corretamente. \u2192 Os resultados da verifica\u00e7\u00e3o da transfer\u00eancia correta s\u00e3o normalmente documentados atrav\u00e9s de ecr\u00e3s de exibi\u00e7\u00e3o ou impress\u00f5es de relat\u00f3rios (o chamado processo de teste).<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"A_transicao_para_um_novo_sistema_e_dificil_devido_a_necessidade_de_clarificar_os_papeis_dos_utilizadores_e_fornecedores\"><\/span>A transi\u00e7\u00e3o para um novo sistema \u00e9 dif\u00edcil devido \u00e0 necessidade de clarificar os pap\u00e9is dos utilizadores e fornecedores<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Numa das etapas da migra\u00e7\u00e3o de dados mencionada anteriormente, um problema comum \u00e9 determinar at\u00e9 que ponto o lado do utilizador deve considerar isso como um problema interno e mant\u00ea-lo sob controlo. Al\u00e9m disso, para uma vis\u00e3o geral das &#8220;obriga\u00e7\u00f5es de coopera\u00e7\u00e3o do utilizador&#8221; em projetos de desenvolvimento de sistemas em geral, n\u00e3o apenas na migra\u00e7\u00e3o de dados, consulte o artigo abaixo.<\/p>\n\n\n\n<p><a href=\"https:\/\/monolith.law\/corporate\/user-obligatory-cooperation\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/monolith.law\/corporate\/user-obligatory-cooperation[ja]<\/a><\/p>\n\n\n\n<p>Em termos gerais, num projeto de desenvolvimento de sistemas, \u00e9 verdade que o fornecedor muitas vezes tem uma vantagem sobre o utilizador em termos de conhecimento especializado para o desenvolvimento do sistema (ou, mais precisamente, muitas vezes \u00e9 por isso que lhe \u00e9 atribu\u00edda a tarefa). No entanto, por outro lado, muitas vezes s\u00f3 o lado do utilizador pode discutir como deve ser o &#8220;estado ideal&#8221; do seu sistema.<\/p>\n\n\n\n<p>Com isso em mente, pode-se considerar que os passos 1 e 4 mencionados anteriormente s\u00e3o realizados pelo utilizador. Para colocar de outra forma, durante a migra\u00e7\u00e3o de dados, a &#8220;defini\u00e7\u00e3o de requisitos&#8221; dos dados a serem migrados e a &#8220;aceita\u00e7\u00e3o&#8221; de se os dados foram migrados de acordo com os requisitos podem ser organizados como obriga\u00e7\u00f5es de coopera\u00e7\u00e3o do utilizador. Ou, como outra forma de organiza\u00e7\u00e3o, se houver algu\u00e9m no lado do utilizador com um conhecimento profundo do antigo sistema, pode-se considerar que o passo 2 tamb\u00e9m \u00e9 da responsabilidade do utilizador.<\/p>\n\n\n\n<p>Se for poss\u00edvel lidar com o antigo sistema internamente sem ter que recorrer \u00e0 subcontrata\u00e7\u00e3o, pode-se considerar a possibilidade de encomendar apenas o novo sistema ao fornecedor. Neste formato, na migra\u00e7\u00e3o de dados, os pap\u00e9is dos utilizadores e fornecedores podem por vezes tornar-se amb\u00edguos. Al\u00e9m disso, quando o utilizador subcontrata tarefas relacionadas ao desenvolvimento de sistemas ao fornecedor, para uma explica\u00e7\u00e3o geral sobre que tipo de papel \u00e9 esperado do fornecedor e que tipo de obriga\u00e7\u00f5es legais s\u00e3o atribu\u00eddas, consulte tamb\u00e9m o artigo abaixo.<\/p>\n\n\n\n<p><a href=\"https:\/\/monolith.law\/corporate\/project-management-duties\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/monolith.law\/corporate\/project-management-duties[ja]<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Precedentes_judiciais_relacionados_com_a_transicao_para_novos_sistemas\"><\/span>Precedentes judiciais relacionados com a transi\u00e7\u00e3o para novos sistemas<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/monolith.law\/wp-content\/uploads\/2019\/07\/pixta_45516155_M-1024x682.jpg\" alt=\"\" class=\"wp-image-2759\" \/><figcaption class=\"wp-element-caption\">Um projeto de transi\u00e7\u00e3o de sistema pode levar a um processo judicial.<\/figcaption><\/figure>\n\n\n\n<p>Existem casos reais em que problemas surgiram em projetos de desenvolvimento de sistemas com o objetivo de transi\u00e7\u00e3o para um novo sistema, levando a processos judiciais. O caso citado na senten\u00e7a abaixo envolveu falhas no trabalho de transi\u00e7\u00e3o de dados, resultando em inconsist\u00eancias e bugs em v\u00e1rios dados no novo sistema, bem como atrasos na entrega. A quest\u00e3o em disputa era quais obriga\u00e7\u00f5es o fornecedor e o usu\u00e1rio tinham em rela\u00e7\u00e3o ao projeto. Em conclus\u00e3o, o tribunal determinou que o fornecedor tinha a obriga\u00e7\u00e3o de cuidado, conforme descrito abaixo, e reconheceu a viola\u00e7\u00e3o dessa obriga\u00e7\u00e3o por parte do fornecedor.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\">\n<p>O r\u00e9u, no \u00e2mbito do contrato de empreitada para a transi\u00e7\u00e3o de dados, tinha a obriga\u00e7\u00e3o de n\u00e3o apenas transferir os dados do antigo sistema para o novo sistema, mas tamb\u00e9m de operar o novo sistema com os dados transferidos. Em particular, antes de iniciar o trabalho de transi\u00e7\u00e3o de dados, deveria ter investigado e analisado os dados que seriam transferidos do antigo sistema, compreendido a natureza e o estado dos dados, considerado se esses dados poderiam impedir a opera\u00e7\u00e3o do novo sistema ap\u00f3s a transfer\u00eancia, e, se fosse o caso, decidido quando e como corrigir esses dados. Finalmente, tinha a obriga\u00e7\u00e3o de operar o novo sistema com os dados transferidos do antigo sistema.<\/p>\n\n\n\n<p>\u00c9 apropriado reconhecer que, neste caso, tinha a obriga\u00e7\u00e3o de corrigir e resolver inconsist\u00eancias de dados durante a transi\u00e7\u00e3o de dados.<\/p>\n<cite>Decis\u00e3o do Tribunal Distrital de T\u00f3quio, 30 de novembro de 2016 (Ano 28 da era Heisei)<\/cite><\/blockquote>\n\n\n\n<p>Este caso envolveu uma divis\u00e3o de pap\u00e9is em que o usu\u00e1rio assumiu as etapas 1 e 4, e o fornecedor assumiu as etapas 2 e 3. Ou seja, o fornecedor assumiu a extra\u00e7\u00e3o de dados do antigo sistema. Portanto, o tribunal decidiu que, se o fornecedor, como especialista em desenvolvimento de sistemas, assumiu a extra\u00e7\u00e3o de dados, deveria ter considerado antecipadamente se o trabalho de extra\u00e7\u00e3o de dados poderia ser realizado sem problemas.<\/p>\n\n\n\n<p>No entanto, o que teria acontecido se a etapa 2 (ou seja, a extra\u00e7\u00e3o de dados) tivesse sido atribu\u00edda ao usu\u00e1rio e a extra\u00e7\u00e3o de dados tivesse falhado? Neste caso, \u00e9 poss\u00edvel que o usu\u00e1rio pudesse ser acusado de violar a obriga\u00e7\u00e3o de coopera\u00e7\u00e3o por negligenciar a investiga\u00e7\u00e3o preliminar sobre se a extra\u00e7\u00e3o de dados poderia ser realizada sem problemas, resultando em atrasos na entrega.<\/p>\n\n\n\n<p>Al\u00e9m disso, tais decis\u00f5es s\u00e3o baseadas n\u00e3o apenas em contratos, mas tamb\u00e9m em atas de reuni\u00f5es que acompanham o progresso do desenvolvimento do sistema. A import\u00e2ncia das atas de reuni\u00f5es \u00e9 explicada em detalhes no artigo abaixo.<\/p>\n\n\n\n<p><a href=\"https:\/\/monolith.law\/corporate\/the-minutes-in-system-development\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/monolith.law\/corporate\/the-minutes-in-system-development[ja]<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Resumo\"><\/span>Resumo<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Um projeto de desenvolvimento de sistema implica que tanto o lado do usu\u00e1rio quanto o do fornecedor assumam muitas obriga\u00e7\u00f5es, avan\u00e7ando enquanto mant\u00eam uma comunica\u00e7\u00e3o cuidadosa. Portanto, mesmo nos casos judiciais mencionados anteriormente, apenas uma pequena mudan\u00e7a nas condi\u00e7\u00f5es pr\u00e9vias pode facilmente reverter a responsabilidade para qualquer lado, seja o usu\u00e1rio ou o fornecedor.<\/p>\n\n\n\n<p>Considerando a possibilidade de um sistema conter uma quantidade enorme de dados e mecanismos complexos, que n\u00e3o podem ser imaginados a partir da apar\u00eancia da interface, e a possibilidade de uma pequena diferen\u00e7a nas premissas alterar significativamente o resultado do julgamento judicial, pode-se dizer que \u00e9 importante gerir de forma abrangente os riscos do projeto de desenvolvimento do novo sistema, juntamente com a elimina\u00e7\u00e3o do sistema antigo.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Criar um novo sistema de TI para uso empresarial \u00e9 uma tarefa t\u00edpica de um engenheiro de TI. No entanto, quando falamos em &#8220;criar um novo sistema&#8221;, muitas vezes isso tamb\u00e9m implica &#8220; [&hellip;]<\/p>\n","protected":false},"author":32,"featured_media":59128,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16],"tags":[19,31],"acf":[],"_links":{"self":[{"href":"https:\/\/monolith.law\/pt\/wp-json\/wp\/v2\/posts\/58663"}],"collection":[{"href":"https:\/\/monolith.law\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/monolith.law\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/monolith.law\/pt\/wp-json\/wp\/v2\/users\/32"}],"replies":[{"embeddable":true,"href":"https:\/\/monolith.law\/pt\/wp-json\/wp\/v2\/comments?post=58663"}],"version-history":[{"count":1,"href":"https:\/\/monolith.law\/pt\/wp-json\/wp\/v2\/posts\/58663\/revisions"}],"predecessor-version":[{"id":59129,"href":"https:\/\/monolith.law\/pt\/wp-json\/wp\/v2\/posts\/58663\/revisions\/59129"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/monolith.law\/pt\/wp-json\/wp\/v2\/media\/59128"}],"wp:attachment":[{"href":"https:\/\/monolith.law\/pt\/wp-json\/wp\/v2\/media?parent=58663"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/monolith.law\/pt\/wp-json\/wp\/v2\/categories?post=58663"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/monolith.law\/pt\/wp-json\/wp\/v2\/tags?post=58663"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}