Vale a pena um time dedicado para corrigir bugs?

Na Guiando, buscamos entregar o melhor software no melhor tempo, com o melhor custo. Nos preocupamos em melhorar nossos processos de desenvolvimento, testes e liberação. Entretanto, infelizmente, como qualquer empresa, ainda entregamos software com bugs (cada vez menos, felizmente).

Houve um tempo em que acreditávamos que a melhor alternativa para minimizar impacto de nossos erros em nossos clientes era manter um time dedicado para correção de bugs. Não acreditamos mais nisso!

NOTA DO ELEMAR: Este é um post do Fernando Paiva. Eu, Elemar, sou apenas o editor.

Como era nosso time de “Sustentação” (On-going)

Tínhamos um time dedicado para corrigir bugs e realizar ações preventivas (aham!?).

Inicialmente, entendíamos que ter pessoas focadas em resolver problemas, no menor tempo possível, da melhor maneira possível, causava impacto positivo no negócio. Tínhamos mais agilidade na trataiva de incidentes.

Gostamos tanto da ideia que modelamos bem os processos desse time. Ousados, estipulamos SLAs.  Além disso, passamos a monitorar indicadores de qualidade de atendimento e conquistamos a credibilidade de que os problemas demandados eram de fato resolvidos. (Um assunto a ser abordado com mais detalhes em um próximo post)

* O Jira coloca 0% quando não ocorrey nenhum chamado no período.

Restava apenas uma dor: Corrigíamos bugs rapidamente. Entretanto, a frequência com que novos bugs surgiam não diminuía. Tínhamos um “custo fixo” (alto) em função dos bugs. Entendíamos como algo natural. Para piorar, nosso time de “sustentação” tinha conflitos sérios com o pessoal de desenvolvimento. A impressão era de que muitos bugs ocorriam por “descuido”.

Quando o evidente fica ainda mais evidente

Foi então que percebemos algo que hoje parece óbvio. Não dá para despoluir um rio apenas limpando. Temos que parar de poluí-lo!

Quando separamos o time de sustentação do time de desenvolvimento, estávamos separando também quem “polui” de quem sofre as “consequências da poluição”. Constatamos que, por mais que as pessoas se sensibilizem com o fato de estarem entregando software com bugs, nada é mais efetivo do que sentir a “dor” de ter seu resultado afetado devido a entregas de baixa qualidade (São as ditas “cicatrizes”, que o Elemar tanto menciona).

O que estamos fazendo hoje

Percebido o problema, resolvemos fazer uma reorganização dos nossos times buscando competências multidisciplinares. Agora, cada time é completamente responsável por uma parte do produto (incluímos nos times, inclusive, pessoal de negócio).

Nos inspiramos fortemente em muitos dos processos antigos. Continuamos, também, observando as mesmas métricas e indicadores. Entretanto, mudaram os atores! Também mudaram nossos instrumentos de acompanhamento (veja a série “Kanban no mundo real” para entender melhor do que estou falando).

Cenas dos próximos capítulos

Ainda temos muito a melhorar, qualidade é algo a ser perseguido de maneira constante. Mas, essa mudança fez com que os problemas passassem a ser resolvidos na raiz e bugs recorrentes não retornassem. Ainda estamos sofrendo com o peso do legado – mas estamos percebendo que estamos melhores a cada dia.

O fim do time de sustentação aumentou o interesse pela escrita de testes automatizados (Elemar avisou que isso aconteceria). Estamos avançando muito nesse aspecto e acreditamos que vamos alcançar um nível muito bom em bem pouco tempo.

Na Guiando, [tweet]começamos a REALMENTE eliminar bugs no momento em que deixamos de ter um time dedicado a eliminação de bugs[/tweet].

Como funciona na sua empresa?

Compartilhe este insight:

Elemar Júnior

Sou fundador e CEO da EximiaCo e atuo como tech trusted advisor ajudando diversas empresas a gerar mais resultados através da tecnologia.

Elemar Júnior

Sou fundador e CEO da EximiaCo e atuo como tech trusted advisor ajudando diversas empresas a gerar mais resultados através da tecnologia.

Mais insights para o seu negócio

Veja mais alguns estudos e reflexões que podem gerar alguns insights para o seu negócio:

In the previous post, I shared some good things about our new query language: RQL. Now, I will show you...
In this post, I would like to share my first attempt to create a (still) elementary search library. The source...
  Recently, I asked what would be the execution result of the following code: using System.Threading.Tasks; using static System.Console; class...
O desenvolvimento de uma aplicação com ótima performance só é possível mediante considerações desde sua arquitetura. Otimizações pontuais de código,...
Neste post mostro como implementar um EventBus, utilizando RabbitMQ, em C#. Este código ainda está em desenvolvimento. Em breve, uma...
Tenho realizado uma série de apresentações, em conferências, onde compartilho um pouco das lições que tenho aprendido implementando microsserviços. Abaixo,...

Inscrição realizada com sucesso!

No dia da masterclass você receberá um e-mail com um link para acompanhar a aula ao vivo. Até lá!

A sua subscrição foi enviada com sucesso!

Aguarde, em breve entraremos em contato com você para lhe fornecer mais informações sobre como participar da mentoria.

Crie sua conta

Preencha os dados para iniciar o seu cadastro no plano anual do Clube de Estudos:

Crie sua conta

Preencha os dados para iniciar o seu cadastro no plano mensal do Clube de Estudos:

× Precisa de ajuda?