Uma das etapas mais importantes do processo de desenvolvimento de um software ou sistema é o levantamento de requisitos. Especificar corretamente o que o sistema deverá fazer é fundamental para o sucesso do projeto, além de poupar tempo e dinheiro necessários para o desenvolvimento.

Tanto o gerente de projetos quanto o desenvolvedor do sistema trabalham para um mesmo objetivo: a entrega (ou o recebimento) de um site ou sistema que funcione corretamente e no prazo previsto para o seu desenvolvimento.

Para isso, todas as fases e atividades do desenvolvimento devem ser cuidadosamente elaboradas. Para isso, podem ser usando abordagens mais ricas em documentação ou as metodologias ágeis( método SCRUM, por exemplo), levando em conta o que o cliente deseja e as necessidades do sistema.

A base de um projeto de sucesso é um trabalho que:

  • identifique;
  • quantifique;
  • define;
  • priorize;
  • e classifique os principais problemas do sistema em desenvolvimento.

Por isso, neste artigo, falaremos sobre a relação entre um bom levantamento de requisitos e um projeto de sistema de sucesso. Boa leitura!

O que é um requisito?

Em primeiro lugar, é muito importante definir o que é um requisito. O requisito é a especificação de uma característica ou propriedade que um sistema ou componente deve possuir para satisfazer um contrato especificado.

Esses requisitos podem ter várias classificações, como: requisitos funcionais e não-funcionais, requisitos de negócios e assim por diante.

Assim, o levantamento de requisitos é fundamental para a construção do software certo. Todos os envolvidos no projeto devem saber exatamente o que esse sistema fará e o que ele não fará, pois nem sempre está clara a fronteira da aplicação.

Definição de Levantamento de Requisitos

Levantamento de requisitos

Assim como definimos o que é um requisito, também é muito importante definir o que é o levantamento de requisitos e qual é a sua importância.

Nessa etapa fundamental, o time de desenvolvimento compreende, identifica e define as necessidades que o cliente e/ou usuários esperam sanar com o sistema que será desenvolvido. É a primeira fase no ciclo de desenvolvimento, onde são definidas as funcionalidades e o escopo do projeto.

De forma resumida, o levantamento de requisitos define os serviços que o sistema ou software oferecerá e dispõe sobre as restrições à operação dele. O levantamento de requisitos costuma ser feito em conjunto com o gerente de projetos (ou analista do negócio) com o engenheiro de sistema ou desenvolvedor.

Uma das grandes dificuldades durante o levantamento de requisitos é a comunicação entre as partes interessadas. Acontece muitas vezes de a pessoa que está contratando o software não ser o usuário final e passar apenas o seu ponto de vista para o desenvolvedor. 

Por isso, é fundamental que o analista de requisitos tente enxergar todos os cenários mais prováveis, de forma a compreender corretamente o que se espera do sistema e dessa forma evitar erros durante a criação das funcionalidades.

É recomendável que esse processo contemple dois grupos de atividades:

Especificação de requisitos – atividades realizadas com o intuito de identificar, analisar, especificar e definir as necessidades de negócio que um sistema deve prover para solução do problema levantado. 

Gestão de requisitos – documentação, versionamento, controle de mudanças e qualidade dos requisitos levantados na etapa de especificação de requisitos. 

Todo esse processo resultará em um documento com os requisitos que o sistema irá contemplar.

Dica importante: Um dos maiores problemas enfrentados na hora de estabelecer o levantamento de requisitos é não refletir as necessidades reais dos usuários ou a gestão correta de mudanças que já foram previamente acordadas. Dessa forma, se você é o analista responsável pelos requisitos do sistema, fique atento a esta informação.

Tipos de requisitos

Os requisitos normalmente são classificados em: 

Requisitos Funcionais

Os requisitos funcionais são aqueles que abordam o que o sistema deve fazer. Eles têm o intuito de agregar valor ou facilitar o trabalho que o usuário desenvolve, apontando como o sistema deve se comportar em situações específicas. 

Exemplos de requisitos funcionais são: cadastrar clientes, consultar saldo em conta corrente, imprimir cupom fiscal, etc.

Requisitos não-funcionais

Os requisitos não funcionais tratam de características que o sistema deve possuir, ao invés de funcionalidades, como restrições, segurança, confiabilidade, velocidade, validações, etc. Exemplo: velocidade (o sistema deve executar a transação em até 5 segundos).

Após os requisitos do sistema terem sido identificados, os desenvolvedores estarão preparados para projetar o sistema.

Técnicas de Levantamentos de Requisitos

Levantamento de requisitos

Para facilitar o levantamento de requisitos, o analista dispõe de algumas técnicas que tem por objetivo superar as dificuldades desta fase. Existem diversas técnicas, cada uma com um conceito próprio e adequada para um cenário específico, que podem, inclusive, serem usadas em conjunto. 

Nesta fase, os usuários e engenheiros de requisitos devem trabalhar juntos com o intuito de descobrir, articular e entender a organização como um todo, os processos específicos e as necessidades que o software deverá atender.

A seguir estão algumas das técnicas de levantamento de requisitos:

Levantamento orientado a pontos de vista

O levantamento de requisitos orientado a pontos de vista reconhece que mesmo para o desenvolvimento de um sistema simples, existem muitos pontos de vista diferentes que devem ser considerados.

Dessa forma, estes diferentes pontos de vista são usados pelos analistas de requisitos para estruturar e organizar o processo de levantamento e os próprios requisitos.

In Loco

Essa técnica de levantamento de requisitos consiste em observar os usuários em seu ambiente de trabalho, ou seja, o ambiente onde o sistema será instalado. O analista se insere no ambiente de trabalho, observa e anota as tarefas reais que o sistema será utilizado. 

O principal objetivo deste tipo de técnica é que ela reflete os processos reais onde as pessoas estão envolvidas.

Workshops

levantamento de requisitos

Os workshops são uma técnica de elicitação em grupo feita em uma reunião estruturada. Fazem parte dessa reunião os analistas e uma seleção de stakeholders que melhor representam a organização.

O workshop tem o objetivo de fazer com que todas as pessoas da equipe participem e interajam entre si. Existe um facilitador neutro responsável por conduzir o workshop e promover a discussão entre o grupo.

Prototipagem

Este tipo de técnica explora aspectos críticos dos requisitos e implementa de forma rápida um pequeno subconjunto de funcionalidades deste produto, que simula o sistema real. Ela é mais utilizada como uma técnica de validação de requisitos do que como uma técnica de levantamento de requisitos.

Serve para mostrar ao cliente cenários onde os requisitos obtidos são muito vagos ou não tão claros e este valida se estiver de acordo com a solução que ele deseja.

Entrevistas

Entrevistas são a forma mais tradicional e mais utilizada de levantamento de requisitos e  produz bons resultados na fase inicial de obtenção de dados.

O analista se reúne com o cliente e coleta os requisitos através de entrevistas que podem ser estruturados ou não estruturadas. Além disso, se vale de observações do cenário apresentado por ele. É muito interessante que o analista dê margem ao cliente para expor as suas ideias.

Ter um plano de entrevista faz com que não haja dispersão do assunto e se produzam bons resultados.

Questionários

O levantamento de requisitos também pode ser feito através de questionários que o analista desenvolve para o cliente responder. Ele é muito indicado quando há grupos de usuários que podem estar em diferentes lugares do país.

Elaboram-se pesquisas específicas e através das respostas fornecidas são elaborados os requisitos.

É uma boa opção para sistemas simples, mas se torna inviável para sistemas mais complexos com muitos recursos e regras de negócio.

Brainstorming

levantamento de requisitos

A técnica de brainstorming tem o objetivo de gerar ideias através de uma ou várias reuniões, permitindo que as pessoas discutam um tema central e dêem as suas sugestões.

A intenção é gerar uma boa quantidade de ideias sobre o tópico que está sendo alvo do brainstorming.

JAD

O JAD (Joint Application Design) é uma técnica que tem como objetivo promover a cooperação e o trabalho em grupo entre toda a equipe envolvida com a solução a ser criada. O ponto principal é que todos os níveis envolvidos com o projeto estejam interagindo com a definição dos requisitos.

Para o sucesso da implantação de um novo sistema é muito importante que todas as pessoas envolvidas no projeto participem e harmonizem seus interesses nos objetivos do projeto. 

Concluindo: sem uma definição correta e gestão dos requisitos o projeto de implantação de qualquer tipo de sistema pode ter o seu sucesso comprometido. Por isso, sendo você um desenvolvedor ou um gerente de projetos, foque sua atenção em fazer um bom levantamento de requisitos para o sistema que você está desenvolvendo ou contratando.

Ele é fundamental para o sucesso do projeto e pouca tempo e dinheiro de ambas as partes.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *