Situação (antes da nossa atuação)
Antes da nossa atuação, a Icatu enfrentava desafios significativos devido à natureza distribuída do sistema CooperaFlex. O medo de implementar novas funcionalidades e a manutenção do sistema aumentavam os custos e a complexidade dos testes manuais. A falta de uma abordagem automatizada dificultava a gestão eficiente do sistema.
Implicações
As principais dificuldades enfrentadas pela Icatu incluíam o receio de implementar novas funcionalidades, o aumento dos custos devido aos testes manuais e a complexidade de manter o sistema funcionando sem interrupções. Esses problemas afetavam a agilidade e a confiança da equipe na hora de lançar atualizações e melhorias.
O que fizemos
O primeiro passo foi a documentação e análise detalhada de todas as APIs e seus mais de 400 endpoints. Em seguida, iniciamos a elaboração dos testes automatizados. Nosso plano envolve desenvolver um teste por US (User Story) e entregá-los semanalmente para que a equipe da Icatu possa começar a perceber o impacto positivo na sua pipeline de desenvolvimento. Além disso, realizamos calls semanais com a gestora para acompanhamento e com a equipe de desenvolvedores para transmitir conhecimento, estabelecer padrões e tirar dúvidas.
Entregáveis
O trabalho ainda está em fase de desenvolvimento, apesar dos ganhos já se mostrarem muito interessantes:
Entregas Incrementais: Devido à complexidade do sistema (com centenas de endpoints), as entregas estão sendo incrementais, com a criação de testes automatizados para cada novo endpoint analisado.
Confiabilidade: Cada teste desenvolvido é rigorosamente validado para assegurar não apenas a performance, mas também a consistência e a integridade em relação ao código original.
Sustentabilidade: A estruturação dos testes automatizados é pensada para garantir a sustentabilidade do sistema a longo prazo, mesmo com o crescimento contínuo e a adição de novas funcionalidades. Isso proporciona segurança para a Icatu, sabendo que a implementação de novas features não comprometerá a estabilidade do sistema.
Disseminação do Conhecimento: Cada etapa do desenvolvimento dos testes é discutida com a equipe de desenvolvimento, destacando os benefícios e as boas práticas implementadas. Essa troca contínua de conhecimento aumenta a capacidade da equipe em realizar suas tarefas diárias com maior qualidade e eficiência, minimizando problemas futuros.
Feedbacks
Até o momento, a gestora elogiou o levantamento inicial, destacando sua qualidade e detalhamento. A equipe de desenvolvimento também expressou apreciação pela estrutura de código e os padrões estabelecidos, além de destacar a clareza e facilidade de entendimento proporcionadas durante as sessões de acompanhamento.