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: