Um guia completo sobre Estratégias de Migração de Tecnologia: (Parte 1 – Introdução)

Publicados: 2020-12-23

Com novas tecnologias evoluindo todos os dias, as velhas tecnologias estão se tornando obsoletas. Tornou-se necessário que todas as empresas se mantenham atualizadas para sobreviver no mercado atual. Qualquer empresa que forneça vários serviços e plataformas para seus usuários deve estar pronta para lidar com as tecnologias de atualização diária. Nesses momentos, a migração entra em cena. Uma empresa sempre pode migrar para uma plataforma nova e melhor. Agora, pode-se pensar que o que é migração? A resposta é curta e um pouco complexa ao mesmo tempo. Migração é um termo muito simples para os trouxas sem tecnologia, o que significa migrar de um lugar para outro. Mas quando se trata de magos da tecnologia como nós, tem um significado um pouco diferente. Então, vamos dar o primeiro passo e entender a migração em termos técnicos. Migração significa passar da plataforma atual para outra plataforma. Na maioria dos casos, a migração ocorre para uma plataforma melhor porque oferece um melhor ambiente de trabalho e experiência do usuário. Às vezes, as preocupações de segurança também podem levar à migração. Existem muitos tipos de migração e aqui estão alguns dos tópicos de migração mais comentados sobre os quais você pode querer saber:

  1. Migração de tecnologia
  2. Migração de tecnologia de front-end
  3. Migração de tecnologia de back-end
  4. Migração de sites criados por CMS
  5. Migração de banco de dados
  6. Migração de domínio e servidor de hospedagem

A migração em termos técnicos é um tópico muito mais amplo do que você pode imaginar. É um pouco difícil cobrir todos os tópicos de migração e seus tipos em um único blog. Assim, este tópico está dividido em diferentes partes, explicando a importância da migração junto com seus tipos. Você pode lê-los nos próximos blogs.

A migração é uma tarefa crucial e se questões como quando migrar, como migrar, definir o escopo da migração, etc. o incomodam, então você pode querer continuar lendo este blog para limpar sua mente.

Por que há uma necessidade de migração?

  • Quando sua tecnologia atual, na qual você trabalhou por tanto tempo, não é mais capaz de atender às expectativas de seus requisitos de negócios.
  • Quando a tecnologia fica desatualizada e o suporte do fornecedor também não está disponível para a versão desatualizada.
  • Quando seus clientes são importantes para você e você precisa estar no topo do seu campo.
  • Quando você não quer mais o enorme custo de licenciamento da pilha atual, mudando para uma plataforma de código aberto.
porque-necessidade-migração

Nesse momento, a migração será sua melhor opção. A migração é um processo complexo e requer muito planejamento.

O primeiro passo para o processo de migração é que você precisa definir alguma definição e regras básicas que possam realizar o processo de migração sem problemas. Dependendo da exigência do projeto:

  • Primeiro, você precisa analisar o estado atual do seu projeto ou aplicativo que precisa ser migrado.
  • Você preparará um roteiro de riscos calculados e possíveis soluções que podem ocorrer durante a migração.
  • Você precisa selecionar uma tecnologia adequada que atenda a todos os requisitos do projeto.
  • Em seguida, você precisará de um plano adequado para executar o processo de migração
  • Por fim, quando o processo de migração estiver concluído, verifique se o aplicativo está funcionando conforme o esperado na nova plataforma ou não.
5 etapas para o processo de migração

Há alguns pontos que você precisa ter em mente antes de avançar com a fase de planejamento da migração.

  • Decida o orçamento e o cronograma do projeto antes da fase de planejamento da migração, dependendo do problema de negócios.
  • Decida um modelo de trabalho como definir cobranças por hora ou cobranças semanais para qualquer novo cliente que queira migrar de qualquer sistema existente para o novo. Existem várias áreas cinzentas que discutiremos na futura série de blogs e elas só poderão ser encontradas quando uma nova equipe de desenvolvimento iniciar seu trabalho. A migração não pode ser tratada com um trabalho de estimativa fixa para nenhuma nova equipe.
  • Se o cliente for uma pessoa não técnica, é sempre recomendável que você tenha um contrato assinado informando o escopo da migração antes da fase de planejamento da migração ou o cliente também pode contratar um gerente de projeto contratual que possa fazer a ligação com a equipe de desenvolvimento.

Definir o escopo da migração

Para qualquer equipe de desenvolvedores trabalhando no projeto de migração que desconhece o sistema atual, o cliente deve passar um tempo com a nova equipe para garantir que a equipe entenda o fluxo do sistema. A nova equipe deve levar tempo suficiente para analisar o sistema existente e elaborar um plano de migração. Enquanto isso, o cliente sempre pode levantar quais são os problemas de negócios que está enfrentando com o sistema atual.

Para definir o escopo de um projeto, o cliente deve compartilhar um requisito detalhado do projeto para concluir a migração com êxito. Os desenvolvedores e o cliente devem estar na mesma página com o plano de migração e deve haver uma discussão adequada sobre todos os aspectos da migração para protegê-los de todos os problemas futuros.

Às vezes, pode acontecer que a equipe de desenvolvimento não crie uma documentação detalhada da lógica de negócios mapeada na tecnologia de back-end. Se a migração for feita pela mesma equipe, não criará nenhum problema maior, mas quando a migração for feita por uma nova equipe, a documentação é realmente importante. Portanto, é altamente recomendável ter uma documentação detalhada da lógica de negócios.

Certifique-se de declarar claramente em seu documento de escopo que qualquer tipo de trabalho fora do escopo original será considerado trabalho extra e estará sujeito a cobrança de prêmio, incluindo o orçamento original. Isso o ajudará a evitar possíveis desvios de escopo que podem ocorrer no futuro.

Como atender aos Scope Creeps?

Antes de entendermos como lidar com Scope Creeps, deixe-me falar sobre o termo Scope Creep e como isso afeta a equipe de desenvolvimento. O Scope Creep é o resultado da mudança de requisitos técnicos que estão sendo introduzidos no projeto sem a extensão do cronograma ou incremento no orçamento do projeto.

Oportunista

Há muitos motivos que resultam em Scope Creeps e alguns dos motivos mais comuns estão listados abaixo para você evitar esses creeps na migração do seu projeto.

  • A incompreensão dos requisitos do projeto é uma das razões mais comuns por trás do aumento de escopo que cria problemas para os desenvolvedores nas fases posteriores da migração.
  • Evite as armadilhas, como feedback frequente do usuário final. Não faz sentido entreter todos os pontos de feedback. Mas não é como se você não recebesse feedback. Selecione apenas os mais repetitivos e espetaculares.
  • Concordar com todas as solicitações de mudança pode ajudar a construir o relacionamento positivo no início, mas acabará na insatisfação do cliente com o projeto. Portanto, antes de concordar com um feedback ou solicitação de mudança, apenas certifique-se da prioridade e urgência do mesmo e informe o cliente final sobre o impacto nos esforços.
  • Existem inúmeros outros fatores que impactam o escopo do projeto que não está sob seu controle, como novos recursos adicionados à tecnologia existente, mudanças econômicas no mercado, emergências pessoais, etc. Portanto, é melhor se preparar para essas possibilidades.

Agora que você já entendeu o termo Scope Creep e sabe as possíveis causas que acabam, uma coisa é clara que o plano preventivo é a melhor forma possível de evitar qualquer rastejamento no escopo do seu projeto de migração. Independentemente de todo o planejamento que você fez, não há uma maneira possível de assumir com precisão todas as solicitações futuras de alteração de recursos em seu requisito de projeto. Em momentos como esse, a documentação de escopo de migração pode te resgatar.

Seleção da pilha de tecnologia

Como desenvolvedor, existem muitas opções à sua frente, como MongoDB para MySQL, AngularJS para React, pilha MEAN para pilha LAMP e servidores de hospedagem em nuvem como Amazon AWS para servidores de hospedagem automática como Apache. Essas opções podem confundir qualquer um. Portanto, é responsabilidade do desenvolvedor selecionar uma pilha de tecnologia planejada para migração. Você precisa estar preparado para todas as necessidades futuras também.

Caso você queira selecionar a plataforma de migração e não entenda claramente os requisitos para a nova plataforma, existe uma opção onde você pode contratar um Arquiteto de Soluções que tenha experiência e tenha trabalhado em sistemas complexos. Idealmente, seria uma consultoria terceirizada para que qualquer cliente pudesse contratar o Arquiteto de Soluções por conta própria ou pagar para a empresa desenvolvedora. Isso deve ser negociado e acordado sobre a tarefa que deve ser feita antes de planejar a fase de migração.

contratar-solução-arquiteto

Você precisa ter certeza de que os recursos da nova plataforma são testados e comprovados. Definitivamente, você não quer ser o primeiro a saber sobre as desvantagens e armadilhas da nova plataforma. Você precisa garantir que todos os dados sejam preservados com segurança e que outros recursos não exijam muita modificação após a migração para uma nova plataforma. A migração é um processo complexo, mas, se feito corretamente, pode dar um novo começo à tecnologia antiga e desatualizada.

Certifique-se de verificar se o sistema atual possui DevOps em vigor ou não. O DevOps ajuda a encurtar o ciclo de vida de desenvolvimento do sistema e fornece entrega contínua. Se o sistema atual já estiver usando essas ferramentas, você poderá optar pela versão atualizada ou continuar com a mesma. É sempre recomendável usar algum tipo de ferramenta de CI/CD, pois torna o processo de migração um pouco fácil e sistemático para os desenvolvedores. Além disso, a equipe de desenvolvimento deve seguir uma abordagem estrita de revisão de código e push de código, por exemplo. Modelo GitFlow ou GitHubFlow.

Depois de ter os requisitos do projeto, o escopo da migração e a pilha de tecnologia, você pode facilmente selecionar um substituto melhor para sua plataforma. Existem diferentes tipos de migração e, antes de avançar com ela, deixe-me esclarecer uma coisa que nem toda migração é igual e cada uma das migrações requer planejamento e execução adequados. A migração e seus tipos são tópicos muito mais amplos, então existem 3 partes diferentes em continuação com este blog, onde você pode obter informações detalhadas sobre cada migração. No próximo blog, falaremos sobre Migração de Tecnologia com seus tipos. Então fique ligado!