Enable javascript in your browser for better experience. Need to know to enable it? Go here.
technical-mechanics-modernizing-your-tech-estate

A mecânica técnica de modernização do seu patrimônio tecnológico

Esta é a segunda de duas partes de uma série que explora o imperativo da modernização de aplicações. Leia a primeira parte aqui.


A transformação digital entrou em uma nova era, na qual a TI evolui de orientação a processos para orientação a dados. Usar dados, experimentação e telemetria para construir estratégias e impulsionar a inovação tornou-se uma preocupação fundamental para todas as empresas.


A modernização de aplicações costuma ser vista como uma facilitadora crítica para se tornar um negócio digital. Mas acertar não é fácil. Organizações maduras devem considerar um grande "patrimônio" de sistemas interconectados, apresentando uma ampla gama, de coisas antigas a coisas novas, de código personalizado a pacotes encolhidos, criados internamente, terceirizados ou adquiridos com uma fornecedora.


De uma perspectiva de TI, a carga legada influencia cinco forças horizontais:


  • Dados. A infraestrutura isolada em silos prejudica os esforços para visualizar os dados de forma holística. Os sistemas legados impedem que você se torne um negócio orientado por dados e atrapalham suas tentativas de se aproximar de clientes.
  • Arquitetura e infraestrutura. O mundo de hoje exige disponibilidade constante, escalabilidade e resposta rápida às necessidades de clientes. Mas os sistemas legados costumam ser a antítese dessas características, comprometendo a experiência de uso. Os sistemas legados frequentemente implicam em custos crescentes e longos prazos de entrega — mesmo para tarefas comuns —, gerando frustração para os negócios.
  • Governança e processos legados. As organizações do futuro entendem que os ciclos rápidos de feedback e a quebra de silos são essenciais para fornecer uma experiência holística a clientes com rapidez. As estruturas e procedimentos organizacionais legados geralmente funcionam em ciclos anuais lentos e são reativos em vez de proativos, obrigando a empresa a adivinhar como o mercado estará meses ou mesmo anos à frente.
  • Nuvem. Há muito tempo está evidente que a nuvem — seja ela pública, privada ou híbrida — é a melhor plataforma de hospedagem moderna. As aplicações legadas raramente estão prontas para a nuvem, e uma abordagem simplista de migração pode criar dores de cabeça, já que a nuvem normalmente troca alta confiabilidade de servidores individuais por alta confiabilidade da plataforma como um todo. Para funcionar, as aplicações legadas devem ser atualizadas usando técnicas de “12 fatores” que levam em consideração essa compensação.
  • Segurança. Todas as semanas, lemos uma nova história sobre violação ou perda de dados, e o público consumidor está cada vez mais atento à postura das empresas quanto à segurança. Embora os sistemas legados não sejam inerentemente menos seguros, aplicações difíceis ou caras de administrar podem ficar para trás nas correções e patches de segurança, expondo uma grande superfície de ataque para o mundo externo.


Mas atualizar e substituir sistemas não é novidade. Por que então existe tanto foco na modernização de aplicações hoje? Achamos que há dois motivos principais:


  • Recursos orientados à tecnologia — especialmente aqueles orientados por nuvem, automação e como serviço — permitem que as empresas, experimentem, corrijam o curso e respondam aos sinais de demanda mais rapidamente. Freqüentemente, os sistemas legados carecem desses recursos e fazem a organização ficar para trás em relação ao estado da arte.
  • A competição é acirrada, e agora não apenas para clientes: o mercado de talentos de tecnologia está em alta e tecnologistas podem escolher onde trabalhar. As organizações percebem que, ao modernizar seus sistemas, podem atrair talentos de primeira linha, bem como obter benefícios competitivos.


Tecnologia, pessoas e negócios não são elementos separados. Melhorar uma situação de tecnologia legada obriga você a reexaminar os processos de negócio e as estruturas organizacionais, bem como os sistemas técnicos.

Na verdade, tentar resolver problemas técnicos por conta própria é um dos principais obstáculos para as organizações que buscam se modernizar.

Ao iniciar a jornada em direção à modernização, lembre-se destes três princípios críticos:


  1. Quebre silos e barreiras e alinhe sua estrutura organizacional em direção a objetivos comuns. Cada transferência é um potencial para falha de comunicação, desaceleração e frustração, e cada desalinhamento é uma oportunidade para alguém em sua organização "vencer" enquanto outra pessoa "perde". Certifique-se de que sua estrutura organizacional motive todas as a vencerem juntas.
  2. Reduza os ciclos de feedback, sejam eles técnicos, organizacionais ou de negócio. Pessoas desenvolvedoras adoram usar testes automatizados para checar se seu código funciona e se estão progredindo — a quantidade de tempo desde a decisão de mudar algo até obter feedback sobre o sucesso da mudança é chamada de tempo de ciclo. Aplique esse pensamento à sua estratégia de negócios, bem como à TI — em quanto tempo podemos ver se nossa estratégia é um sucesso? Como os sistemas de TI podem nos ajudar a reduzir nossos tempos de ciclo?
  3. Habilite a tomada de decisão local por pessoas com as conexões mais próximas às necessidades de clientes. Seja a cliente uma equipe interna usando uma API ou plataforma, ou uma consumidora escolhendo os produtos de sua empresa, as pessoas que trabalham mais próximas a clientes estão em melhor posição para entender e atender às suas necessidades. Empurre a tomada de decisão para as pessoas mais próximas do cliente.


Um plano de sete passos para modernizar seu patrimônio tecnológico


Esses princípios podem lembrar muito o desenvolvimento de software ágil, e isso não é por acaso: descobrimos que os princípios ágeis podem ser escalados "para cima" de forma extremamente eficaz, e ajudam significativamente no nível de sistemas corporativos. Veja como aplicar os princípios à sua organização:

 

Passo 1

Aborde a modernização como um exercício de roadmap, não como um plano a ser concretizado. Conforme você avança na jornada de modernização, novas prioridades emergem. O cenário de negócios mudará, surgirão ameaças e oportunidades competitivas e a tecnologia também mudará. Quando a próxima explosão de Docker ou Machine Learning ocorrer, seus planos precisarão mudar para acomodar o novo avanço.


Passo 2

Faça a costura entre sistemas e componentes. Qualquer propriedade empresarial conterá uma variedade de tecnologias, sistemas internos desenvolvidos sob medida, sistemas mantidos por fornecedoras e pacotes. Sua estratégia de integração corporativa deve ser firme sobre como esses componentes devem se comunicar, compartilhar dados e colaborar.


Passo 3

Priorize a ação avaliando cada um de seus sistemas, considerando as seguintes características:


  • Ritmo real de mudança do sistema, bem como o ritmo de mudança desejado
  • Custo da mudança, bem como o tempo gasto
  • Impacto comercial / perda de oportunidade de negócios por não transformar
  • Riscos de não-transformação versus riscos de transformação, juntamente com as dimensões da gravidade do efeito sobre produtos e processos, ocorrências, detecção durante o projeto, e entrega e riscos operacionais.

Os sistemas que você deseja alterar rapidamente, mas não pode, e que têm grande importância para os negócios, são bons candidatos para ação imediata. Sistemas que levam muito tempo para mudar, mas na verdade não são muito tocados, provavelmente têm uma prioridade mais baixa. Lembre-se de que escolher o que não atualizar ou substituir é tão importante quanto escolher onde fazer grandes investimentos em mudanças.


Passo 4

Considere os impactos e os efeitos indiretos das mudanças. Nos últimos anos, uma explosão de tecnologias digitais melhorou a conectividade de clientes e aumentou os pontos de contato. Mas esses front-ends aprimorados geralmente colocam um estresse significativo nos sistemas que podem falhar com a sobrecarga. O que costumava ser um fluxo linear simples foi substituído por novos casos de uso — por exemplo, “compre online, retire na loja” — e agora se tornou um gráfico complexo com muitos pontos de entrada e saída em potencial. Seu plano de modernização deve levar em conta as prováveis interações entre os sistemas e não apenas considerar os componentes isoladamente.


Passo 5

Aplique um padrão de modernização para cada sistema legado. Embora haja um grande número de técnicas à sua disposição, os padrões de modernização se enquadram em três categorias:

  • Substituição, por código personalizado, novo pacote ou SaaS. Recomendamos a substituição incremental usando estratégias como remoção de "fatias" de um sistema antigo e reimplementação (por exemplo, por processo de negócios ou área funcional) ou uso do padrão estrangulador para sobrepor e matar um sistema antigo – migrações big bang incrementais podem funcionar em alguns casos.
  • Ampliação, pela adição de um novo sistema ao lado de um antigo e mediação de solicitações entre os dois, incluindo uma interface de serviço que todas as novas integrações devem usar.
  • Continuação, pela manutenção de um sistema antigo rodando, com adição de algumas melhorias para torná-lo um pouco mais moderno, por exemplo, adicionando testes, automação de compilação ou APIs melhores. Remediação não é algo negativo, alguns sistemas podem durar muito tempo. Crie uma linha de características "aceitáveis" para um sistema (automação, implementabilidade, etc.) e melhore os sistemas que falham em superar essa linha. Uma ideia importante a se considerar é a Arquitetura Evolutiva, que nos permite melhorar incrementalmente um sistema ao longo do tempo. Com esta abordagem, definimos funções arquiteturais de aptidão que encapsulam a aparência desejada para o sistema e, em seguida, fazemos mudanças incrementais, melhorando a arquitetura e sua aderência às funções de aptidão.


Passo 6

Inclua as equipes existentes no sucesso de novos sistemas. Qualquer jornada de modernização causará grandes mudanças em suas equipes atuais. Muitas pessoas na TI temem os esforços para atualizar sistemas legados — afinal, grande parte de seu trabalho é cuidar dessa tecnologia mais antiga, e elas podem estar preocupadas com o fato de suas habilidades não estarem mapeadas para sistemas mais novos. As equipes de TI legada podem criar obstáculos políticos ao sucesso de um novo sistema e, em alguns casos, sabotar completamente seus esforços. Para contornar isso, é importante incluir as equipes existentes, tornando-as pelo menos parcialmente responsáveis pelo sucesso do novo sistema e engajar seus conhecimentos na criação do sistema substituto. Afinal, essas equipes têm anos de conhecimento sobre como funciona o seu negócio: use isso a seu favor!


Passo 7

Reavalie seu plano periodicamente, levando em consideração as mudanças nos cenários de negócios e tecnologia. Mas lembre-se de não “planejar demais” — seu plano deve ser um guia, e não uma estrutura rígida. Afinal, você nunca sabe quando ocorrerá a próxima grande mudança tecnológica que vai obrigar seu negócio a se adaptar novamente.


Conclusão


Seguindo esta abordagem flexível de planejamento e mapeamento de estradas, você pode criar um projeto exclusivo para modernizar seu patrimônio de tecnologia. A modernização é uma jornada contínua. Muitas organizações caem na armadilha de investir apenas quando atingem um ponto crítico. Não seja como elas — avalie, planeje e invista regularmente para manter seu patrimônio de tecnologia moderno e eficaz. As recompensas em velocidade, flexibilidade e capacidade de resposta do seu negócio permitirão que sua organização prospere em uma época de mudanças e disrupção sem precedentes.

Como podemos ajudar o seu negócio a crescer com mais rapidez?