16/03/2018 Comunicação DB1

O que são Requisitos Não Funcionais

A engenharia de requisitos define os requisitos não funcionais, ou requisitos de qualidade, como sendo os requisitos que especificam critérios que podem ser usados para descrever o funcionamento de um sistema, e não os comportamentos específicos, pois para isso é utilizado os requisitos funcionais. Os não funcionais estão ligados ao limite de uso e as propriedades da aplicação e são muito importantes no projeto de desenvolvimento de um software, pois caso sejam negligenciados, podem trazer prejuízo para o seu projeto.

O usuário não sabe o que é, por isso é difícil elicitá-lo

Nossos Usuários costumam pensar apenas nas funcionalidades que o sistema deverá ter e como deverá ajudar em seu negócio, esquecendo de pensar sobre questões como a quantidade de dados que o sistema deverá trafegar, qual a quantidade de acessos simultâneos e até menos em quais sistemas operacionais o sistema deverá funcionar. E muitas vezes o usuário realmente não sabe como levantar essas informações ou que essas informações são vitais para o projeto. E uma das tarefas dos analistas é ajudar os clientes a levantar esses dados ao iniciar um projeto.

Requisitos Não-Funcionais são difíceis de estimar

relógio despertador branco ilustrando o tempo de analisar requisitos não funcionais

É difícil estimar prazo e custo para implementação de requisitos não-funcionais. Em termos de volume de trabalho (para criação do requisito e desenvolvimento), geralmente isso é feito baseado na “opinião de especialista”.

Medidas como: Ponto de Função, Linha de Código, Pontos por Caso de Uso e técnicas semelhantes mensuram apenas o que é perceptível para o usuário, e geralmente requisitos não-funcionais não são. Uma maneira para minimizar essa questão é utilizar uma base histórica, com base em situações já ocorridas no passado.

Categorias de um Requisito Não-Funcional

Para uma melhor organização da especificação e semântica do projeto do software, requisitos não-funcionais são separados por categorias, conforme o propósito de cada requisito. Podemos citar a seguir as principais categorias existentes:

  • Desempenho;
  • Disponibilidade;
  • Segurança;
  • Interoperabilidade;
  • Usabilidade;
  • Compatibilidade;
  • Confiabilidade;
  • Padrões;

Além das características citadas acima, existem outras categorias que seguem as boas práticas da engenharia de software.

Como documentá-los e organizá-los

Pilha de livros ilustrando como documentar e organizar requisitos não funcionais

Por padrão, costuma-se ter apenas um documento abordando todos os requisitos não funcionais de um Sistema. Analistas experientes já sabem que negligenciar este item geralmente impacta em muito retrabalho para o time, e claro, uma grande insatisfação por parte do seu Cliente.  Outro ponto que muitos Profissionais costumam falhar é abordar este item de maneira subjetiva ou superficial. Por exemplo:

“A interface deverá ser fácil e intuitiva” 

“O Login não poderá ser demorado” 

Exemplos como estes são subjetivos e falhos, do ponto de vista sistêmico, sendo impossíveis de serem validados. Portanto, ao documentar um requisito não funcional, procure evidenciar parâmetros para validá-lo. Desta forma, poderíamos descrever corretamente estes exemplos como:

“Cada interface não poderá ter mais do que 6 (seis) botões de acionamento, sendo acompanhados por ícones que correspondam à funcionalidade relacionada e uma tecla de atalho para o acionamento do mesmo” 

“A resposta da funcionalidade de Login do Sistema, não poderá ser superior a 3 segundos” 

Para mitigarmos situações como esta, é aconselhável que o documento de requisitos não-funcionais seja abordado (de forma assertiva), logo após o kick-off de um projeto. E que o restante dos requisitos funcionais, aguardem a sua aprovação para serem iniciados.

Conclusão

Requisitos não funcionais não podem ser negligenciados na elicitação dos requisitos, uma vez que podem trazer prejuízos financeiros para o seu projeto. Conheça a existência deles e confira que eles foram elicitados e documentados pelos analistas e engenheiros responsáveis do projeto.

Uma dica para auxiliar os profissionais é a certificação para um Engenheiro de Requisitos, que é um diferencial. A certificação guiará o entendimento destas boas práticas de elicitação, evitando com que o Profissional tenha que aprender com seus próprios erros e gere retrabalho para a equipe, e consecutivamente, para o Projeto.

Leia mais informações sobre a importância de uma certificação na Carreira de um Engenheiro de Requisitos.

Qual sua experiência com requisitos não-funcionais? Deixe um comentário!

 

Autores

Vinicius Carvalho

Engenheiro de Software, apaixonado por tecnologia e desenvolvimento de software. Focado no desenvolvimento de projetos que gerem resultados positivos e valor para as pessoas e/ou empresas. Tem atuado desde de 2010 na área de tecnologia de informação e desempenhado diversas funções de desenvolvedor a gerente de projetos. É certificado em Engenharia de Requisitos (CPRE-FL). Atua como Analista de Negócio utilizando as melhores práticas de engenharia de requisitos e gerenciamento ágil. Outros artigos de Vinicius: https://goo.gl/ZVnNK2

Diogo Pereira

Bacharel em Informática na UEM e MBA em Gerenciamento de Projetos de TI. Analista de Negócios na DB1 Global Software com certificação em Engenharia de Requisitos (CPRE-FL), atua em elicitação de softwares, prototipação, documentação funcional e não-funcional, além de fazer a ponte entre Product Owner e Desenvolvedores.

Fabiano Bonvino

Fabiano Bonvino é Analista de Negócios na DB1 Global Software. É graduado em Sistemas de informações pela Faculdade Mater Dei. Possui MBA em tecnologia da Informação pela Faculdade Maringá, e cursa MBA em Gerenciamento de Projetos em T.I. pela Faculdade Cidade Verde. É certificado em Engenharia de Requisitos (CPRE-FL). Atua na área de Desenvolvimento de Sistemas há mais de quinze Anos.

Comentários

comentários

Sobre o autor

Comunicação DB1 A DB1 Global Software, multinacional de tecnologia sediada em Maringá – PR, atua há 17 anos no mercado de tecnologia da informação, com softwares e serviços de desenvolvimento para empresas de médio e grande porte. A DB1 é a única empresa de tecnologia do Brasil com certificação MPS.BR nível A, possui certificação internacional CMMI-DEV nível 3 e figura há sete anos consecutivos entre as melhores empresas para se trabalhar pela GPTW (Great Place to Work). Com o lema “Seu Futuro é o nosso compromisso”, a DB1 se compromete com entregas de impacto e com qualidade para transformar o futuro de empresas e pessoas.