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:

 Você alguma vez já se perguntou quantos bugs os seus clientes encontram quando estão usando o seu produto? A resposta que vem de imediato é: NENHUM. Pois saiba que você está enganado! E, o primeiro passo para a qualidade, é admitir isso! Sim, o seu software ou MVP que está rodando no cliente tem bugs (apesar de você ser o melhor programdor do mundo)! Podem ser bugs que não impactam muito  e, até outros que sejam decisivos para o usuário a ponto de deixarem de usar seu software por causa disso.  É, qualidade importa e você não imagina quanto!

 

No post sobre Qualidade destacamos a dificuldade de definir e entender o conceito geral por trás dela mas, principalmente, que ela está diretamente ligada ao que o seu cliente deseja e sente. Então qual é o seu foco quando o assunto é qualidade?! O seu cliente! E como começar a medí-la?! Com certeza através dele!!! E como alguém que já tem um produto pronto pode começar a entender o impacto dessas mudanças no seu cliente final? Veja algumas dicas abaixo:

Estabeleça um Canal de Comunicação com seus Clientes

“Como posso fazer isso?”

Para conseguir entender melhor o impacto dessas mudanças o empreendedor deve estabelecer um bom canal de comunicação com o seu cliente para que ele possa reportar problemas e/ou sugestões e depois disso, transformá-las em requisitos e/ou pontos de melhoria para o seu software! 

Muitas pessoas pensam que no caso de disponibilizarem esse tipo de link de comunicação pode denigrir a imagem de seu produto já que estarão “assumindo” que seus produtos são suscetíveis a falhas o que pode afastar o cliente. Mas tudo depende da forma como você vende esta iniciativa. Empresas como Google, Apple e Facebook fazem isso e nem por isso alguém deixou de usar o Gmail, iPhone e o próprio Facebook!

No Gmail, por exemplo, antigamente tinha a opção para denunciar bug que hoje foi alterada para “Enviar Comentários”! Nunca viu essa opção no seu Gmail? Então vá em Configurações que verá!

No Facebook para dispositivos móveis também é muito fácil de encontrar esta opção de forma bem explícita. No final da barra de controle que fica no lado esquerdo você consegue ver claramente um “Denunciar um Problema”.

  

 

Já a Apple disponibiliza um site para que os desenvolvedores possam reportar bugs que encontraram no iOS. Além disso, o maps quando foi liberado cheio de bugs possuia uma opção para poder enviá-los para a apple. 

 

Venda esse canal de comunicação como algo positivo

Para esta ideia não ser mal interpretada pelo seu cliente é importante que você pense em como irá “vendê-la” para eles. Por isso, se o seu público alvo for de pessoas que não entendem nada de software, então não faz muito sentido usar frase com palavras como “bugs”, “problemas”, “defeitos”, dentre outras. Neste caso é aconselhavel seguir a linha do Gmail com um “Enviar Comentários”. Com certeza neste caso o seu filtro deverá ser melhor já que poderão vir tanto críticas quanto elogios ou qualquer outro tipo de mensagem, mas é de extrema importância manter este canal de comunicação.

Analise e registre as informações coletadas

Depois de estabelecer esta comunicação, seja na própria ferramenta, no site da sua empresa, no facebook ou em qualquer outro lugar, você deve começar a registrar essas informações e analisá-las. Às vezes um problema diagnosticado pelo cliente pode ser somente uma dificuldade na utilização da ferramenta, por exemplo. Esse tipo de informação muitas vezes pode ser descartada diretamente sem uma prévia análise, mas o que você não percebe é que fazendo isso pode estar jogando fora a oportunidade de melhorar o seu produto e consequentemente conseguir mais clientes.

Defina um padrão de qualidade para sua empresa

É extremamente importante analisar e entender o problema/sugestão apontada pelo seu cliente e principalmente documentá-las para que sejam sempre consultadas. A partir desta informação é possível entender o padrão de qualidade do seu cliente e trabalhar para que a sua ferramenta fique cada vez melhor para ele! 

O padrão de qualidade deve ser medido ponta-a-ponta desde o feedback dos seus clientes, índice de uso da ferramenta até a cobertura dos testes. Linkando esses fatores é possível entender até que ponto os seus clientes estão dispostos a conviver com alguns bugs ou não. Entendendo como esses fatores se relacionam trará um grande benefício para a sua startup, e principalmente,  quando outras soluções semelhantes a sua surgirem no mercado. 

Ao entender e definir o padrão de qualidade, ele deve ser o mesmo para a sua empresa, ou seja, conforme você for trabalhando com um processo de desenvolvimento um pouco mais estruturado, será possível perceber que a qualidade final foi impactada pelas boas práticas adotadas durante todo o ciclo de desenvolvimento. E, quando esta qualidade atingir o patamar ideal para a sua empresa é possível identificar que qualquer valor abaixo dele será considerado ruim.

Existem outras formas de conseguir identificar erros encontrados no seu software depois que ele foi liberado para o cliente. A mais comum delas é o relatório de uso gerado automaticamente pela ferramenta quando ocorre um problema e é enviado para a empresa desenvolvedora. Esta também é uma ótima prática que deve ser associada ao link de comunicação. Mas caso tenha que decidir qual das duas prefere usar primeiro, opte pela informação direto do seu cliente. Desta forma a sua empresa terá mais do que um ponto específico diagnosticado, podendo até inserir funcionalidades diferentes que não foram pensadas anteriormente devido a um feedback.


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:

Alguma vez você já parou para se perguntar: O que é qualidade?? Não estou falando somente de qualidade de software, mas qualidade em geral. Nessas horas você pode estar pensando: “que pergunta mais idiota! É óbvio que qualidade é aquilo que é bom!!”. Porém, se você parar um pouco para pensar, quando conversamos com outras pessoas podemos perceber que nem sempre o que é bom para elas, também é bom para a gente.

 

Não precisamos fazer muito esforço para pensarmos num exemplo onde isso é claramente percebido: na famosa disputa entre iPhone e Samsung Galaxy. O que pode também te levar a pensar: “não vou nem perder o meu tempo, é óbvio que o Galaxy é mil vezes melhor que o iPhone já que no Galaxy eu consigo fazer inúmeras coisas que o iPhone me bloqueia.” Ou então, “o iPhone dá de mil no Galaxy já começando pelo seu design e qualidade de imagem e fotos e, além disso, ele não trava o tempo todo!” Enfim, existem características que te levarão a concluir o que você prefere, o que você acha que é melhor, ou seja, o que tem mais qualidade para você!

iphone5-galaxy-s3

 

Para piorar, no mundo da tecnologia, falando mais especificamente de software, as opções são inúmeras o que dificulta mais ainda a escolha do cliente. Mas o que os novos empreendedores, donos de empresas pequenas e StartUps não param para pensar é que muitas vezes os clientes escolhem o que é menos pior para eles. Afinal, quantas vezes não ouvimos alguém comentando que comprou um determinado produto que tem diversas funcionalidades por causa de apenas uma que atendia a sua necessidade?!

Mas por quê ao invés de fornecermos o “menos pior” não focamos no melhor? Ao invés de focarmos em várias funcionalidades diferentes, não gastamos nossos recursos naquelas que realmente rendem alguma coisa? E como fazer isso?

 

Como vocês podem ver medir a qualidade de algum produto não é uma tarefa fácil já que é um conceito muito subjetivo, mas tentarei ajudar com algumas dicas de como você pode começar a percebê-la utilizando números, ou seja, métricas. E para isso, fui obrigada a recorrer ao meu TCC no qual uma frase se destacou: “Tratando-se de qualidade existem três aspectos fundamentais que devem ser levados em consideração: as pessoas, tecnologia e gerenciamento.”

 

Esta frase isoladamente pode não fazer muito sentido, mas vou focar nos três aspectos e tentar traduzi-los de uma forma mais prática para que você possa utilizá-la no seu dia-a-dia. Começando pelo primeiro item e acredito que o mais difícil: pessoas. Quando leio pessoas nesta frase, leio clientes. E quando penso em clientes, a logo associo a  “Requisitos de Software“! Posteriormente farei mais um post exclusivo dando mais dicas práticas de como utilizá-los.

Já a tecnologia faz referência a ferramentas e recursos tecnológicos que você irá utilizar para auxiliar durante todo o seu desenvolvimento: desde o computador até, por exemplo, uma ferramenta de gerenciamento de requisitos gratuita, além da tecnologia em si que está sendo desenvolvida. Também farei um post dando dicas de quais ferramentas você pode utilizar para melhorar a sua gestão de qualidade. E, por fim, gerenciamento!  O gerenciamento vem através da definição de métricas de acompanhamento e como utilizá-las para aumentar a qualidade de seu produto já que não adianta apenas medir os valores sem utilizá-los.

 

Trazendo um pouco mais para o mundo Startup: o Lean Startup fala bastante sobre evitar o desperdício de dinheiro, tempo de trabalho e recursos! E por isso nele é pregado o constante feedback dos clientes, afinal, são eles que podem te dizer o que mais gostaram ou detestaram no produto! É possível perceber então, que a qualidade está diretamente ligada às necessidades do usuário! Ela é totalmente relativa e você deve sempre se perguntar e entender até que ponto o seu cliente consegue lidar com os problemas encontrados no software?

métricas-digitais

 

Outro ponto fundamental tanto para a Engenharia de Software tradicional como para o Lean Startup são as métricas! São elas que irão te direcionar e dar base para a tomada de decisão: devo pivotar ou continuar? É com elas que você tem as informações necessárias para medir o aprendizado obtido durante um ciclo de desenvolvimento avaliando o impacto gerado nos seus clientes. Entendeu? Não?! Calma! Em outros posts nós iremos ajudá-los a entender melhor sobre o mundo de desenvolvimento de software em Startups!

Assine a nossa newsletter para ficar por dentro das novidades!!


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: