Tecnobank - Estabilização e evolução de um aplicativo em desenvolvimento
Projeto realizado entre 2019 e 2020 para estabilização técnica e evolução de um aplicativo iOS e Android desenvolvido anteriormente por outro fornecedor. Os protótipos e builds permaneceram restritos ao ambiente interno de desenvolvimento e homologação e não foram publicados ou disponibilizados ao público.
O escopo inicial
A empresa atua com tecnologia e dados para o mercado de financiamento de veículos. O pedido foi objetivo: evoluir o aplicativo então em desenvolvimento com a inclusão da consulta de cobranças e ajustar o design como parte da evolução prevista do projeto.
Os projetos iOS, em Swift, e Android, em Kotlin, haviam sido iniciados por outro fornecedor. O trabalho da X-Apps consistia em dar continuidade ao desenvolvimento a partir da base existente.
A avaliação inicial da base
Antes da evolução funcional, foi necessário realizar uma etapa de estabilização técnica e adequação do ambiente de desenvolvimento.
O recebimento e a organização do código-fonte exigiram ajustes iniciais para que os projetos pudessem ser abertos e executados corretamente.
No iOS, foram identificadas inconsistências de compilação que precisavam ser tratadas antes das novas implementações.
A configuração utilizava CocoaPods e Carthage simultaneamente, com sobreposição de alguns frameworks, o que levou à revisão da estratégia de dependências.
Também foi necessário compatibilizar as versões do ambiente, da linguagem e das bibliotecas utilizadas pelo projeto.
No Android, a base em Kotlin passou por uma etapa inicial de leitura técnica e ajustes para dar continuidade ao desenvolvimento.
Em projetos de continuidade, validar código, dependências e ambiente de compilação é parte da etapa inicial. Essa estabilização criou as condições para avançar com segurança nas evoluções previstas.
Estabilizar a base para evoluir
A sequência de trabalho foi definida a partir das dependências técnicas identificadas na avaliação inicial.
Android primeiro. Como a plataforma oferecia o caminho mais direto para um build funcional, ela foi priorizada. Os ajustes necessários à compilação foram realizados nos primeiros dias, estabelecendo uma base para as evoluções seguintes.
Depois o iOS. A etapa concentrou-se na revisão da árvore de dependências, com atualização dos pacotes e consolidação do gerenciamento no CocoaPods, além da retirada do Carthage para eliminar sobreposições. Com a configuração organizada, a compilação foi restabelecida e o projeto pôde ser compatibilizado com as versões requeridas pelas bibliotecas.
Ajustes de comportamento e interface. Com os builds estabilizados, a equipe avançou para ocorrências identificadas nos testes de uso. Entre elas, foram tratados o acionamento das linhas da tabela de contratos, com atualização do componente de abas e inclusão do recurso de célula necessário, e o comportamento do botão flutuante na tela inicial.
A funcionalidade contratada
Com a base estabilizada, a consulta de cobranças foi incorporada ao perfil de instituição financeira, acessível pelo botão flutuante da tela inicial.
A tela lista as últimas cobranças com mês de referência, vencimento, data de pagamento, valor do boleto e situação. A funcionalidade foi implementada no Android e disponibilizada em build interno para homologação durante o ciclo de desenvolvimento.
Em paralelo, avançou a frente de design. Os protótipos contemplaram o aplicativo como um todo, e não apenas a nova tela: login, menu inicial, consulta de registro, validação de certidão, fatura e cobrança, registro de contrato e os acessos de despachante e cidadão. Esses materiais foram utilizados exclusivamente em ciclos internos de prototipação e validação com a Tecnobank, sem publicação ou disponibilização ao público.
O fluxo de registro de contrato refletia particularidades do domínio, como a variação do conjunto de campos conforme o estado. O levantamento de prototipação contemplou sete unidades da federação, cada uma com sua configuração.
Os protótipos passaram por rodadas sucessivas de validação interna com a Tecnobank, com ajustes de navegação e conexão entre telas a cada ciclo.
A análise técnica e as recomendações
Durante a estabilização, também foram identificados pontos que poderiam se beneficiar de uma avaliação estrutural mais ampla, além do escopo funcional contratado.
Como recomendação técnica, a X-Apps propôs uma análise estruturada do software para mapear arquitetura, dependências, manutenção e oportunidades de evolução antes de novos incrementos funcionais. Como alternativa para planejamento futuro, também apresentou uma estimativa para eventual reescrita do aplicativo, comparando duas tecnologias multiplataforma.
Esse tipo de diagnóstico apoia decisões sobre a continuidade do produto com base em informações técnicas, considerando escopo, esforço e estratégia de evolução.
Stack e práticas
- iOS em Swift e Android em Kotlin, com continuidade do desenvolvimento a partir de projetos iniciados por fornecedor anterior.
- CocoaPods para gerenciamento de dependências no iOS, com consolidação da configuração e retirada do Carthage para reduzir sobreposições.
- Adequação manual de componente de interface de abas, com inclusão do recurso de célula necessário ao comportamento previsto.
- Adobe XD para protótipos de baixa e alta fidelidade, com link de visualização para validação interna do cliente.
- Disponibilização de builds em ambiente interno para homologação conforme o avanço do trabalho.
- Testes dos endpoints do cliente com coleção de requisições, para validar o comportamento da integração entre o aplicativo e os serviços.
- Reuniões de validação dos protótipos com a área de negócio da Tecnobank.
Os protótipos e builds mencionados neste case integraram exclusivamente o ciclo interno do projeto realizado entre 2019 e 2020 e não foram publicados nem disponibilizados ao público.
Dando continuidade a um aplicativo já existente?
Projetos que partem de uma base desenvolvida anteriormente costumam começar por uma etapa de entendimento do código, do ambiente e das dependências. A partir desse diagnóstico, é possível estabilizar a base, planejar as evoluções e orientar as decisões técnicas seguintes.
