< Histórias de sucesso

Atendimento Digital: criação de um app com evolução de Maturidade Agile e Devops para Telecom

  • Agile

Com a intenção de aperfeiçoar um canal digital de atendimento ao cliente, uma das cinco  maiores empresas de telecomunicação do Brasil percebeu a necessidade de contratar um parceiro de desenvolvimento de software com capacidade técnica elevada, para agregar valor na entrega e metodologia de trabalho do time com capacidade técnica elevada. A solução tinha como requisito suportar um alto volume de acessos, já que se tornaria o seu principal canal de comunicação online. Afinal, são 5 milhões de usuários com opções de atendimento em três empresas e uma ampla gama de serviços, tudo isso concentrado em único aplicativo. 

A empresa buscou, então, a Objective e trouxe a sua preocupação com a qualidade de uma experiência amigável e instintiva para o usuário, que gerasse maior engajamento no uso dos meios digitais e, consequentemente, redução de custos nos canais tradicionais de atendimento. Em linhas gerais, a parceria envolvia a busca por soluções fluídas, escaláveis e seguras para as integrações com os sistemas legados e, em especial, mais eficiência para lançamentos futuros (time-to-market).

Foi quando assumimos o desafio e garantimos não apenas a qualidade do nosso corpo técnico, mas um time diverso para atender todas as necessidades da empresa. Dessa forma, entramos com uma equipe multidisciplinar que possuía  Desenvolvedores (back e front-end), QA, Arquiteto de SW, Analistas DevSecOps, Cientistas de dados e UX designers, atuando desde o discovery até o desenvolvimento do aplicativo propriamente dito, focando sempre na entrega de VALOR e também no compartilhamento de conhecimento entre os times.

Entregas mais rápidas e com maior qualidade: OKRs, o início de tudo

Um fator que influenciou a dinâmica de todo o trabalho, que se iniciou em janeiro de 2020, foi o uso das OKRs (Objectives and Key Results). A partir das OKRs se estabeleceu os objetivos de onde se queria chegar, como seriam metrificados os resultados e quais ações seriam desenvolvidas para alcançar as estratégias, mas sempre priorizando aquelas tarefas que tinham maior funcionalidade para o produto. Todas as atividades foram baseadas em três pilares que vão ao encontro da cultura do parceiro: transparência, foco e colaboração.

Cenário e priorização das atividades

As OKRs foram o nosso ponto de partida para o desenvolvimento das priorizações. E uma etapa importante para divisão das tarefas do projeto, o cliente já tinha uma planilha de matriz RICE, que estabelece quatro variáveis (alcance, impacto, confiança e esforço), e adicionou mais alguns outros valores voltados para inovação. 

Apesar da empresa ter uma grande preocupação com a transformação digital do seu aplicativo, ainda enfrentamos um cenário com algumas deficiências como inexistência de testes de integração; testes end-to-end; cobertura; e segurança, além de alta dependência de massas. Por isso, a gestão ágil e os testes automatizados se tornaram essenciais durante todo o processo. 

Utilizamos também a metodologia 3F que é um balanceamento na etapa de priorização. O primeiro ponto, a Feature, trouxe o que era de valor para o cliente; o segundo ponto, o Fixes, tinha uma reserva de atividades, porque sempre temos a preocupação com a qualidade e que esse percentual não excedesse e sobrecarregasse o time. E, por último, o Foundation, que é importante se atentar não só para entrega, mas trabalhar em cima de melhorias técnicas e de processo. 

Com o apoio da Objective todo o fluxo do processo de desenvolvimento do aplicativo foi direcionado pelos objetivos estratégicos, e a partir daí buscou-se a priorização das tarefas e também o balanceamento.

Redução da incerteza é a chave para um bom trabalho de desenvolvimento 

Trouxemos também os conceitos do Upstream Kanban com os seguintes pontos:

  • Seleção: Os itens foram tratados como opções e sua seleção dependeu do seu maior potencial de valor. 
  • Discovery Contínuo: Ideias e solicitações foram avaliadas, refinadas – colaboração e co-criação – para chegar em itens preparados (DoR).
  • Balanceamento: É mais do que apenas um fluxo de descoberta, tratou-se de uma abordagem integrativa e de balanceamento entre Discovery e Delivery.

E o resultado desses três pontos foi a redução da incerteza, nesse processo foi possível observar os riscos, dessa forma, os compromissos das entregas do time foram mais sustentáveis, por conta da boa execução do upstream. 

A importância da Gestão de fluxos

Discovery 

Quanto ao fluxo do Discovery, podemos dizer que predominantemente é o ciclo do PMO, no qual se tem todos os itens, as soluções que já foram mapeadas, além de todas as etapas para se chegar ao item com definição “contemplado”. 

A cada etapa do Discovery houve uma oportunidade de descarte. A Objective entende que no fluxo de upstream o descarte é bem vindo, até porque, mesmo que todo o trabalho seja feito de forma eficiente, se não houver valor, todo o esforço será inútil e gerará mais custo. Sendo assim, o descarte serve para ficarmos com as tarefas que realmente importam e trabalhar nelas de forma eficiente. 

Quebra de Backlog

Outro ponto abordado e a quebra do backlog em três níveis, sendo eles: Épico; Features, Fix, Foundation; e Tarefas. Esses três níveis ajudaram o time a entender o tamanho das atividades. Mas, nas tarefas, por exemplo, percebeu-se que o time UX atuava tanto nos cenários de desenvolvimento como em suas atividades próprias, então criou-se um caminho para que o time UX conseguisse fazer suas combinações e atividades da melhor forma. 

Fluxo de Delivery

Nessa etapa propriamente dita do desenvolvimento, substituímos algumas formas antigas de implantação tais como, deploy manual, build na máquina local, erros de build, posse de certificados e a ausência de um plano de rollback, por novas formas de implementação: deploy, build automatizado na nuvem, certificados protegidos e rollback automatizado. 

No Fluxo de Delivery é possível encontrar os fluxos de trabalho. Aqui, as tarefas foram quebradas e detalhadas e o todos os envolvidos conseguiram ter uma visibilidade das prioridades, facilitando a organização e gestão visual.

Na etapa do Mainstream, o time realmente coloca a mão na massa, nessa etapa em especial, priorizou-se a qualidade, na qual a cultura DevOps se conectou com todo o time desde o primeiro momento, permitindo que as massas de dados que precisam ser feitas fossem automatizadas para que o time pudesse desenvolver e acompanhar a qualidade de todo processo.

O resultado de todo esse processo foi a redução de Time to Market, rastreabilidade de builds, sem erros manuais ou duplicação de códigos, maior segurança e melhor controle de versões. 

Métricas e seus bons impactos 

Assim como todos os projetos, o time atuava com suas métricas específicas, contudo seu foco era muito mais em estimativas do que em previsibilidade. O time Analytics foi imprescindível para criar as regras e entender as melhores formas de analisar os resultados para alterar o foco. 

Nas metas de fluxo o time trabalhou com Throughput; Cycle Time; WIP, mais especificamente o limite do WIP de acordo com a capacidade do time e conexão com ferramenta de métricas; na Eficiência de Fluxo,  avaliamos a fila de e o tempo de espera das mesmas; e no Aging, o envelhecimento dos itens no board, que ajudou a reduzir o tempo de ciclo. Em previsibilidade usamos a simulação de Monte Carlo. 

Grandes benefícios com grandes impactos

Antes e depois: Maturidade Organizacional 

Acompanhamos o nível de maturidade organizacional pelo Kanban Maturity Model (KMM), que permitiu avaliar os processos de acordo com os diferentes níveis que vão de zero a sete. O nível 0 representa empresas que estão começando a sua jornada de evolução e os últimos aquelas que já estão com maturidade avançada, com alta performance dos times alinhada com os objetivos de negócios da organização, representando menor risco diante do mercado.

Um dos principais benefícios da gestão de fluxo, por exemplo, é que todo o valor gerado, tudo que foi feito, esteve alinhado aos objetivos estratégicos do cliente. Trabalhamos também a visibilidade de todos os projetos com a melhoria contínua para identificar os pontos onde se podia melhorar. 

Como consequência de uma implementação rápida e de qualidade, além de processos de desenvolvimento mais organizados e eficientes, os primeiros resultados começaram a aparecer em pouco tempo. 

A primeira medição foi em março e nela já consideramos algumas práticas que tínhamos começado no início do projeto em janeiro de 2020. Em novembro do mesmo ano fizemos uma nova avaliação, saímos de um nível 1 “emergente”  e fomos para nível 2 “iniciante”.

Mas, os benefícios não estão apenas nas medições, há algumas práticas como a previsibilidade de Monte Carlo que são até do nível 4 e outras nível do 3, ou seja, apresentam que o projeto estava caminhando para um nível avançado. 

Maturidade em Devops

A maturidade em Devops,  realizada também no mês de março, foi colocada como inicial mesmo tendo algumas questões mais avançadas, a parte da cultura, por exemplo, estava no nível 3, porém os demais pontos não estavam concluídos, dessa forma, não havíamos atuado em todas as práticas, por isso permanecemos no nível 1. Já no mês de junho, estava no nível gerenciando que já era um nível a mais, mas a Objective tinha o desafio ambicioso de chegar no definitivo, que é o nível 3.   Em novembro, nosso objetivo  foi alcançado com todos os tópicos concluídos. 

Doses de Qualitividade

Na busca pela qualitividade, ou seja equilibrar a qualidade com a produtividade, a troca de conhecimento foi muito grande, o compartilhamento de informações acontecia em todo o processo. Além da facilidade em se adaptar com mudanças, que é um ponto muito forte quando pensamos em agilidade,  destacamos também a cultura do time: em uma pesquisa interna, 100% do time respondeu que consideravam que Devs e Designers faziam parte de um mesmo time.

Aumento na classificação do aplicativo

Após cerca de um ano de parceria, os resultados já começaram a ser notados, o aplicativo no APP Store e no Google Play aumentou a sua pontuação em 1,3 pontos na avaliação dos seus usuários. O que indica uma boa experiência na navegação da interface, funcionalidades e ao tempo de resposta. Sem contar na facilidade: o aplicativo permite que o cliente atenda às suas próprias solicitações e gerencie o seu plano sem ajuda de terceiros, se tornando assim, o principal canal de comunicação online dessa grande empresa de telecom.

Resultados de UX 

  • Entrevistas e testes de usabilidade realizados mesmo em tempo de pandemia no formato remoto com ótimos resultados.
  • Todos os estudos de experiência do usuário foram baseados em dados retirados através de ferramentas de analytics e pesquisas qualitativas realizadas através de entrevistas e testes de usabilidade.
  • Propostas aderentes às limitações tecnológicas, devido à atuação conjunta de UX e o time técnico. 

Resultados técnicos

  • Utilização de Design System para criação da interface. Resultados técnicos
  • Foco em qualidade com redução de 7% da taxa de bugs, representando menor impacto no negócio da empresa usuários do aplicativo
  • Escalabilidade no desenvolvimento com aumento nas entregas
  • Deploy automatizado com redução de 95% do tempo
  • Alta experiência de uso do aplicativo: Índice Apdex 0,96 (mede a qualidade da experiência do usuário de zero a um)
  • Alta disponibilidade: Cash-free-99,8% em plataforma com cerca de 2 milhões de acessos diários.

Resultados do processo 

  • Visibilidade: todo o time envolvido e alinhado com acesso a tudo que está acontecendo no projeto resultando em um trabalho mais fluido. 
  • Alta previsibilidade: Com análises estatísticas alcançamos maior precisão na previsão de entrega do backlog. Obtivemos 1 feature entrega a cada 2,5 dias. 
  • CI/CD: Toda a esteira de build automatizada, reduzindo erros e o time to market e melhorando de forma geral a qualidade. 
  • Responsividade: Com automação, modelo de trabalho ágil e precisão de previsibilidade conseguimos responder rapidamente a problemas 
  • Adaptabilidade: Respondemos a mudanças de produto e negócio rapidamente.

Insights do nosso time

Obtenha insights do nosso time de especialistas sobre metodologias de desenvolvimento de software, linguagens, tecnologia e muito mais para apoiar o seu time na operação e estratégia de negócio.