{"id":4243,"date":"2013-01-13T23:02:22","date_gmt":"2013-01-14T07:02:22","guid":{"rendered":"http:\/\/www.andreanolanusse.com\/pt\/?p=4243"},"modified":"2013-05-01T22:14:42","modified_gmt":"2013-05-02T05:14:42","slug":"migracao-de-sistemas-legado-ou-mal-estruturados-parte-1","status":"publish","type":"post","link":"http:\/\/www.andreanolanusse.com\/pt\/migracao-de-sistemas-legado-ou-mal-estruturados-parte-1\/","title":{"rendered":"Migra\u00e7\u00e3o de sistemas legado ou mal estruturados &#8211; Parte 1"},"content":{"rendered":"<p>Migra\u00e7\u00e3o de sistemas <a href=\"http:\/\/pt.wikipedia.org\/wiki\/Sistema_legado\" target=\"_blank\">legados<\/a> \u00e9 um assunto que pode render horas, dias, semanas ou meses em qualquer empresa, algo que considero normal, pois envolve uma quantidade enorme de vari\u00e1veis e traz grandes desafios. N\u00e3o precisamos ir muito longe para identificar sistemas legado e os desafios para mant\u00ea-lo nos dias de hoje.<\/p>\n<p>Sistemas que cresceram muito r\u00e1pido e em um curto espa\u00e7o de tempo, menos de 1 ano por exemplo, pode n\u00e3o ser considerado legado, entretanto na maioria das vezes este crescimento r\u00e1pido e n\u00e3o planejado n\u00e3o ir\u00e1 suportar o crescimento da empresa a m\u00e9dio e longo. Com isso, o assunto migra\u00e7\u00e3o entra em cena novamente.<\/p>\n<p>Meu objetivo nesta s\u00e9rie de artigos \u00e9 ir a fundo no tema, trazer um pouco da minha experi\u00eancia, sugerir caminhos e alternativas para uma migra\u00e7\u00e3o menos dolorosa, al\u00e9m de recomendar solu\u00e7\u00f5es que ir\u00e3o ajud\u00e1-los. Vale lembrar que n\u00e3o existe receita de bolo e voc\u00eas ver\u00e3o isso aqui, cada caso \u00e9 um caso e ningu\u00e9m melhor do que voc\u00ea para saber dos problemas nas solu\u00e7\u00f5es desenvolvidas por voc\u00ea ou sua empresa. Fa\u00e7a seus coment\u00e1rios ao final do artigo, eles ir\u00e3o agregar e ajudar outros a refletir sobre que caminho tomar na neste processo, al\u00e9m de me ajudar nos pr\u00f3ximos artigos.<\/p>\n<p>Se n\u00e3o \u00e9 f\u00e1cil e sabemos, ent\u00e3o por onde come\u00e7amos?<\/p>\n<h2>Todos tem de estar desarmados<\/h2>\n<p>A primeira coisa a se fazer neste processo \u00e9 entrar desarmado, aberto a mudan\u00e7a, aceitar ideias, cr\u00edticas e sugest\u00f5es, expor o que voc\u00ea pensa e ouvir, ouvir, ouvir e ouvir muito. Todos aqueles envolvidos neste projeto, dever\u00e3o estar conscientes disso e preparados para mudar seu comportamento, a pior coisa neste longo projeto \u00e9 ter um grupo de pessoas remando contra, enquanto todos os outros est\u00e3o remando para frente. Trabalho em equipe ser\u00e1 fundamental, cr\u00edticas, sugest\u00f5es e debates calorosos existir\u00e3o, mas todos tem que estar cientes de que \u00e9 para o melhor do projeto.<\/p>\n<p>Incorporar\u00a0<a href=\"http:\/\/www.andreanolanusse.com\/pt\/introducao-ao-desenvolvimento-agil-de-software\/\">m\u00e9todos \u00e1geis<\/a>\u00a0como SCRUM\u00a0j\u00e1 na fase inicial do projeto pode ser de grande ajuda, as pr\u00e1ticas \u00e1geis enfatizam muito a colabora\u00e7\u00e3o, trabalho equipe, intera\u00e7\u00e3o entre as pessoas, etc. Isso pode come\u00e7ar a estabelecer um ponto de equil\u00edbrio na equipe e refor\u00e7ar de forma continua o trabalho em equipe.<\/p>\n<h2>Por que migrar?<\/h2>\n<p>Fa\u00e7a esta pergunta a si mesmo &#8220;Por que migrar?&#8221;, esque\u00e7a por um instante o famoso ditado &#8220;Time que est\u00e1 ganhando n\u00e3o se mexe&#8221;, ou seja, &#8220;sistema que est\u00e1 funcionando n\u00e3o se mexe&#8221;.<\/p>\n<p>A grande maioria dos sistemas ERP desenvolvidos na d\u00e9cada de 80 e in\u00edcio dos anos 90 adotaram a arquitetura Cliente\/Servidor (Cliente\/Server) e foram desenvolvidos para plataforma Desktop, ao longo do tempo isso foi mudando, a web se tornou uma plataforma mais atrativa e hoje vivemos no mundo dos dispositivos m\u00f3veis. Naquela \u00e9poca muitas solu\u00e7\u00f5es baseadas em Web surgiram, mas o avan\u00e7o da tecnologia foi t\u00e3o r\u00e1pido que essas antigas aplica\u00e7\u00f5es web n\u00e3o foram bem estruturadas, trazendo v\u00e1rios outros problemas. Enfim, integra\u00e7\u00e3o entre plataformas e diversidade de meios de acesso tornou o modelo Cliente\/Servidor obsoleto.<\/p>\n<p>Considere como exemplo sistemas ERPs legado ou outros similares, reflita sobre o cen\u00e1rio mencionado no par\u00e1grafo anterior e traga para sua realidade, seus clientes hoje querem acesso as informa\u00e7\u00f5es via web, via iPhone, iPad, Android e seus muitos celulares e tablets e assim por diante. A recente <a href=\"http:\/\/www.andreanolanusse.com\/pt\/responda-a-pesquisa-e-ajude-a-definir-o-conteudo-do-blog-para-2013\/\" target=\"_blank\">pesquisa<\/a> que fiz aqui no blog mostrou que 75% dos entrevistados ir\u00e3o desenvolver aplica\u00e7\u00f5es para mobile e 45% ir\u00e3o migrar suas aplica\u00e7\u00f5es desktop para web em 2013.\u00a0Como voc\u00ea faria essa migra\u00e7\u00e3o hoje de forma r\u00e1pida e escal\u00e1vel? Como voc\u00ea integraria apps com seu backend? Quanta regra de neg\u00f3cio seria reutilizada? J\u00e1 se perguntou?<\/p>\n<p>Seja Desktop ou Web, se seu sistema est\u00e1 baseado em Cliente\/Servidor, a efici\u00eancia da sua empresa est\u00e1 comprometida pois voc\u00ea est\u00e1 o tempo todo fazendo remendos para atender as necessidades do mercado, isso eleva a dificuldade de manuten\u00e7\u00e3o do c\u00f3digo, diminui a efici\u00eancia da sua equipe, aumenta o seu custo e o custo do seu cliente, ou seja, diminui sua competitividade no mercado.<\/p>\n<p>J\u00e1 deve fazer um tempo que seu cliente pede para que TODO o sistema seja Web, ele faz quest\u00e3o de dizer TODO O SISTEMA, ele n\u00e3o precisa de tudo e sim certos m\u00f3dulos importantes, como por exemplo relat\u00f3rios, gr\u00e1ficos estat\u00edsticos em tempo real, acesso ao cadastro de clientes, etc. Mais uma vez arquitetura Cliente\/Servidor se torna um problema, o seu cliente disse que os relat\u00f3rios tem de estar acess\u00edveis pela web e relat\u00f3rios na web podem trazer uma carga enorme em todo o sistema. Como voc\u00ea atenderia a estas solicita\u00e7\u00f5es? N\u00e3o precisa me dizer dos remendos, eu j\u00e1 imagino, replicar os dados para um servidor web, manter sincronizado, etc.. Isso \u00e9 caro, n\u00e3o \u00e9 escal\u00e1vel e se torna um remendo tempor\u00e1rio que ir\u00e1 rasgar em pouco tempo.<\/p>\n<p>J\u00e1 se perguntou quanto custa manter seus sistemas Desktop? Depois de muitos anos sua aplica\u00e7\u00e3o virou um grande sistema, com dezenas de m\u00f3dulos, integra\u00e7\u00f5es, recursos, depend\u00eancias, etc.. Para responder essa pergunta, voc\u00ea precisa se fazer as perguntas abaixo:<\/p>\n<ul>\n<li>Quantos problemas de instala\u00e7\u00e3o do sistema s\u00e3o registrados mensalmente?<\/li>\n<li>Quantos problemas de compatibilidade de Windows s\u00e3o registrados mensalmente?<\/li>\n<li>Quantos problemas de atualiza\u00e7\u00e3o do sistema s\u00e3o registrados mensalmente?<\/li>\n<li>Quantas visitas mensais os t\u00e9cnicos do suporte t\u00e9cnico fazem a clientes para resolver problemas que n\u00e3o s\u00e3o poss\u00edveis de resolver remotamente?<\/li>\n<li>Quanto representa essa grande estrutura de suporte t\u00e9cnico no seu custo final?<\/li>\n<li>Que crescimento voc\u00ea estima para o neg\u00f3cio se todo sistema estivesse na Web?<\/li>\n<li>Quais diferenciais a web traria para o seu neg\u00f3cio?<\/li>\n<li>Quanto tempo ir\u00e1 levar para voc\u00ea desenvolver uma aplica\u00e7\u00e3o Android com base na atual infra que sua empresa oferece?<\/li>\n<li>Etc&#8230;<\/li>\n<\/ul>\n<p>Provavelmente voc\u00ea n\u00e3o tenha a resposta para todas, ent\u00e3o \u00e9 hora de come\u00e7ar a buscar e mensurar estes custos.<\/p>\n<p>Aplica\u00e7\u00f5es desktop aumentam o custo final, principalmente por causa do alto-custo do suporte t\u00e9cnico, n\u00e3o estou dizendo para mandar embora metade da equipe de suporte t\u00e9cnico, muito pelo contr\u00e1rio, a equipe de suporte t\u00e9cnico tem um grande conhecimento do sistemas e pode ser reutilizado em outras fun\u00e7\u00f5es, como desenvolvedores, testadores, analistas, etc&#8230;<\/p>\n<p>Que tal oferecer sua solu\u00e7\u00e3o como servi\u00e7o (SaaS), o neg\u00f3cio do seu cliente n\u00e3o \u00e9 TI, porque n\u00e3o ter \u00a0uma infra-estrutura na nuvem e oferecer sua solu\u00e7\u00e3o? Cobrar por este servi\u00e7o.<\/p>\n<p>S\u00e3o in\u00fameros os pontos a se pensar, os pontos aqui mencionados s\u00e3o alguns entre os milhares e talvez n\u00e3o seja raz\u00e3o para voc\u00ea, o que \u00e9 totalmente aceit\u00e1vel da minha parte, entretanto reflita sobre outros pontos que voc\u00ea acha importante e fa\u00e7a sua pr\u00f3pria an\u00e1lise.<\/p>\n<p>Vou ficando por aqui com esta primeira parte, enquanto isso reflita sobre as raz\u00f5es que o levaria a migrar sistemas legados ou mal estruturados.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Migra\u00e7\u00e3o de sistemas legados \u00e9 um assunto que pode render horas, dias, semanas ou meses em qualquer empresa, algo que considero normal, pois envolve uma quantidade enorme de vari\u00e1veis e traz grandes desafios. N\u00e3o precisamos ir muito longe para identificar sistemas legado e os desafios para mant\u00ea-lo nos dias de hoje. Sistemas que cresceram muito [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":4244,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_s2mail":"yes","footnotes":""},"categories":[89,16,102,48,10,186,65,158,53],"tags":[76,183,173,181],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v16.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Migra\u00e7\u00e3o de sistemas legado ou mal estruturados - Parte 1 | Andreano Lanusse | Tecnologia e Desenvolvimento de Software<\/title>\n<meta name=\"description\" content=\"Sequ\u00eancia de artigos que debata a migra\u00e7\u00e3o de sistemas legado\/mal estruturado, sugere caminhos e alternativas para uma migra\u00e7\u00e3o menos dolorosa e de sucesso\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/www.andreanolanusse.com\/pt\/migracao-de-sistemas-legado-ou-mal-estruturados-parte-1\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Migra\u00e7\u00e3o de sistemas legado ou mal estruturados - Parte 1 | Andreano Lanusse | Tecnologia e Desenvolvimento de Software\" \/>\n<meta property=\"og:description\" content=\"Sequ\u00eancia de artigos que debata a migra\u00e7\u00e3o de sistemas legado\/mal estruturado, sugere caminhos e alternativas para uma migra\u00e7\u00e3o menos dolorosa e de sucesso\" \/>\n<meta property=\"og:url\" content=\"http:\/\/www.andreanolanusse.com\/pt\/migracao-de-sistemas-legado-ou-mal-estruturados-parte-1\/\" \/>\n<meta property=\"og:site_name\" content=\"Andreano Lanusse | Tecnologia e Desenvolvimento de Software\" \/>\n<meta property=\"article:published_time\" content=\"2013-01-14T07:02:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2013-05-02T05:14:42+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.andreanolanusse.com\/pt\/wp-content\/uploads\/2011\/09\/old-machinery.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"400\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@andreanolanusse\" \/>\n<meta name=\"twitter:site\" content=\"@andreanolanusse\" \/>\n<meta name=\"twitter:label1\" content=\"Est. tempo de leitura\">\n\t<meta name=\"twitter:data1\" content=\"6 minutos\">\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/#website\",\"url\":\"http:\/\/www.andreanolanusse.com\/pt\/\",\"name\":\"Andreano Lanusse | Tecnologia e Desenvolvimento de Software\",\"description\":\"Andreano Lanusse blog - artigos, tutoriais e v&iacute;deos sobre tecnologia, desenvolvimento de software (Delphi XE4, C#, PHP, .NET) e t&eacute;cnicas de programa&ccedil;&atilde;o\",\"publisher\":{\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/#\/schema\/person\/620bd05e81598c3aba4781796cbe8903\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"http:\/\/www.andreanolanusse.com\/pt\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"ImageObject\",\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/migracao-de-sistemas-legado-ou-mal-estruturados-parte-1\/#primaryimage\",\"inLanguage\":\"pt-BR\",\"url\":\"http:\/\/www.andreanolanusse.com\/pt\/wp-content\/uploads\/2011\/09\/old-machinery.jpg\",\"contentUrl\":\"http:\/\/www.andreanolanusse.com\/pt\/wp-content\/uploads\/2011\/09\/old-machinery.jpg\",\"width\":400,\"height\":300},{\"@type\":\"WebPage\",\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/migracao-de-sistemas-legado-ou-mal-estruturados-parte-1\/#webpage\",\"url\":\"http:\/\/www.andreanolanusse.com\/pt\/migracao-de-sistemas-legado-ou-mal-estruturados-parte-1\/\",\"name\":\"Migra\\u00e7\\u00e3o de sistemas legado ou mal estruturados - Parte 1 | Andreano Lanusse | Tecnologia e Desenvolvimento de Software\",\"isPartOf\":{\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/migracao-de-sistemas-legado-ou-mal-estruturados-parte-1\/#primaryimage\"},\"datePublished\":\"2013-01-14T07:02:22+00:00\",\"dateModified\":\"2013-05-02T05:14:42+00:00\",\"description\":\"Sequ\\u00eancia de artigos que debata a migra\\u00e7\\u00e3o de sistemas legado\/mal estruturado, sugere caminhos e alternativas para uma migra\\u00e7\\u00e3o menos dolorosa e de sucesso\",\"breadcrumb\":{\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/migracao-de-sistemas-legado-ou-mal-estruturados-parte-1\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/www.andreanolanusse.com\/pt\/migracao-de-sistemas-legado-ou-mal-estruturados-parte-1\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/migracao-de-sistemas-legado-ou-mal-estruturados-parte-1\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"WebPage\",\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/\",\"url\":\"http:\/\/www.andreanolanusse.com\/pt\/\",\"name\":\"In\\u00edcio\"}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/migracao-de-sistemas-legado-ou-mal-estruturados-parte-1\/#webpage\"}}]},{\"@type\":\"Article\",\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/migracao-de-sistemas-legado-ou-mal-estruturados-parte-1\/#article\",\"isPartOf\":{\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/migracao-de-sistemas-legado-ou-mal-estruturados-parte-1\/#webpage\"},\"author\":{\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/#\/schema\/person\/620bd05e81598c3aba4781796cbe8903\"},\"headline\":\"Migra\\u00e7\\u00e3o de sistemas legado ou mal estruturados &#8211; Parte 1\",\"datePublished\":\"2013-01-14T07:02:22+00:00\",\"dateModified\":\"2013-05-02T05:14:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/migracao-de-sistemas-legado-ou-mal-estruturados-parte-1\/#webpage\"},\"commentCount\":38,\"publisher\":{\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/#\/schema\/person\/620bd05e81598c3aba4781796cbe8903\"},\"image\":{\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/migracao-de-sistemas-legado-ou-mal-estruturados-parte-1\/#primaryimage\"},\"keywords\":[\"Agile\",\"Android\",\"C++Builder\",\"Delphi\"],\"articleSection\":[\"Android\",\"C++Builder\",\"Delphi\",\"Delphi Prism (.NET)\",\"Desenvolvimento\",\"FireMonkey\",\"iOS\",\"Java\",\"PHP\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"http:\/\/www.andreanolanusse.com\/pt\/migracao-de-sistemas-legado-ou-mal-estruturados-parte-1\/#respond\"]}]},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/#\/schema\/person\/620bd05e81598c3aba4781796cbe8903\",\"name\":\"Andreano Lanusse\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/#personlogo\",\"inLanguage\":\"pt-BR\",\"url\":\"http:\/\/0.gravatar.com\/avatar\/6a9c6f73c7c480fb826c7303288abfd3?s=96&d=mm&r=g\",\"contentUrl\":\"http:\/\/0.gravatar.com\/avatar\/6a9c6f73c7c480fb826c7303288abfd3?s=96&d=mm&r=g\",\"caption\":\"Andreano Lanusse\"},\"logo\":{\"@id\":\"http:\/\/www.andreanolanusse.com\/pt\/#personlogo\"},\"sameAs\":[\"https:\/\/twitter.com\/andreanolanusse\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","_links":{"self":[{"href":"http:\/\/www.andreanolanusse.com\/pt\/wp-json\/wp\/v2\/posts\/4243"}],"collection":[{"href":"http:\/\/www.andreanolanusse.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.andreanolanusse.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.andreanolanusse.com\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.andreanolanusse.com\/pt\/wp-json\/wp\/v2\/comments?post=4243"}],"version-history":[{"count":0,"href":"http:\/\/www.andreanolanusse.com\/pt\/wp-json\/wp\/v2\/posts\/4243\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.andreanolanusse.com\/pt\/wp-json\/wp\/v2\/media\/4244"}],"wp:attachment":[{"href":"http:\/\/www.andreanolanusse.com\/pt\/wp-json\/wp\/v2\/media?parent=4243"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.andreanolanusse.com\/pt\/wp-json\/wp\/v2\/categories?post=4243"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.andreanolanusse.com\/pt\/wp-json\/wp\/v2\/tags?post=4243"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}