Quem nunca ouviu aquela história (fictícia ou não) do dev júnior que apagou a base de dados em produção? Ou quantos de nós ao implementar aquela nova melhoria, sem perceber inseriu um bug dentro da aplicação? Normalmente, a nossa primeira atitude é culpar ou a pessoa (quando ela comete o erro) ou a nós mesmos (quando nós cometemos o erro).
Inserir bug em um sistema ou mesmo apagar os dados de produção não deveriam ser tarefas tão simples de realizar (você deve concordar comigo, não é mesmo?). Mas porque isso acontece?
Pessoas e Processos
Acredito que a resposta para esta pergunta inicia no entendimento de que a maioria desses erros é primeiramente uma falha de processo e não de pessoas. Observar as falhas a partir desse ponto de vista nos ajuda muito a encontrar a verdadeira causa do erro e evitá-las (ou pelo menos reduzí-las) no futuro.
No livro “A Startup Enxuta”, Eric Ries apresenta uma declaração bem interessante:
Se nosso processo de produção é tão frágil que você pode quebrá-lo logo no primeiro dia de trabalho, que vergonha por tornar isso tão fácil.
Em outras palavras, não deveria ser tão simples inserir um bug na minha aplicação!
Não chore o leite derramado, escreva testes!
Ok Ramon, eu entendi que não pode ser tão fácil. Porém, será que existe um meio pelo qual eu posso dificultar o meu “eu futuro” ou até um colega de cometer o mesmo erro? Sim! E uma das maneiras seria: escrever testes para sua aplicação!
O desejo e urgência para corrigir esse bug deve ser o mesmo para evitar que a próxima pessoa repetisse o erro. Ao inserirmos testes na aplicação, nós estamos de alguma forma protegendo o nosso trabalho bem como o dos nossos colegas também. Ou seja, tornando o processo de inserir bugs mais difícil.
Sempre que um novo bug é descoberto na aplicação, podemos criar um teste específico para detectá-lo. Dessa maneira, à medida que adicionamos mais testes, nosso sistema se torna progressivamente mais robusto e menos suscetível a erros. Percebeu que isso é muito mais produtivo que apenas criticar a pessoa ou até você mesmo?
Conclusão
Enxergar os erros como oportunidades de melhoria no processo de desenvolvimento, nos permite identificar as causas reais e implementar soluções eficazes. A criação de testes é uma das estratégias poderosas para tornar o sistema mais robusto e resiliente a novos bugs, fortalecendo continuamente o processo de desenvolvimento de software.
Referências
- Livro "A startup enxuta: Como usar a inovação contínua para criar negócios radicalmente bem-sucedidos" do Eric Ries.
Top comments (0)