top of page

Como atingimos a maturidade de desenvolvimento através do Review App

  • Foto do escritor: Victória Santana
    Victória Santana
  • há 4 dias
  • 8 min de leitura

Quando falamos em desenvolvimento de software, a primeira coisa que vem à mente são linhas e mais linhas de código. Mas, na prática, escrever código é apenas uma parte do processo. O verdadeiro desafio está em transformar ideias em soluções de maneira ágil, sem sacrificar qualidade em favor da velocidade, garantindo que cada funcionalidade seja testada e validada antes de ser liberada para os usuários. No nosso dia a dia na Arbeit Studio, percebemos que, por mais que tivéssemos um fluxo bem estruturado, ainda enfrentávamos dificuldades na validação de novas funcionalidades. Dessa forma, a revisão e testes de código por si só nem sempre era suficiente para evitar retrabalho ou minimizar falhas que só eram percebidas depois do deploy.


Essa necessidade de rever nossos processos ficou ainda mais evidente com o crescimento da nossa produção para a JNS Seguros. Com a demanda cada vez maior, precisávamos lidar com entregas mais rápidas, implementar múltiplas funcionalidades ao mesmo tempo e garantir que todas essas mudanças fossem disponibilizadas de forma segura e organizada para o cliente. O volume de trabalho aumentou, e ficou claro que os métodos tradicionais de validação já não eram suficientes para acompanhar essa evolução.


Nosso processo de desenvolvimento precisava acompanhar essa nova realidade. Era essencial encontrar uma solução que nos permitisse validar rapidamente cada funcionalidade sem comprometer a qualidade, minimizar gargalos na comunicação do time e garantir que todas as mudanças estivessem alinhadas com as necessidades do cliente antes do deploy. Precisávamos de um fluxo mais ágil, que suportasse múltiplas entregas simultâneas sem aumentar o risco de falhas em produção.


Foi nesse cenário que inventamos o nosso próprio estilo de Review App, uma abordagem que transformou nossa forma de testar e aprovar novas funcionalidades. Com ele, conseguimos criar ambientes isolados para cada feature, permitindo que desenvolvedores, QA e stakeholders validassem as mudanças de forma prática e visual antes mesmo de serem incorporadas ao sistema principal. Essa mudança não só reduziu retrabalho, como também trouxe mais segurança e previsibilidade para nossas entregas.


O que é um Review App?

Na Arbeit, operamos com ambientes de desenvolvimento ilimitados.

Isso mesmo, infinitos. E o que torna isso possível? O Review App. Mas calma, já vamos te explicar.


Para simplificar, podemos organizar esses ambientes em três categorias principais: Produção, Stage e Review App. Cada um tem um papel essencial para garantir que nossas entregas sejam seguras, bem testadas e livres de erros antes de chegarem aos usuários finais.


  • Produção: é o ambiente real, onde os clientes acessam o sistema e utilizam suas funcionalidades no dia a dia. Qualquer mudança nesse ambiente impacta diretamente a experiência do usuário.

  • Stage: funciona como um sandbox, um ambiente de testes voltado para a investigação de bugs, simulação de cenários específicos e validação de integrações, especialmente para parceiros que utilizam APIs. Diferente do fluxo tradicional Stage → Produção, adotamos um modelo próprio, onde: Review App → Stage e Produção ocorrem simultaneamente, garantindo que o Stage permaneça estável e confiável. Essa mudança foi essencial para melhorar a experiência dos parceiros que homologam suas integrações, evitando interferências inesperadas e proporcionando um ambiente seguro para testes.

  • Review App: é um ambiente de homologação dinâmico, criado sob demanda para testar mudanças específicas sem afetar nem o Stage, nem a Produção. Ele possui um ciclo de vida curto e existe apenas enquanto a funcionalidade ainda está em desenvolvimento.


Um fluxograma mostrando uma solicitação de mesclagem do Git levando a um estágio de revisão do aplicativo antes de chegar à fase de produção
Linha do tempo dos ambientes de desenvolvimento

Podemos imaginar esses ambientes como uma linha do tempo. A Produção representa a linha principal e contínua do nosso software. Sempre que uma nova funcionalidade é criada, o Review App surge como uma ramificação temporária dessa linha. Essa ramificação é gerada automaticamente a partir de um gatilho no Git — como a abertura de um Merge Request — e permite testar as mudanças em um ambiente isolado. Assim que a funcionalidade é validada e integrada à Produção, a ramificação do Review App é encerrada, e a linha do tempo principal segue adiante, agora com a nova alteração incorporada.


Como cada Review App é independente, conseguimos implementar e testar várias funcionalidades ao mesmo tempo sem risco de interferências. Isso nos permite validar múltiplas mudanças simultaneamente, garantindo que cada uma funcione como esperado antes de chegar à produção. Além disso, caso surja algum efeito colateral em uma funcionalidade, sabemos exatamente de onde veio o problema, tornando o processo de correção muito mais rápido e eficiente.


Com essa estrutura, conseguimos manter um desenvolvimento contínuo e controlado, evitando impactos inesperados no produto final e assegurando a entrega de um software mais estável e confiável.


Os desafios do desenvolvimento sem ambientes isolados

Antes de implementarmos o Review App na Arbeit Studio, enfrentávamos uma série de dificuldades que impactavam diretamente a qualidade e a agilidade do nosso desenvolvimento. Os principais problemas estavam relacionados à integração simultânea de múltiplas features e à demora na implantação de mudanças e correções.


1. Conflitos entre features simultâneas

Com um fluxo de trabalho tradicional, todas as features em desenvolvimento precisavam passar pelos mesmos ambientes de teste antes de chegar à produção. Isso gerava interferências inesperadas, pois alterações em uma feature podiam impactar outra em desenvolvimento, causando efeitos colaterais difíceis de rastrear.


Esses conflitos aumentavam a necessidade de retrabalho, tornando o processo de validação mais demorado e sujeito a falhas. Muitas vezes, um bug identificado não estava relacionado diretamente à feature testada, mas sim a mudanças paralelas feitas no mesmo ambiente, dificultando sua correção.


2. Demora na implantação de mudanças e correções

Outro grande problema era o tempo de espera para que uma feature ou correção fosse implementada. Como todas as mudanças passavam por um mesmo pipeline de homologação (Stage) antes de irem para Produção, havia um acúmulo de ajustes sendo validados ao mesmo tempo. Isso causava atrasos nas entregas, pois uma correção crítica poderia ficar bloqueada por testes de outras funcionalidades ainda em fase de validação.


Além disso, enquanto uma feature aguardava aprovação, o ambiente de Stage e até mesmo o de Produção poderiam sofrer novas mudanças. Isso criava um efeito cascata de ajustes, onde correções aplicadas no início do ciclo de desenvolvimento podiam se tornar obsoletas ou gerar novos erros até o momento da implantação final.


O impacto no fluxo de trabalho

Esses desafios tornavam o processo de desenvolvimento mais burocrático, com dificuldades para escalar a equipe e manter um fluxo de entregas contínuo e seguro. O retrabalho constante e os riscos de falhas em Produção exigiam um esforço maior de monitoramento e correção, impactando a produtividade da equipe e a experiência do cliente.

Foi nesse contexto que identificamos a necessidade de um novo método de validação, capaz de oferecer isolamento, rapidez e rastreabilidade, sem comprometer a estabilidade do produto. A solução foi a adoção do Review App, que transformou a maneira como testamos e entregamos novas funcionalidades.


A transformação do processo de homologação

A adoção do Review App trouxe uma mudança significativa na forma como conduzimos o desenvolvimento na Arbeit Studio. Ele eliminou os principais gargalos do nosso processo, permitindo integração simultânea de features, entregas mais rápidas e maior rastreabilidade de problemas.


1. Isolamento total das features em desenvolvimento

Com o Review App, cada feature recebe um ambiente próprio para validação. Isso significa que as mudanças são testadas de forma independente, sem interferências de outras funcionalidades em desenvolvimento.


Agora, mesmo que várias equipes trabalhem simultaneamente em novas features, cada uma possui seu próprio espaço para testes, garantindo que erros ou efeitos colaterais fiquem contidos dentro daquele ambiente específico. Se surgir algum problema, sabemos exatamente de qual feature ele veio, facilitando a correção sem comprometer o restante do sistema.


2. Implementação ágil e entrega contínua

Antes do Review App, uma feature podia levar mais tempo para ser validada devido a dependências e bloqueios no Stage. Agora, como os ambientes de homologação são gerados sob demanda, as mudanças podem ser aprovadas e implantadas muito mais rápido.


Cada revisão acontece em paralelo, reduzindo o tempo de espera e permitindo que a equipe trabalhe de forma mais fluida. Isso é especialmente importante para correções urgentes, que podem ser testadas e aplicadas rapidamente sem precisar aguardar a liberação de outras features.


3. Maior previsibilidade e redução de erros em Produção

Como cada feature é testada de forma isolada e em um ambiente que simula fielmente a Produção, as chances de um erro passar despercebido diminuem drasticamente. Além disso, como o Review App só existe até a integração da funcionalidade, não há acúmulo de mudanças no ambiente de Stage, reduzindo a complexidade da implantação final.

Isso significa que o que foi validado no Review App é exatamente o que será entregue na Produção, eliminando surpresas desagradáveis no momento da liberação.


Aprendizados e Maturidade de Desenvolvimento

A implementação de ambientes dinâmicos para homologação transformou nossa abordagem no desenvolvimento de software. Mais do que uma mudança técnica, essa evolução exigiu ajustes nos processos, no fluxo de trabalho e na forma como a equipe colabora. Ao longo dessa jornada, identificamos práticas que potencializam os benefícios desse modelo e ajudam a evitar desafios comuns.


Uma das principais lições foi entender que, embora ambientes isolados aumentem a confiabilidade dos testes, sua gestão exige um monitoramento eficiente. Garantir que cada ambiente seja criado e destruído automaticamente, sem acumular instâncias desnecessárias, foi essencial para manter o uso otimizado dos recursos e evitar desperdícios. Além disso, manter logs detalhados e rastreáveis de cada teste facilitou a identificação rápida de problemas antes que chegassem à produção.


Também aprendemos que a integração contínua, para ser realmente eficaz, depende de uma estrutura disciplinada de versionamento e revisão de código. Foi necessário definir regras claras para merge requests, incentivar ainda mais revisões colaborativas - algo que já fazia parte da nossa cultura - e garantir que todas as mudanças fossem testadas individualmente antes de se tornarem parte do código principal. Esse cuidado reduziu falhas inesperadas e permitiu que cada entrega fosse feita com maior previsibilidade.


Outro ponto fundamental foi o equilíbrio entre agilidade e controle. O ganho de velocidade nas entregas só foi possível porque investimos fortemente na automação de testes e processos. Quanto mais automatizado o fluxo de validação, menor a necessidade de revisões manuais e maior a confiabilidade do que estava sendo entregue. O uso de ferramentas de CI/CD, como o GitLab se mostrou indispensável para garantir que cada nova feature fosse testada de maneira consistente e sem comprometer o restante do sistema.


Por fim, percebemos que nenhuma tecnologia substitui uma equipe bem alinhada. A transição para esse modelo exigiu uma adaptação na comunicação entre desenvolvedores, QAs e gestores de projeto. Criar um fluxo de trabalho transparente, onde todos entendem o que está sendo testado, quais são os riscos e como cada mudança afeta o produto, fez toda a diferença para que o processo fluísse de maneira eficiente.


Conclusão

A adoção de um ambiente dinâmico para homologação representou um salto significativo na maturidade do nosso processo de desenvolvimento. Ao longo dessa jornada, enfrentamos desafios, refinamos estratégias e aprendemos que a combinação de tecnologia, automação e boas práticas organizacionais é essencial para garantir entregas ágeis e seguras.


Com a estrutura que implementamos, conseguimos reduzir o tempo de validação de novas features, minimizar interferências entre mudanças simultâneas e aumentar a previsibilidade das entregas. A capacidade de testar cada funcionalidade em um ambiente isolado, sem impactar o restante do sistema, trouxe mais controle e segurança para a equipe e, consequentemente, mais estabilidade para o produto final.


Mais do que uma solução técnica, essa abordagem transformou a forma como trabalhamos. A automação permitiu que os processos fluíssem com mais eficiência, enquanto a transparência na comunicação entre as equipes garantiu que cada etapa fosse conduzida com clareza e responsabilidade. O resultado é um desenvolvimento mais estruturado, onde inovação e estabilidade caminham juntas.


Ao atingirmos esse nível de maturidade, reforçamos nosso compromisso com a evolução contínua. O mercado de tecnologia exige adaptação constante, e essa experiência nos mostrou que investir em processos inteligentes é tão importante quanto adotar novas ferramentas. Seguimos buscando melhorias, sempre com o objetivo de entregar produtos cada vez mais robustos, confiáveis e alinhados às necessidades dos nossos clientes.

Comments

Rated 0 out of 5 stars.
No ratings yet

Commenting on this post isn't available anymore. Contact the site owner for more info.

Arbeit Studio

Logotipo da Arbeit Studio em tons de vinho. Inclui a silhueta de uma pessoa segurando um grande martelo acima do texto 'ARBEIT STUDIO' em letras maiúsculas e negrito."
bottom of page