Muitas pessoas acreditam que um software com qualidade é um software que não possui falhas. Porém, o que elas não sabem, é que não existem softwares sem bugs.

Quantas vezes um aplicativo no seu smartphone simplesmente fechou, enquanto você estava utilizando? Quantas vezes você não teve que reiniciar seu computador devido a uma falha no sistema operacional?  Quantas mensagens de erro já não apareceram enquanto você utilizava um software específico? E, mesmo com esses bugs, você deixou de utilizá-lo? Não? Por que?

No post: “O que é qualidade?” falamos sobre a relatividade da qualidade, e como ela está ligada à necessidade do cliente. Por esse, e outros motivos, que mesmo os softwares com falha ainda são bastante utilizados por seus clientes. Sua proposta de valor, muitas vezes, possuem um peso muito maior na utilização desse software do que os bugs apresentados.

Mas isso não significa que você deve deixar de se importar com a qualidade do seu software, muito pelo contrário! Muitas startups dizem não ter tempo de realizar testes, para identificar os bugs de seus produtos. Porém, existem algumas boas práticas fáceis de implementar que aumentam o conhecimento e entendimento sobre o software liberado.

Eu chamo essas boas práticas de “4 pilares da qualidade enxuta”:

 1 – Mapeamento de Requisitos

requisitos-de-software

Os requisitos são a parte principal do seu software. Eles devem vir como o resultado do ciclo construir-medir-aprender do Lean Startup. Se você não consegue identificá-los e descrevê-los, entendendo quais requisitos impactam mais os seus clientes, você está fazendo errado! Refaça!
Por isso, escrevê-los e priorizá-los é uma boa prática, além de possibilitar seu mapeamento. Portanto, ecreva os requisitos do seu software! Não precisa ser nada complexo e muito detalhado. Eles devem ser descritos de forma que o desenvolvedor possa entendê-los.

Sugestão de formato de requisitos: Como um [ATOR (PERSONA)] eu quero/preciso/devo/gostaria de [AÇÃO] para [FUNCIONALIDADE].

Este formato leva em consideração conceitos de BDD (Behavior Driven Development) e UX, associando o ator a uma persona identificada para o produto.

2 – Rastreabilidade

A rastreabilidade ponta-a-ponta, desde requisitos até bugs, é um item fundamental para a obtenção e identificação da qualidade relativa. Com ela, é possível entender o impacto das alterações no software diretamente no seu cliente.

Perguntas como: quantos ciclos de teste devem ser realizados? Qual é a cobertura de testes ideal? O software está maduro o suficiente para ser liberado? Os bugs ainda existentes, possuem alto ou baixo impacto nos clientes? Podem ser facilmente respondidas quando a rastreabilidade é mantida.

Mas o que é rastreabilidade?

É o mapeamento dos produtos (ou artefatos) das etapas de desenvolvimento de software, mantendo-os sempre correlacionados. Durante um ciclo de desenvolvimento, o produto de cada etapa influencia e define as etapas conseguintes (mesmo em ciclos iterativos e incrementais). Por exemplo, o requisito influencia diretamente o código, que por sua vez, impacta a quantidade de bugs. Portanto, ao mantê-los relacionados, é possível identificar a influencia que cada um tem em todos os artefatos de desenvolvimento. 

3 – Gerenciamento

Software com qualidade, exige gerenciamento: gerenciamento de requisitos, código, bugs, métricas, etc. E, felizmente, no mercado existem inúmeras ferramentas que já fazem isso para você, sem você nem perceber.

Portanto, opte por ferramentas que absorvam todas essas possibilidades. Alguns exemplos são: Visual Studio, GitHub, Jira, dentre outras.  Muitas delas, inclusive, já trabalham a questão da rastreabilidade.

Vamos lá, não custa nada “fuçar” um pouquinho as ferramenta de controle de versão que a sua equipe utiliza hoje, para ver se ela já não abrange essas outras funcionalidades.

4 – Métricas

Não adianta fazer todo o gerenciamento, e não definir métricas. Isso mesmo! O papel delas, é para te manter informado sobre o seu software, para você poder entendê-lo mais claramente.

Posso fazer o release para o meu cliente?

Esse é o tipo de pergunta que as métricas vão auxiliá-lo a responder, favorecendo na tomada de decisão final  através da identificação do impacto das alterações feitas no software para o seu cliente.

Já falamos de métricas em outro post, então se não tiver nem ideia de como definí-las, acesse-o clicando aqui.

Está esperando o que? Comece agora a trabalhar nesses pilares, e tenha menos dores de cabeça durante o crescimento da sua startup.


E você, o que pensa sobre o assunto? Gostou do artigo? Compartilhe conosco sua opinião. Não gostou? Acha que podemos melhorar? Então nos ajude a aprimorar nosso trabalho.

Siga o Startup Sorocaba no Facebook e cadastre-se para receber nossa newsletter e para ser informado sobre todas as novidades.

Compartilhe: