A documentação viva, que vem da comunidade de desenvolvimento orientado por comportamento (BDD), é muitas vezes considerada um privilégio para bases de código mantidas com especificações executáveis. Descobrimos que essa técnica também pode ser aplicada a sistemas legados. A falta de conhecimento do negócio é um obstáculo comum encontrado pelos times que executam a modernização do sistema. O código é geralmente a única fonte confiável da verdade devido à rotatividade de pessoas e à documentação existente desatualizada. Portanto, é muito importante restabelecer a associação entre a documentação e o código, difundindo o conhecimento do negócio entre o time ao assumir um sistema legado. Na prática, primeiro tentaríamos ir para a base de código e aprofundar nossa compreensão do negócio por meio de uma limpeza simples e uma refatoração segura. Durante o processo, será preciso adicionar anotações ao código para que a documentação viva possa ser gerada automaticamente mais tarde. Isso é muito diferente de fazer BDD em projetos green-field, mas é um bom começo em sistemas legados. Com base na documentação gerada, o passo seguinte seria converter algumas das especificações em testes de automação executáveis de alto nível. Fazendo isso iterativamente, eventualmente, você poderá obter documentação viva em sistemas legados intimamente associada ao código e parcialmente executável.