Artigo

Técnicas de Elicitação de Requisitos para o EBSERH (TI)

Olá pessoal, tudo bem? Neste artigo veremos um resumo das principais técnicas de elicitação ou levantamento de requisitos, assunto que é um dos mais cobrados pela IBFC no tema de engenharia de requisitos.

Assim, este artigo está estruturado da seguinte maneira:

  • Introdução
  • Principais Técnicas de Elicitação ou Levantamento de Requisitos
    • Técnicas Tradicionais
    • Técnicas de Elicitação de Grupo
    • Prototipação
    • Técnicas Cognitivas
    • Técnicas Contextuais
  • Síntese e Mapa Mental

Introdução

No mundo da engenharia de software, a excelência reside na capacidade de compreender as necessidades e expectativas dos stakeholders (partes interessadas), traduzindo-as em requisitos bem definidos que servirão como base para o desenvolvimento de sistemas de software bem-sucedidos. Este processo crítico, conhecido como elicitação ou levantamento de requisitos, é o alicerce de qualquer projeto de software e desempenha um papel essencial na ponte entre a visão inicial do sistema e sua implementação prática.

A elicitação de requisitos é uma disciplina complexa que requer uma compreensão profunda das técnicas disponíveis para coletar, analisar e documentar os requisitos de software. 

Neste artigo, exploraremos um conjunto abrangente de técnicas que os analistas de requisitos, engenheiros de software e outros profissionais envolvidos no desenvolvimento de software podem empregar para capturar as necessidades dos stakeholders de forma eficaz. 

Veremos desde as técnicas tradicionais, como entrevistas e questionários, até abordagens mais inovadoras, como a prototipação e a etnografia. A banca não costuma aprofundar muito nesse assunto, sendo suficiente conhecer o conceito de cada técnica e a categoria em que se encontra.

O objetivo é que ao final deste artigo, vocês estejam preparados para gabaritar as questões deste assunto.

Principais Técnicas de Elicitação ou Levantamento de Requisitos

Para tornar a elicitação de requisitos mais eficiente, foram desenvolvidas diversas técnicas que podem ser usadas em conjunto. A escolha da melhor técnica depende do tempo disponível, dos recursos, da complexidade do projeto e das informações a serem obtidas. Algumas categorias de técnicas de elicitação incluem:

  • Técnicas Tradicionais
  • Técnicas de Elicitação de Grupo
  • Prototipação
  • Técnicas Cognitivas
  • Técnicas Contextuais

A seguir, veremos a descrição de cada uma dessas categorias e suas principais técnicas de elicitação de requisitos.

Técnicas Tradicionais

São as técnicas mais comuns, aplicadas em várias áreas de conhecimento. Alguns exemplos são:

  • Entrevistas: Realizar entrevistas com os stakeholders para discutir suas necessidades e desejos.
  • Questionários: Criar questionários estruturados para coletar informações de um grande número de pessoas de forma padronizada.
  • Observação: Observar as atividades dos usuários em seu ambiente de trabalho para entender melhor suas necessidades.

Técnicas de Elicitação de Grupo

Incentivam a colaboração e a geração de ideias entre as partes interessadas. Como exemplos temos:

  • Workshops: Reuniões de grupos de stakeholders para discutir e definir requisitos de forma colaborativa.
  • Brainstorming: Também conhecido como “tempestade de ideias“, nesta técnica as partes interessadas são reunidas em um local e todas as ideias são declaradas em voz alta e escritas. É uma técnica amplamente utilizada para gerar um grande número de ideias, soluções ou conceitos em um ambiente de colaboração. O brainstorming é eficaz porque cria um ambiente que encoraja a livre expressão de ideias, estimulando a criatividade e a colaboração. Ele é frequentemente usado no início de um projeto para reunir uma variedade de perspectivas e explorar diferentes abordagens para um problema. Aqui estão os passos básicos e a explicação de como o brainstorming funciona:
    • Preparação: Reúna um grupo de pessoas com conhecimento relevante sobre o problema ou requisitos em questão. 
    • Fase de Geração de Ideias: Durante esta fase, o grupo se reúne para discutir o tópico em questão. A principal regra é que não há julgamento de ideias nesta fase. Os participantes são incentivados a compartilhar qualquer ideia que tenham, não importa quão estranha ou improvável possa parecer. A ênfase está na quantidade de ideias, não na qualidade.
    • Duração Limitada: A sessão de brainstorming geralmente é cronometrada para evitar que as discussões se arrastem por muito tempo em uma única ideia.
    • Variedade de Ideias: Durante a sessão, as ideias são anotadas de forma visível, seja em um quadro branco, em notas adesivas ou em uma ferramenta digital. Isso permite que todos vejam as ideias sendo geradas e oferece inspiração para ideias adicionais.
    • Discussão e Seleção: Após a sessão de geração de ideias, o grupo revisa as ideias coletadas. Neste ponto, as ideias são debatidas e classificadas com base em sua relevância, viabilidade e valor para o projeto.
    • Documentação: As ideias selecionadas são documentadas e se tornam parte do conjunto de requisitos ou soluções a serem considerados no projeto.
  • JAD (Joint Application Development): É uma técnica de elicitação de requisitos que se destina a reunir, de maneira colaborativa e intensiva, os stakeholders chave de um projeto de software para definir e documentar requisitos de forma eficaz. A JAD é especialmente útil quando se deseja acelerar o processo de coleta de requisitos, melhorar a comunicação entre os envolvidos e minimizar mal-entendidos. Os principais aspectos da técnica JAD são:
    • Reúne os participantes-chave: A JAD reúne um grupo selecionado de participantes-chave, incluindo usuários finais, gerentes, analistas de sistemas e desenvolvedores.
    • Sessões de trabalho intensivas: As sessões JAD são geralmente realizadas em períodos concentrados, como vários dias, com a intenção de maximizar a produtividade.
    • Presença de um facilitador: Um facilitador experiente é essencial na condução das sessões JAD. O facilitador orienta o grupo, mantém o foco nas metas, ajuda a resolver conflitos e garante que as discussões sejam produtivas.
    • Agenda bem definida: Cada sessão JAD tem uma agenda claramente definida, que pode incluir revisão de processos, discussões sobre requisitos, revisão de protótipos e documentação.
    • Ferramentas de apoio: Durante as sessões JAD, são frequentemente utilizadas ferramentas de apoio, como diagramas, fluxogramas, protótipos de software e modelos conceituais, para ajudar a visualizar as ideias e conceitos.
    • Documentação em tempo real: À medida que os requisitos são discutidos e definidos, eles são documentados em tempo real. Isso ajuda a manter um registro das decisões tomadas e a criar um conjunto claro de requisitos.
    • Aprovação dos stakeholders: No final das sessões JAD, os requisitos documentados são revisados e aprovados pelos stakeholders presentes, garantindo que haja consenso sobre o que foi acordado.
  • RAD (Rapid Application Development): é uma abordagem que se concentra na entrega rápida de sistemas de software funcionais. Utiliza técnicas como JAD, ferramentas CASE e prototipação para acelerar o processo de desenvolvimento e entregar um produto final em menos tempo.

Prototipação

A ideia da prototipação é criar protótipos ou modelos para permitir que as partes interessadas visualizem o sistema e consigam entender melhor os requisitos. Esta técnica é muito útil quando existe um alto grau de incerteza e também quando se deseja um feedback rápido dos usuários.

Técnicas Cognitivas

Técnicas cognitivas de elicitação de requisitos são um conjunto de métodos que têm como objetivo entender o pensamento e o conhecimento dos usuários, a fim de coletar informações relevantes para o desenvolvimento de sistemas de software. Essas técnicas são especialmente úteis para projetos que envolvem sistemas baseados em conhecimento, onde a compreensão das estruturas cognitivas dos usuários é fundamental. Algumas técnicas cognitivas são:

  • Análise de Protocolo: Nessa técnica, os pesquisadores observam e registram as ações e pensamentos dos usuários enquanto eles realizam tarefas específicas. Isso envolve a coleta de dados “em tempo real” sobre como os usuários abordam um problema ou realizam uma tarefa. A análise de protocolo ajuda a identificar os padrões de pensamento, os desafios e as estratégias dos usuários, fornecendo insights valiosos para o design do sistema.
  • Laddering: O laddering é uma técnica usada para explorar as relações hierárquicas entre os valores, crenças e objetivos dos usuários. Os pesquisadores fazem perguntas abertas, como “Por que você acha isso importante?” ou “Como isso se relaciona com seus objetivos?” para aprofundar a compreensão das motivações subjacentes dos usuários. O resultado é uma representação em forma de “escada” que ilustra as conexões entre os elementos cognitivos.
  • Card Sorting: O card sorting é uma técnica que envolve a categorização e a organização de informações ou conceitos. Os usuários são convidados a agrupar cartões com informações relacionadas de acordo com seu entendimento. Essa técnica ajuda a determinar como os usuários percebem e organizam informações, o que é útil na estruturação de interfaces de usuário e arquitetura de informação.
  • Repertory Grids: Os repertory grids são usados para explorar as percepções e o entendimento dos usuários em relação a um determinado tópico. Os usuários são solicitados a comparar e contrastar elementos (por exemplo, características de um sistema) e a descrever suas semelhanças e diferenças. Isso ajuda a identificar as dimensões que os usuários consideram mais relevantes e a entender como eles conceitualizam o tópico.

Técnicas Contextuais

Por fim, temos as técnicas contextuais, que são abordagens que se concentram na compreensão profunda do contexto em que um sistema será utilizado. Elas visam capturar as nuances do ambiente, interações sociais, práticas de trabalho e comportamento dos usuários para informar o processo de elicitação de requisitos. Algumas técnicas contextuais são:

  • Etnografia: é uma técnica de pesquisa que envolve a imersão profunda no ambiente dos usuários e partes interessadas. Ela é originária da antropologia, mas é frequentemente usada em contextos de desenvolvimento de software para entender como as pessoas interagem com sistemas e tecnologia em seu ambiente natural. Para realizar a etnografia, os pesquisadores passam tempo observando e interagindo com os usuários em seu ambiente de trabalho ou em suas atividades cotidianas. Eles fazem anotações detalhadas, entrevistam os usuários e documentam suas experiências. A etnografia busca obter uma visão profunda da cultura, práticas e desafios do ambiente do usuário. Isso ajuda a identificar requisitos que podem não ser evidentes apenas através de entrevistas formais.
  • Análise Social: é uma técnica que se concentra nas interações sociais e comunicações entre os stakeholders. Ela visa entender como as pessoas se comunicam, compartilham informações, tomam decisões e colaboram em um ambiente específico. A análise social envolve a observação e análise de como as pessoas se relacionam e compartilham conhecimento. Além disso, pode incluir o estudo de redes sociais, a análise de comunicações por email, reuniões e outras formas de interação. A análise social ajuda a identificar relações, hierarquias e padrões de comunicação entre os stakeholders. Isso é útil para entender como a informação flui e como as decisões são tomadas no contexto do projeto.

Síntese e Mapa Mental

Síntese das Técnicas de Elicitação de Requisitos

Abaixo, apresentamos um resumo das técnicas de elicitação de requisitos agrupadas por categoria:

  • Técnicas Tradicionais: forma mais comum de coletar informações dos stakeholders. Como exemplos temos: entrevistas, questionários e observações.
  • Técnicas de Elicitação de Grupo: incentivam a colaboração e a geração de ideias entre as partes interessadas. Ex: workshops, brainstorming, JAD e RAD.
  • Prototipação: envolve a criação de protótipos para ajudar as partes interessadas a visualizarem o sistema e obter feedback rápido.
  • Técnicas Cognitivas: buscam entender o pensamento e o conhecimento dos usuários. Ex: análise de protocolo, laddering, card sorting e repertory grids.
  • Técnicas Contextuais: focam na compreensão profunda do ambiente em que o sistema será utilizado, considerando aspectos culturais, práticas de trabalho e interações sociais. Ex: etnografia e análise social.

Mapa Mental das Técnicas de Elicitação de Requisitos

Por fim, apresentamos um mapa mental para facilitar a memorização e organização do assunto:

Mapa mental: Técnicas de Elicitação de Requisitos

Conclusão

Pessoal, enfim, chegamos ao final deste resumo sobre técnicas de elicitação de requisitos para o concurso do EBSERH. Procuramos trazer os principais pontos desse assunto, de acordo com o que a banca IBFC vem cobrando em suas provas, de modo que você possa gabaritar as questões sobre esse tema. Por fim, espero que este artigo seja útil em sua jornada rumo à aprovação. 

Quer saber tudo sobre concursos previstos?
Confira nossos artigos!

Concursos abertos

Concursos 2023

Deixe seu comentário

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

Veja os comentários
  • Nenhum comentário enviado.