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:

Pensando em diversos assuntos que poderia abordar aqui resolvi começar do inicio: Requisitos!!!! Muitos sabem o que são, mas nem todos entendem sua importância, a grande maioria acha perda de tempo. Mas neste post vou tentar explicar um pouco sobre sua importância com o intuito de convencê-los de que não é perda de tempo.

Geralmente, quando começamos a desenvolver um software idealizamos como ele deveria ser de acordo com as nossas expectativas e logo começamos a desenvolvê-lo, mas será que fazer desta forma traz somente benefícios? Bom, vamos entender primeiro o que é um requisito de software: de forma prática não é nada mais nada menos do que entender as necessidades do cliente e traduzí-las para um sistema, ou seja, para o software.

Não vou entrar muito nos detalhes de como desenvolver um requisito, até porque com uma simples busca no google você consegue descobrir como começar a utilizá-los. Quero apenas convencê-los de sua importância e a diferença que ele poderá trazer para o seu produto final. Mas de qualquer forma aqui está um link que você pode acessar para obter mais detalhes: Engenharia de Requisitos. Neste link você vai encontrar uma explicação mais detalhada sobre Engenharia de Requisitos mostrando seus conceitos, como utilizá-los, etc. Mas lembre-se todo processo deve ser adequado para a sua empresa, então comece com um passo menor: entendendo o que são requisitos e a escrevê-los de uma forma que vá te ajudar, com o tempo vocês irão evoluindo para algo mais robusto que necessitará de um processo mais complexo.

Voltando a importância dos requisitos vocês devem estar pensando “legal, mas por quê devo utilizá-los?”. Como eu havia dito anteriormente os requisitos são a tradução das necessidades do cliente para a descrição de um sistema que você pode desenvolver. Desta forma, ao entendermos a necessidade dos nossos futuros e/ou atuais clientes as chances de acertar no produto final aumenta, evitando com que tenhamos que fazer um re-trabalho quando começarmos a interagir melhor com nossos clientes.

Quantas versões de software você já teve que desenvolver até conseguir atrair o maior número possível de pessoas interessadas? Este tempo gasto em re-trabalho poderia facilmente ser usado para elaboração de  uma funcionalidade nova para o seu sistema ou até uma nova ferramenta para atingir um público diferente.

É comum ao desenvolvermos um software não nos incluirmos no público alvo, em algumas situações isso realmente não acontece. A melhor abordagem para levantar requisitos de uma Startup é conversar primeiro com o seu público alvo! Porém nem sempre é fácil de fazê-lo, e muitas vezes o cliente para começar a conversar precisa ter algum protótipo para entender do que se trata. Para esses casos,  ao desenvolvermos alguma coisa nova podemos pensar: essa necessidade que observamos foi para suprir problemas que enfrentamos no dia-a-dia? Neste caso, que tal juntar todos envolvidos no desenvolvimento e fazer um brainstorming das funcionalidades que a ferramenta deverá ter? Começar a escrevê-las e depois detalhar para requisitos de sistema?

Agora você pode pensar “ah, eu faço isso de cabeça, não preciso escrever!”. O que eu posso te dizer é que escrever os requisitos irá te ajudar posteriormente no final do processo, onde alguém irá realizar testes com base nesses requisitos, afinal o papel dos testes é assegurar que o produto final terá qualidade o suficiente para seu cliente. Além disso, também irá te ajudar no gerenciamento conforme a sua empresa for crescendo e seu quadro de funcionários aumentar!

Se você acha que qualidade é apenas um software livre de bugs (o que não existe) e que com apenas alguns testes aleatórios conseguirei garantir 100% da qualidade do software desenvolvido, nos próximos posts falarei um pouco sobre o que é qualidade e o papel do time de testes e SQA dentro da engenharia de software. Mas já para dar uma introdução ao assunto você já pensou o que é qualidade para você? Quais produtos você considera bons e a razão de os preferir? Então pense e comente com outras pessoas, você perceberá que qualidade é algo muito mais subjetivo do que objetivo. E como medí-la? Tentarei dar dicas para poder te auxiliar, mas pode ter certeza que a dica de hoje é uma das mais importantes.

São muitos os desafios encontrados por empreendedores no momento de montar uma Startup, mas utilizando algumas técnicas de engenharia de software (calma, até Lean Startup é um processo :)) alguns desses desafios podem ser amenizados e o fluxo de trabalho ficar muito mais simples, prático e eficiente!

Lembrem-se sempre que até Metodologias Ágeis constituem num processo de desenvolvimento! E a forma que você irá incorporar as melhores práticas desses processos na sua Startup deve ser de acordo com suas necessidades! Algumas coisas podem não ter sentido nenhum em utilizá-las, porém outras são fundamentais para o sucesso do seu produto! E requisitos é uma dessas coisas essenciais para o desenvolvimento do seu projeto!


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: