Matheus Castiglioni

Sacrificial Architecture

Muitas vezes vão haver situações onde a melhor decisão é jogar toda arquitetura e base de código fora para começar reescrever uma nova do zero, porém, em situações e cenários assim é muito comum pessoas se sentirem mal do ponto de vista onde o código que elas escreveram será “condenado” e para várias pessoas jogar código fora é sinal de falha.

Mas, as vezes o melhor código que podemos escrever agora é o código que iremos jogar fora em poucos anos, isso porque nós estamos acostumados a pensar nos códigos como sistemas de longa vidas.

Mas porque iriamos escrever um sistema já pensando em jogá-lo fora daqui um tempo? Possíveis pontos de reflexão para tal pergunta:

Na Google por exemplo eles utilizam uma metodologia onde sistemas são desenhados para atender 10x as necessidades atuais, caso o sistema atinga uma magnitude maior do que isso é geralmente melhor jogá-lo fora e recomeçar do zero.

Sacrificial Architecture

Mas, o que significa de fato Sacrificial Architecture? Quer dizer que precisamos essencialmente aceitar agora que em poucos anos nós iremos provavelmente precisar jogar fora o que está sendo atualmente construído. Dessa forma precisamos pensar agora (hoje) como as coisas podem ser trocadas quando esse momento chegar sem que exija muito esforço e problemas.

Mas, não significa que vamos abandonar a qualidade do sistema, caso façamos isso pode ser que nem chegue o momento da troca e a má qualidade cause maiores e outros problemas.

Também podemos aplicar os princípios da sacrificial architecture para funcionalidades, ou seja, se você está construindo uma nova funcionalidade torne-a disponível apenas para um conjunto de clientes, então você pode colher os feedbacks se ela é uma boa ideia ou não.

Um ponto importante é que o time responsável pela construção da sacrificial architecture é quem decide o momento para jogá-la fora.

Conclusão

Nesse post vimos o que de fato quer dizer sacrificial architecture, quando precisamos utilizá-la e porque.

Abraços, até a próxima.

Matheus Castiglioni

Matheus Castiglioni

Apaixonado pelo mundo dos códigos e um eterno estudante, gosto de aprender e saber um pouco de tudo, aquela curiosidade de saber como tudo funciona, tento compartilhar o máximo de conhecimentos adquiridos e ajudar todos aqueles que sou capaz.

comments powered by Disqus