Desenvolvimento de Software e o Profissional de Requisitos

O profissional de Requisitos talvez seja o profissional mais importante 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.
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.

 

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 

Entretanto, 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.

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.

Porque isso é assim?

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.

Mas lembrando: todos os profissionais do processo de produção de software são relevantes! Mas como é difícil “os combinados serem cumpridos“, o destaque vai para o profissional que tem a missão de entender e modelar o “combinado”, para que evitar a fadiga posterior.

 

2017-10-23T21:39:23-03:0024/10/2017|Tecnologia|Nenhum Comentário
Translate »