Por Rafael Arcanjo | Em 19.12.07 | Categorias: Carreira, ERP, Pessoal, Tecnologia
Welcome to IT CASTLE !
Quem é analista de sistemas como eu, mais cedo ou mais tarde passará por um processo de migração de sistemas ou aplicativos, seja esta migração de grande ou pequeno porte.
Até mesmo quem é um usuário comum de alguns softwares (só pra citar dois exemplos, Internet Explorer e Mozilla Firefox). Porém, esta migração é praticamente toda automática e dificilmente é traumática, diferente do que pode ocorrer em uma conversão de sistemas de grande porte, como os sistemas ERP (Microsiga Protheus, SAP/R3, Corpore RM, etc), mudança de plataforma (Windows x Linux) e softwares de banco de dados (Oracle x MS SQL Server).
Em minha carreira nesta área de sistemas já passei algumas vezes por processos de migração. Então, compartilhando esta minha experiência, seguem abaixo algumas dicas (e alguns causos que já passei) para que o processo seja menos traumático possÃvel.
Acredite, esta é a parte mais importante do seu projeto. Muitas migrações tiveram que ser abortadas antes de chegar ao fim porque só depois de iniciado o processo é que foram ver que tudo que se tinha em mente não era bem assim, que o buraco era mais embaixo. Nesta hora não existe espaço pra lamentar, porque o dinheiro já foi gasto e o chefe já está de chicote na mão procurando os responsáveis.
Então, para que isto não aconteça com você, pesquise bem antes de fazer uma migração e levante algumas questões, como:
– Esta migração vai ser útil ? Vai trazer algum valor ao que eu já faço hoje no sistema “antigo” ?
– Meu servidor aguenta ? E minhas estações, vão suportar ?
– A nova versão já está madura o suficiente para que eu não seja o cobaia a testar e sofrer com os erros primários ?
– Existe algum caso de incompatibilidade já conhecida deste software com algum outro aplicativo ou até mesmo o Sistema Operacional que eu uso ?
Obviamente existem várias outras questões a serem abordadas. E tudo precisa ser feito aqui nesta fase de levantamento, que é onde o custo ainda é mÃnimo e o impacto, se acontecer algo errado, será quase nulo.
Planeje como vai ser a migração, como você prevê que as coisas acontecerão. Troque opiniões com os colegas de setor, formalize e peça para os gerentes assinarem.
Documente tudo o que você encontrou na fase de levantamento. Se algo ocorrer errado no meio do processo, sempre vão querer achar uma pessoa para assumir a culpa (mesmo que isto não resolva em nada o problema). Se você estiver bem embasado no que fez e seguiu os procedimentos dos fabricantes, poderá se safar desta.
Veja bem, não estou falando para você fugir da responsabilidade, ok ? Isto não deve acontecer nunca. Porém se você fez todo o processo e, por razões até então desconhecidas, algo deu errado, você terá argumentos. Se não tiver nada escrito provando, prepare-se para ouvir a ladainha.
Já teve caso de ter vindo um gerente de outra área “conversar” comigo num tom não muito amigável, questionando os caminhos que foram tomados para certa atividade. Eu, com documento na mão assinado por um superior dele, dando carta branca para as atitudes a serem tomadas no projeto, apenas apresentei ao mesmo que ficou com cara de taxo e saiu resmungando algumas palavras sujas. Imagina se eu não tô com um documento deste na mão ?
FAÇA BACKUP ! FAÇA BACKUP ! FAÇA BACKUP ! Sempre tenha um backup em mãos. Isto pode salvar muitas vidas. É sério !
Antes de começar o procedimento, faça cópia de tudo. TUDO MESMO ! Banco de dados, pasta dos aplicativos, executáveis, TUDO ! De preferência em duas cópias, porque backup é mestre pra não funcionar quando você mais precisa dele.
E não adianta comprar um CDzinho vagabundo na esquina. Ouça: NÃO ECONOMIZE neste ponto ! Os dados que você pode perder são de valores incalculáveis.
E não vale também fazer backup e guardar dentro da própria máquina. Os motivos eu não preciso nem explicar porque, né ?
Claro que você não vai querer dar uma de herói e fazer a migração em plena base oficial (ambiente de produção), não é mesmo ? Então, simule tudo em um ambiente o mais fiel possÃvel do real. Se for um ERP, Crie um banco de dados de teste, use os executáveis que estão em produção. Assim você terá como corrigir alguns erros (quiçá todos) que irão ocorrer na sua migração oficial, antes mesmo que ela ocorra, diminuindo assim o tempo em que a empresa ficará sem utilizar o sistema.
Depois da migração feita em base teste, sem erros (aparentes para você), tudo está pronto né ? Não, não está.
Quem vai usar o sistema ? O usuário. Então, quem melhor que este para falar se está tudo certinho ou se está faltando uma coisinha aqui e outra acolá ? Então, bote seu querido usuário pra validar o sistema. E tenha em mente: Ele vai chiar. Isto é certo como 2 + 2 são 5. Porém, você terá o respaldo da gerência para fazer isto. O que ? Você não pensou em nada documentado pela gerência ? Volte lá no segundo tópico então.
Quanto aos testes, não adianta o usuário abrir o sistema e falar “Pronto, testei, tá tudo funcionando!” (Acredite, isto acontece). Na maioria das vezes, você vai ter que colocar alguém do lado dele para ir observando os testes. Experiência própria.
Dia destes pedi à um usuário do setor de pessoal para testar um sistema depois de eu ter feito a migração. E eu, esperando só o teste dele pra fazer o processo na base oficial. Quatro horas depois, verifiquei, pelo servidor, que ele não estava fazendo nada. Ele tinha simplesmente aberto a tela inicial do sistema e deixado lá parado, achando que ia enganar alguém mostrando que ele estava no sistema. Fui até a sala dele e perguntei: “E aà ? Você já testou o sistema e eu já posso fazer já na base oficial, né ?”. Ele ainda não tinha nem começado. Disse que só entrou no sistema e achou tudo diferente, que precisaria fazer um treinamento. O diferente dele é que os Ãcones haviam mudado de lugar com a nova interface do sistema. Mudei o tema pra ficar o mais parecido possÃvel com o antigo e sentei ao seu lado. Feito isto, ele testou. A cada rotina que ele rodava, perguntava se tinha mais alguma por fazer. E eu só falando “E as férias ? Já calculou Décimo terceiro ? E recisão de algum funcionário, já fez ? O cálculo da folha tá saindo corretamente né ?”.
Aà você me diz “Mas Rafael, o usuário já assinou o documento, o ferro já vai entrar no dele a responsabilidade já foi assumida pelo teste. Pra que eu vou ficar do lado do cara?”. Pelo simples motivo de que você é o maior beneficiário deste ponto. Pense comigo: quanto mais erros você detectar nesta fase, melhor. Sendo assim, estes erros serão corrigidos na base oficial e quando for feita a migração de verdade não vão mais acontecer. E você deve saber que um erro numa base de produção, com todo mundo parado esperando você corrigir não é uma coisa das mais agradáveis.
Validado na base de testes, hora de fazer a migração no ambiente oficial. Muita calma nesta hora. Procure aprender com os erros cometidos na migração em base teste e mão na massa.
Tudo ocorreu à contento ? Pois bem, hora de colocar os usuários pra validar denovo. E sim, eles vão chiar novamente “Denovo ? eu tenho que fazer isto, isto, isto e aquilo aqui no departamento, estou sem tempo, blábláblá”. Quando acontece isto comigo, peço para reclamar com o chefe e não comigo, porque sou também um funcionário tão comum quanto ele. Claro que você não precisa ser mal educado, porém a verdade é esta mesmo.
A mesma historinha da validação em base teste. Peça para simularem tudo e depois assinarem o documento falando que tá tudo dominado validado.
Sistema testado pelos usuários, erros sanados, agora é correr pro abraço e felicidade total !?!?! Não necessariamente. Sempre ocorre um errinho ou outro pra ser corrigido. Porém, se as dicas acima forem seguidas, você conseguiu sanar muitas delas e terá algumas horas à mais de sono.
PS: Obrigado ao Graveheart pelas sugestões dadas no texto.
[tags] tecnologia, migração, upgrade, sistemas, erp, microsiga, sap, protheus, rm, corpore, analista, ti, sysadmin [/tags]
Utilize o formulário abaixo para deixar uma resposta no Arcanjo.org. Os campos marcados com asterisco são obrigatórios.
Você deve estar logado para postar um comentário.
{ 20/12/2007 | 09:49 }
Parabéns, excelente artigo.
Após ler o texto tive a impressão que já sabia (e tinha experiência) de tudo que foi falado, porém sempre sou um pouco indisciplinado para seguir o roteiro, e isto sempre retorna como um bumerangue.
{ 20/12/2007 | 11:03 }
Olá Cabelo,
O objetivo de postar foi exatamente este: ser um roteiro pros esquecidos (como eu também).
Todo SysAdmin normalmente já sabe isto decorado, porém sempre esquece.
Espero que seja útil pra alguém mais pra frente.
{ 26/12/2007 | 16:37 }
Olá Rafel,
Como foi citado no artigo, você já realizou varias migrações de sistemas. Daà me surgiu uma dúvida: Você já realizou migração de Sistemas Estruturados para Orientados a Objetos?! Se sim, poderia falar um pouco sobre essa experiência expecificamente?!
{ 27/12/2007 | 08:10 }
Olá Maiara,
Não sei se entendi bem sua pergunta, mas aà vai:
Minha experiência em migrações de sistemas se resume em Sistemas ERP e Migrações de Infra-Estrutura.
Portanto, sistemas especÃficos estruturados a objetos eu nunca fiz.
Abraços e obrigado pela visita.
{ 13/05/2010 | 08:11 }
Rafael Bom dia,
Muito bom esse seu artigo, foi até bom eu ter encontrado as suas informações antes, pois estou passando pela minha primeira migração de sistema.
{ 08/06/2010 | 14:54 }
Olá Rafael,
Muito obrigado pelo artigo, me ajudou a clarificar os pensamentos para me expressar em meu TCC.
P.S.: Juro que não copiei, hein rs.
{ 31/08/2010 | 12:50 }
Olá Rafael,
Estou escrevendo um estudo de caso sobre migração entre plataformas proprietarias e plataformas livres. poderia me ajudar indicando autores ?
grato.
{ 07/11/2012 | 11:22 }
Bom dia cara, eu fui solicitado para fazer a documentação da migração do intranet que atualmente é em WordPress para migrar para Joomla, estou totalmente perdido, pois não sei como realizar tal procedimento de documentar, quais os diagrams serão precisos, o que deve ter na documentação, por onde começar, você poderia meu explicar e tirar essas minhas dúvidas.
Agradeço.
{ 05/04/2013 | 08:47 }
Olá, quero saber se eu fizer uma migração de um software para o outro eu posso mesmo assim continuar usando o software antigo?