Saltar para o conteúdo
BigTree108

Serviços de modernização de software legado

Modernização de software legado para sistemas que ainda sustentam o negócio mas o atrasam: takeovers de código que outras equipas escreveram, atualizações para versões atuais e substituição passo a passo de módulos antigos, sem reescrita big bang. Até hoje, nove sistemas chegaram até nós vindos de outras equipas, o mais antigo escrito em 2008.

Como modernizamos um sistema legado

  • Primeiro uma revisão só de leitura

    O código, as dependências, o deployment e os dados lidos de ponta a ponta antes de alguém alterar uma linha, com uma lista escrita de riscos por ordem de impacto em produção.

  • Testes em torno do que existe

    Testes de caracterização que fixam o que o sistema faz hoje, esquisitices incluídas, para que cada alteração posterior seja verificada face ao comportamento real e não à memória.

  • Atualizações de framework e de runtime

    .NET Framework para o .NET atual, Java 8 para uma LTS atual, PHP 5 para PHP 8, Python 2 para 3 e AngularJS para Angular, um passo de cada vez, cada passo lançado por si.

  • Substituição strangler-fig

    Novos módulos construídos ao lado do sistema antigo atrás de uma camada de encaminhamento, assumindo uma funcionalidade de cada vez até o código antigo poder ser desligado, sem um único dia em que tudo muda.

  • Modernização de bases de dados

    Lógica de negócio retirada dos stored procedures para código testado, alterações de esquema transformadas em migrações versionadas e dados em versões de bases de dados sem suporte migrados com um relatório de reconciliação.

  • Dívida de segurança saldada

    Dependências sem suporte substituídas, vulnerabilidades conhecidas corrigidas, segredos retirados dos ficheiros de configuração para um cofre e análise de dependências no pipeline, para que a dívida não regresse.

Contratar engenheiros para sistemas legados

  • engenheiros para sistemas legados dedicados

    Engenheiros para sistemas legados que integram a sua equipa a tempo inteiro, trabalham nas suas ferramentas e no seu processo, e reportam ao seu responsável. A sua empresa entrevista-os; nós assumimos o contrato ucraniano, o processamento salarial, a faturação e as férias.

  • Projetos de Modernização

    Uma parcela definida de modernização, com âmbito, plano fixo e um responsável identificado do nosso lado, que responde pelo resultado e reporta o progresso nos seus canais.

  • modernização em regime contínuo

    Modernização como serviço contínuo: as mesmas pessoas todos os meses, um backlog que a sua empresa prioriza e horas que pode consultar no nosso portal e na fatura.

A página da equipa dedicada explica como os especialistas integram a sua equipa, e a página de outsourcing aborda a entrega de projetos, as tomadas a cargo e a forma como cobramos.

Quem trabalha em modernização para a sua empresa

  • Responsável técnico

    Responsável pela revisão, pela lista de riscos e pela ordem do trabalho

  • Engenheiros .NET, Java e PHP

    Atualizações e refactoring na própria linguagem do sistema

  • Engenheiros de cloud e DevOps

    Pipelines, infraestrutura como código e a saída dos servidores antigos

  • Engenheiros de QA

    Testes de caracterização e de regressão

Modernizar por passos, não numa só reescrita

Uma reescrita completa pára a entrega durante meses e costuma perder comportamento que ninguém escreveu. Modernizamos por passos: cada um pequeno o suficiente para ser lançado, testado face ao que o sistema fazia antes e escolhido pelo risco ou custo que elimina, para que o negócio continue a funcionar sobre o sistema enquanto ele muda.

Um takeover começa com uma revisão só de leitura e uma lista escrita de riscos antes de qualquer correção. Por vezes essa lista mostra que um módulo é melhor reescrito, e então dizemo-lo, com os motivos por escrito e a reescrita planeada por trás dos mesmos testes.

Outras soluções que entregamos

Visão geral de Soluções

Perguntas sobre modernização de sistemas legados

Devemos reescrever ou modernizar?

Normalmente modernizar. Uma reescrita faz sentido para um módulo cujo comportamento é bem compreendido e cujo código bloqueia todas as alterações; para o resto, as atualizações incrementais e a substituição strangler-fig entregam valor mais cedo e preservam o conhecimento incorporado no código antigo. A revisão dá-lhe essa decisão por módulo, por escrito.

Os nossos programadores originais saíram. Conseguem ainda assumir o sistema?

Sim. Trabalhamos a partir do código, da base de dados, do deployment e das pessoas que ainda usam o sistema, e a lista escrita de riscos diz-lhe o que encontrámos antes de decidir o que alterar.

O sistema antigo continua a funcionar enquanto é modernizado?

Sim. As correções e os patches de segurança continuam no sistema em produção durante todo o processo, e cada passo de modernização é lançado por si, pelo que nunca há um período em que o negócio espera pela nova versão.

Em quanto tempo podem começar engenheiros para sistemas legados?

Quando o engenheiro de modernização adequado está disponível, o arranque depende apenas da sua entrevista, do NDA e da cedência de propriedade intelectual. Caso contrário, fazemos uma pesquisa, que normalmente produz perfis de candidatos em duas a três semanas, e ninguém começa antes de a sua empresa dar o seu acordo.

Como contratamos engenheiros para sistemas legados através da BigTree108?

Diga-nos qual é o trabalho, a senioridade e o horário de que precisa. Propomos uma ou duas pessoas com os respetivos perfis, a sua empresa entrevista-as como entrevistaria uma contratação própria, e assina um único contrato com a BIG TREE 108 LLC e recebe uma fatura por mês.

A quem pertence o trabalho que produzem?

A sua empresa. Cada especialista tem um contrato assinado com a BigTree108 que atribui à empresa todo o trabalho produzido, e o nosso contrato com a sua empresa atribui-lho. O código, os designs e os documentos são entregues nos seus próprios repositórios e ferramentas, e não mantidos onde só nós os podemos alterar.

Tem um sistema em que ninguém quer mexer?

Envie o repositório ou uma descrição do sistema. Recebe resposta no prazo de um dia útil: um plano para a revisão e os primeiros passos a seguir a ela.