A importância do Analista de Requisitos

Analista de Requisitos - importancia-analista-requisitos-engenharia-software-1Vamos falar um pouco sobre a importância do profissional responsável pela modelagem dos requisitos.

Aqui vamos chamá-lo de Analista de Requisitos, considerando a nomenclatura mais utilizada nas empresas aqui no Brasil, para este profissional.

O Analista de Requisitos talvez seja o profissional mais relevante do processo de produção de software.

Eu realmente acho que é! Vamos entender melhor isso.

Para que fazemos software?

O objetivo principal de um projeto de software é: materializar uma solução de negócio em software executável.

Muitos de nós, sejamos estudantes ou profissionais já atuantes na produção de software, muitas das vezes não pensamos sobre o propósito de um software. Achamos que trata-se apenas de programação e implantação, por exemplo.

Um software existe para resolver problemas de negócio.

Isso se dá através de uma solução, e esta solução é viabilizada através de um software. Softwares existem apenas para viabilizar soluções para algum negócio.

Dependendo do segmento de mercado da empresa que possuir o “problema”, e quiser “materializar a solução”, este software poderá ser um sistema corporativo, um website, uma app mobile, um software para carros, ou até mesmo um jogo.

E independente do segmento da empresa, do seu porte, e do tipo de software que será produzido para viabilizar a solução esperada, de forma macro o processo de produção deste software é o mesmo.

O primeiro passo sempre é modelar a solução, definindo seu escopo detalhado, e depois realizar a construção, realizar testes, e então entregar o que chamamos de “software executável”.

A realidade na nossa área

Analista de Requisitos - importancia-analista-requisitos-engenharia-software-tensaoEntretanto, infelizmente, nosso mercado é carente de maturidade e disciplina para realizar este trabalho, as empresas ainda estão começando a perceber que fazer software sem projetá-lo antes, em termos mais conceituais, mais funcionais, é garantia de fracasso em seus projetos.

Não há mais espaço para programar com o “usuário ao pé do ouvido”, isso se mostrou sinônimo de prejuízo.

Isso é tão verdade, que segundo o livro Software Testing, de Ron Patton, 60% dos bugs são gerados por problemas de Especificação.

E para piorar, segundo o Chaos Report, do Standish Group, um dos melhores relatórios em nível mundial da nossa área, apenas 6% dos projetos de software de grande porte são concluídos com sucesso, 52% terminam com muito débito técnico, e 42% dos projetos fracassam.

Isso mesmo, fracassam. São cancelados, descontinuados, viram prejuízo!

Loucura estes números, não?

Mas imagino que se você já trabalha na área, isso não é novidade para você.

E ainda, imagino que você não deve conhecer muitos profissionais que são realmente bons em Engenharia de Requisitos, pois de fato, são poucos os que se sobressaem nessa disciplina.

Pense: você conhece algum “fera” em requisitos?

E pense ainda: quantos programadores você conhece? E quantos Analistas de Requisitos você conhece? Com certeza a quantidade do primeiro é muito maior que a do segundo, não?

Há quase um ano eu fiz uma pesquisa com os assinantes da nossa lista do blog. A pesquisa tinha como objetivo validar algumas hipóteses que eu havia estabelecido, para incluir no meu curso sobre Engenharia de Requisitos.

401 pessoas responderam a pesquisa, à época.

Uma das perguntas contidas na pesquisa era: “Na sua visão, o que você sabe sobre Engenharia de Requisitos?“. E abaixo segue um gráfico com os resultados para esta resposta:

Analista de Requisitos pesquisa-engenharia-requisitos-análise-requisitos

Em percentual, 4% dos respondentes afirmaram que conhecem muito, 42% que conhecem pouco, 8% conhecem o suficiente, e 45% afirmaram que precisam conhecer mais.

Porque isso é assim?

Essa ausência de conhecimento se dá, principalmente, pela baixa oferta de capacitação nessa disciplina.

Na faculdade são pouquíssimas as aulas, e cursos que realmente capacitam profissionais para serem bons profissionais de requisitos são raros.

E o pouco conteúdo disponível geralmente aborda a teoria sem levá-la para o campo da prática, para a realidade do que realmente acontece nas fábricas de software, por exemplo.

Mas o que isso nos apresenta?

Uma grande oportunidade de mercado para profissionais realmente bons em Engenharia de Requisitos! Tanto para os que trabalham como empregados, quanto para os que trabalham por conta própria.

Como falamos, todas as empresas que produzem software precisam definir os requisitos para seus projetos.

Até mesmo nas demandas – ou solicitações de mudanças, change requests, sustentação, ou qualquer outro nome aplicável nas atividade de manutenção de sistemas – isso compulsoriamente é necessário.

E o profissional que entende o problema com o cliente, pensa a solução para este problema, e traduz esta solução para requisitos funcionais, requisitos não funcionais, regras de negócio etc. é o profissional de Requisitos.

Este profissional possui nomenclaturas diversas: Analista de Requisitos, Analista Funcional, Analista de Negócios, Analista de Sistemas, dentre outras. Depende da cultura da empresa, e de seu plano de cargos e salários.

É ele quem define o escopo, faz o repasse com os programadores, apoia o gerente de projetos, suporta a equipe de testes, tem propriedade para fazer métricas e estimativas etc.

É o profissional chave do projeto, sem dúvida alguma!

Pense bem: é mais fácil trocar o profissional que é ponto focal do cliente, que conhece tudo sobre o escopo do software do ponto de vista de negócio, ou trocar um programador, que conhece mais a parte técnica, e domina modelos que não demandam especialização no negócio?

Quem é mais crítico para o projeto, para a equipe, para a empresa?

E mesmo que você não seja um profissional que diretamente precisa modelar requisitos, precisa ser bom nisso também!

Qual é a principal entrada para o trabalho do programador, ou dos arquitetos? Requisitos. Qual o principal insumo para os analistas de testes especificarem seus casos de testes, por exemplo? Requisitos. O que um Gerente de Projetos tem que entregar em software executável? Requisitos!

Ou seja, o ideal é que todos sejam bons em requisitos, principalmente, o profissional que realiza a modelagem, que interage diretamente com o cliente, e que define o escopo detalhado do software.

Se quiser conhecer mais sobre Requisitos de Software, baixe gratuitamente nosso eBook, pode lhe ser muito útil.

Analista de Requisitos - eBook sobre Requisitos de Software

Se você gostou do conteúdo deste post, deixe seus comentários, para ajudar outras pessoas a encontrarem este material! :)

Analista de Requisitos