• Nenhum resultado encontrado

T24B–Complemento-TécnicasdeLevantamento

N/A
N/A
Protected

Academic year: 2021

Share "T24B–Complemento-TécnicasdeLevantamento"

Copied!
7
0
0

Texto

(1)

ARTIGO

Técnicas de Levantamento de Requisitos

*

Fabrício Portes Braga*

Analista de Sistemas graduado pelo UNIEURO – Centro Universitário Euro-Americano, pós-graduado pela UPIS – União Pioneira de Integração Social, Brasília- DF. Trabalha atualmente como Analista de Requisitos em empresa de Tecnologia da Informação em Brasília - DF.

E-mail: [email protected]

Resumo

Este artigo tem como objetivo, apresentar as principais técnicas de levantamento de requisitos, fazer uma comparação entre elas e demonstrar sua aplicação conforme as situações e ambientes encontrados na atividade de levantamento de requisitos.

Palavras-chave

Requisitos; Técnicas; Levantamento.

Techniques Survey of Requirements

Abstract

This article aims to, presenting the main techniques for waiver of requirements, make a comparison between them and demonstrate their application as the situations and environments found in the activity of lifting of requirements. .

Keywords

Requirements; Techniques; Survey .

*

Artigo apresentado à diretoria de ensino de pós-graduação, pesquisa e extensão, da UPIS – União Pioneira de Integração Social, em cumprimento à exigência para conclusão de MBA em Engenharia de Software com Ênfase em Gerencia de Projetos, sob orientação do professor Vinícius Lopes Coutinho.

APRESENTAÇÃO

O presente artigo caracteriza-se por uma abordagem técnica/didática, é destinado aos analistas de sistemas, analistas de requisitos, gerentes de requisitos e gerente de projetos,

por tratar de técnicas utilizadas

freqüentemente por tais profissionais no desempenho de suas funções.

Trata-se de uma revisão literária que abordará as principais técnicas de levantamento de requisitos com o intuito de prover ao leitor identificar as diferenças entre as técnicas abordadas e permitir que o mesmo utilize a

técnica correta conforme a situação

encontrada.

INTRODUÇÃO

A definição de requisitos é muito ampla, contudo todas se convergem para um senso

comum: Requisitos são a base de

comunicação entre a demanda conceitual para o entendimento de problema e a efetiva

construção/estruturação de idéias para

concretizá-los, ou ainda, “Requisito é uma declaração abstrata, de alto nível, de uma função que o sistema deve fornecer ou de uma restrição do sistema” [SOMMERVILLE 2003], ou, “Requisito é uma definição detalhada, matematicamente formal, de uma função do sistema.”[DAVIS 1993].

Um dos grandes problemas enfrentados no ambiente de desenvolvimento de software é a definição e o entendimento dos requisitos de

software corretamente e em sua totalidade,

(2)

quanto para o usuário, “Uma compreensão completa dos requisitos de software é fundamental para um projeto bem-sucedido. Um problema mal analisado e especificado desapontará o usuário e trará aborrecimentos ao desenvolvedor”[ PRESSMAN95].

A comunicação é parte fundamental no levantamento de requisitos, porém, estabelecer e manter uma comunicação produtiva para o entendimento muitas vezes é cheia de obstáculos, contudo, segundo Kendall [1992] para auxiliar o levantamento de requisitos, existem várias técnicas que podem ser utilizadas. O estudo realizado discutirá as características e a utilização das mesmas.

ESTABELECENDO A COMUNICAÇÃO O início do processo de levantamento de requisitos é estabelecer a comunicação entre a parte interessada na solução e a designada em prover a solução.

Para iniciar a comunicação entre as partes interessadas conforme Presman[1995], é necessária uma entrevista inicial. “A técnica mais comumente usada para preencher a falta de comunicação entre o cliente e o desenvolvedor é realizar um encontro ou entrevista preliminar”.

Na entrevista é aconselhável segundo

Gause[1989] que o entrevistador comece fazendo perguntas livres de contexto, ou seja, perguntas focadas à compreensão básica do problema como, por exemplo: “Quem está por trás do pedido deste trabalho?”, ou, “Há outra fonte para a solução exigida?”.

A próxima seqüência de perguntas deve permitir ao entrevistador obter uma melhor compreensão do problema e permitir ao entrevistado expor suas percepções sobre uma solução, um exemplo de perguntas a serem feitas nesta fase seria: “Quais problemas esta

solução resolverá?”, ou, “Você poderia mostrar-me (ou descrever-me) o ambiente em que a solução será utilizada?”.

Já a terceira e última leva de perguntas, ainda

segundo GAUSE [1989] seriam as

metaperguntas: “Conjunto de perguntas que

se concentram na efetividade do encontro”, são perguntas que visam um feedback do entrevistado e lhe permitem saber informações importantes como: “Você é a pessoa certa para responder a essas perguntas? Suas respostas são oficiais?”, “Minhas perguntas são pertinentes ao problema que você tem?” ou “Existe algo que você queria dizer que não foi perguntado?”.

As perguntas apresentadas devem ser feitas apenas no primeiro encontro com a finalidade de um conhecimento a cerca do problema, não devem ser estendidas para as demais reuniões, onde a finalidade é o levantamento da solução.

ENTREVISTA

Segundo Kendall[1992], “Entrevista é uma conversa entre duas ou mais pessoas com uma finalidade específica”. A entrevista é uma das etapas mais importantes no processo de levantamento de requisitos, é através dela que o responsável pela captação dos requisitos conhece as opiniões, as expectativas e os problemas a serem tratados e é através dela que deve ser traçada a estratégia para o levantamento.

Kendall[1992], expõe que as entrevistas devem seguir as seguintes etapas: Planejamento, condução e registro, podendo ser gravada ou não.

Antes de realizar a entrevista, o entrevistador deverá estabelecer os objetivos, delimitando assim o que perguntar, sem deixar de lado a formulação das perguntas e o tipo delas

(3)

(objetivas, subjetivas, aprofundamento), outro ponto importante é averiguar se o entrevistado é a pessoa mais indicada a responder as perguntas.

A formulação das perguntas deve ser feita conforme o objetivo esperado: podem ser subjetivas caso o entrevistador queira criar um ambiente de maior espontaneidade, obter riqueza de detalhes ou obter questionamentos mais abrangentes, contudo, o uso desta técnica pode fornecer detalhes irrelevantes e a perda de controle da entrevista, além de, em alguns casos passar a impressão que o entrevistador está sem objetivo. Caso queira limitar as respostas possíveis ou ganhar tempo, podem-se fazer perguntas objetivas (Quem? Quanto tempo? Quantos?). Já no caso de necessidade de obtenção de um detalhamento melhor a respeito de algum tópico, a utilização de perguntas de aprofundamento (Por quê? Poderia me dar um exemplo? Como é iniciado o processo?), é o mais indicado. Contudo, é importante evitar perguntas que levem o entrevistado a responder de forma específica ou perguntas que possuem duas respostas. Conforme Kendall[1992], a utilização das questões acima comentadas deve ser estruturada visando uma forma melhor de conduzir a entrevista. Em uma reunião onde o entrevistado não consegue abordar um assunto determinado, a estrutura pirâmide é a mais indicada, pois, é iniciada com perguntas detalhadas/objetivas e à medida que a entrevista progride, são utilizadas perguntas mais subjetivas. Já a estrutura de Funil, é aconselhada quando o entrevistador deseja uma maior espontaneidade ou é utilizada no começo de uma bateria de entrevistas, caracteriza-se por perguntas mais abrangentes no início e à medida que a reunião se desenvolve são utilizadas perguntas mais específicas. A estrutura Diamante é uma fusão dos dois tipos de estrutura (funil e pirâmide), geralmente é a mais utilizada, pois começa com questões específicas seguidas por questões mais abrangentes e termina com o entrevistador abordando novamente questões

objetivas, esta técnica tem como característica manter a atenção do entrevistado devido à variedade de questões.

QUESTIONÁRIO

O comprometimento dos detentores dos requisitos do sistema é determinante para o sucesso do projeto. Mas, em alguns casos, como a indisponibilidade física ou quando ocorre uma dispersão das pessoas envolvidas, ou até mesmo quando se deseja uma captação estatística, o questionário é a melhor forma de

levantamento, alem de, segundo

Kendall[1992], constituir uma técnica de levantamento que permite obter informações de várias pessoas afetadas pelo sistema como por exemplo: quantificação a respeito do levantado nas entrevistas, examinar uma grande amostra de usuários do sistema, obter um feedback a respeito de problemas ou identificar possíveis melhorias.

“A elaboração de um questionário é um processo muito mais complexo do que possa aparentar. Um questionário mal formulado pode levar a considerações erradas, o que acaba sendo prejudicial ao projeto em

questão” [PARASURAMAN91], daí a

importância de se fazer um planejamento adequado visando o conteúdo, formato e ordem das questões. Um questionário deverá possuir questões claras e sem ambigüidade, ter

fluxo definido, prever antecipadamente

dúvidas que possam surgir e não pode ser

muito extenso, pois pode ocasionar

desinteresse das pessoas que irão respondê-lo. A forma de entrega ou apresentação do

questionário também é abordada por

Parassuraman [1991]. A auto-resposta via correio ou e-mail, onde sua principal vantagem, é o envio a um grande número de pessoas, que podem responder quando quiserem, contudo, é provada a baixa taxa de respostas, obrigando assim ao remetente

(4)

enviar uma quantidade de e-mails/cartas além da quantidade desejada para que se atinja o mínimo de respostas. Já a auto-resposta em grupo, é um método que reúne um grupo de

pessoas e as perguntas são feitas

simultaneamente, mas cada um responde o questionário individualmente, a vantagem é que se obtêm as respostas rapidamente (ao

final da sessão) e perguntas e/ou

esclarecimentos podem ser feitos pelos questionados no momento em que surgirem as dúvidas. A auto-resposta (porta a porta) é uma técnica menos habitual, onde o investigador desloca-se pessoalmente ao local de trabalho ou à residência do entrevistado, entrega e explica o questionário e depois retorna para recebê-lo. A vantagem é o elevado número de respostas, porém, o tempo e os custos são elevados. Cabe ao responsável pela pesquisa, escolher a melhor técnica conforme a situação encontrada.

JOINT APPLICATION DEVELOPMENT

A técnica denominada por Joint Application

Development (JAD), desenvolvida pela IBM,

é uma reunião realizada com um grupo de

Stakeholders de diversas áreas e que estão ou

serão envolvidos no projeto em determinado tempo, sua finalidade elicitar dúvidas que são levantadas em áreas distintas como: Banco de Dados, Desenvolvimento e Usuários do Sistema. Participam também, um facilitador e uma pessoa designada para fazer anotações. Segundo Pádua [2001], esta técnica apresenta

as seguintes vantagens: obter maior

comprometimento dos usuários com os requisitos; reduzir o tempo necessário ao levantamento da especificação dos requisitos; retirar do projeto requisitos que de valor

questionável; esclarecer dúvidas de

interpretação dos requisitos entre usuários e desenvolvedores; identificar e discutir o mais cedo possível, problemas políticos que possam interferir no projeto.

JAD deve ser iniciada com a personalização, que visa a preparação, onde a equipe é definida, e orientações em relação á técnica é passada aos participantes, preparação das instalações, que devem ser externas ao local de trabalho dos participantes e definição de aspectos particulares relativos ao projeto. Pode-se também, segundo Pressman [1995], que atribui à JAD, uma abordagem popular da técnica Facilitaded Application Specification

Techniques (FAST) “solicitar aos participantes que elaborem uma lista de objetos que fazem parte do ambiente que circunda o sistema, de outros objetos que são produzidos pelo sistema e dos objetos que são usados para que o sistema execute suas funções, alem de uma lista de operações (processos ou funções), que manipulam ou interagem com os objetos”, ou seja, levantar anteriormente, o máximo de informações ou expectativas a respeito do que será discutido na reunião.

Logo após a fase de personalização, dá-se prosseguimento com sessões propriamente ditas. As sessões de JAD são divididas em etapas, de acordo com Pádua [2001], a

abertura, onde uma apresentação das

finalidades da sessão, agenda e tempo previstos; a macro definição de requisitos, ou seja: identificação de necessidades, objetivos e benefícios esperados e possíveis funções; a definição do escopo do produto; levantamento e detalhamento dos casos de uso do produto; leiaute das interfaces com o usuário; definição

de interfaces com outros produtos;

planejamento do JAD de análise e

documentação dos problemas e registro considerações e decisões tomadas durante as sessões.

Por último, a fase de fechamento, onde deverá ser produzida uma coletânea de tudo que fora levantado durante as sessões, um esboço da especificação de requisitos de software, que deverá ser apresentada para os responsáveis pela decisão de continuar o projeto.

(5)

Conforme Pádua [2001], a técnica JAD deve ser aplicada com cuidado, pois existem pontos que podem comprometer seriamente sua eficácia como: “o não envolvimento de pessoas que desempenham papeis chaves no processo de uso do produto”; “A participação de pessoas não-comprometidas com o produto” e “o número excessivo de participantes (varia de 8 a 15 para grupos experientes)”, alem disso, o líder do JAD deve possuir experiência e o envolvimento dos participantes integralmente em todas as reuniões é importantíssimo. Contudo, as experiências de JAD´s de sucesso onde o índice de mudança de requisitos é baixíssimo e a redução de tempo e esforço gastos no levantamento de requisitos a torna uma técnica a ser considerada.

PROTOTIPAÇÃO

A prototipação é uma técnica que permite a obtenção rápida de sugestões, inovações, revisões ou mudanças e permite captar o sentimento do usuário a respeito do sistema em desenvolvimento [Kendall1992].

Os protótipos embora sejam desenvolvidos visando principalmente a apresentação para o usuário de um esboço do sistema, deve ser classificado com descartável ou evolucionário. O protótipo evolucionário é desenvolvido com a finalidade de construir partes de um produto funcional de forma iterativa, permitindo assim ao usuário o acompanhamento do desenvolvimento de maneira que alguma alteração possa ser feita com custos relativamente menores em relação ao produto completo.

O protótipo descartável tem por objetivo demonstrar ao usuário, aspectos relacionados à interface de usuário, problemas de comunicação com outros produtos e a

viabilidade de atendimento relativo ao desempenho de forma extremamente rápida. Em sua construção, podem ser utilizadas ferramentas de programação que possuam biblioteca de componentes, processadores de texto, ferramentas de manipulação de imagens ou até mesmo um lápis e papel, entretanto, no caso de protótipos descartáveis, como o próprio nome diz, é aconselhável que o mesmo não seja aproveitado para fins de implementação por não seguir referências de qualidade, ocasionando assim um aumento manutenibilidade / estabilidade de requisitos.

BRAINSTORMING

Segundo LEFFINGWELL [2003],

brainstorming (tempestade de idéias) é uma

técnica que visa explorar a criatividade dos participantes gerando assim, através da diferença de pensamentos, idéias e respostas. É muito utilizada para a criação de novos produtos ou efetuar melhoramentos nos existentes, resolução de problemas, gestão de projetos e engenharia de requisitos.

De autoria de Alex Osborn, prega a técnica, que se reúnam de uma até dez pessoas de preferência de competências e setores diferentes, para que suas experiências diversas colaborem com a diversificação de pontos de vista. Deve ser feita com a presença de um facilitador que deverá anotar todas as idéias sem exceção e um líder, que conduzirá a reunião e proporá os temas a serem discutidos. O Mais importante é que nenhuma idéia deve ser julgada como errada ou absurda, contribuindo assim para que sejam geradas muitas idéias e principalmente não constranger os integrantes. Uma sessão de

brainstorming deve durar em torno de 30

minutos.

Após terem se esgotadas as idéias possíveis, o líder de posse das idéias levantadas, as

(6)

distribui para um pequeno grupo (de três a sete pessoas) solicitando que sejam escolhidas as melhores idéias, que depois de selecionadas, devem ser redistribuídas a todos os participantes.

ANÁLISE DE COMPETIDORES

A análise de competidores, ou SWOT

(Strengths), Fraquezas (Weaknesses),

Oportunidades (Opportunities), foi criada por dois professores de Havard, Kenneth Andrews e Roland Christensen. Consiste em analisar os pontos fortes e fracos além de ameaças e oportunidades, ou seja, uma comparação do que já exista no mercado, com fins de se projetar um produto que maximiza os pontos fortes levantados e minimizar os pontos fracos

encontrados nos produtos semelhantes

existentes, resumindo: “O objetivo da SWOT é definir estratégias para manter pontos fortes, reduzir a intensidade de pontos fracos,

aproveitando oportunidades e protegendo-se

de ameaças.”

Existem alguns pontos que devem ser observados como: verificar se as informações são recentes e isentas; as fontes devem ser idôneas e desprovidas de viés; todos os participantes devem conhecer os conceitos envolvidos;

CONSIDERAÇÕES FINAIS

O analista deve fazer uma análise de todo o universo envolvendo o levantamento, os

steakeholders, o ambiente, a disponibilidade e

a localização física dos detentores da informação devem ser levados em consideração, para que seja escolhida a técnica adequada para uma determinada situação ou momento.

Estabelecer uma boa relação com os provedores de requisitos é um fator crítico de sucesso, “quebrar o gelo” e tentar tornar a reunião para levantamento de requisitos um momento de cumplicidade é o primeiro passo a ser tomado.

A entrevista é vista como a técnica mais utilizada conforme Kendall[1992]. Especial atenção deve ser reservada ao planejamento e ao registro, sendo que o entrevistador deve fazer um estudo a respeito do tema e procurar levantar e ler documentos que possam ajudar a entender o negócio. A análise de competidores, outra técnica de levantamento de requisitos, poderá ser utilizada em conjunto, pois ajuda a levantar dúvidas, idéias e delimitar o projeto a ser desenvolvido. A entrevista deve ser documentada de preferência através de uma ata ou registro e assinada pelos participantes, pois, como a informação discutida será utilizada no desenvolvimento do projeto, o registro serve como documento que comprova os requisitos levantados durante a reunião.

O questionário deve ter por objetivo, a captação de informações de diversas pessoas ou de pessoas dispersa em locais distintos. Deve-se frisar a necessidade de formulação de questões claras e objetivas, com cuidado para não gerar interpretações erradas. Apesar dos diversos meios de encaminhamento dos questionários levantados neste artigo, é interessante que se prive pela diminuição dos custos, optando assim pelo envio via e-mail. Porém, para que fique evidenciada a importância da colaboração do questionado, é aconselhável redigir uma proposta explicando a finalidade e agradecendo a colaboração. Já a técnica JAD, tem por objetivo, a busca de opiniões e definição de requisitos entre envolvidos de diversas áreas como banco de dados, desenvolvimento e usuários do sistema. Deve ser utilizada visando apenas aspectos técnicos, contudo, nem sempre o usuário possui conhecimento de informações da

(7)

linguagem utilizada pelo corpo técnico e vice versa, sendo necessário em alguns casos a apresentação de um glossário contendo os termos que possam gerar dúvidas a respeito do negócio/sistema.

As sessões de JAD devem ser planejadas e documentadas, a necessidade de um facilitador ou líder para conduzir as reuniões e um secretário para anotar as considerações e decisões tomadas durante as sessões é de extrema importância. O local físico deve ser neutro e a não interferência por fatores externos é necessária, porém, não se faz obrigatória a realização da reunião em um ambiente externo, o que acarreta em aumento de custos do projeto.

A Prototipação é praticamente imprescindível a todos os projetos, arquitetura, indústria automobilística, aeronáutica etc. A construção de um protótipo tem por finalidade a apresentação de um esboço do produto ou de parte dele aos envolvidos.

Tal técnica contribui para o aperfeiçoamento do produto a ser entregue, pois apresenta a interface de usuário facilitando assim, a percepção de aspectos que não foram lembrados ou levantados anteriormente e atenuando a expectativa dos envolvidos. Os protótipos com finalidade de demonstração (descartáveis), não devem ser aproveitados para a construção do sistema, pois a qualidade não é considerada durante sua criação.

Brainstorming tem a finalidade de gerar novas

idéias a respeito de um determinado produto, prega a técnica, que seja realizada reunião entre uma até dez pessoas com a presença de um facilitador responsável pela condução da reunião. Porém um mínimo de pessoas deve ser considerado, pois a quantidade de idéias e a participação são fatores determinantes. A análise de competidores visa analisar características de produtos semelhantes ao que se deseja construir ou alterar, visando levantar os pontos fortes/fracos e as

oportunidades/ameaças objetivando o desenvolvimento de um produto melhor que o esperado.

Características principais, layout e funcionalidades devem ser registradas e estudadas, mantendo o foco no que deve ser melhorado. É aconselhável que mais de uma pessoa opine sobre o estudado, sendo que uma sessão de brainstorming pode ser realizada visando uma colaboração mutua entre os envolvidos.

É fato que as técnicas apresentadas, contribuem em muito para um levantamento de requisitos de forma correta, porém, a utilização de uma técnica específica isoladamente pode não ser suficiente para uma especificação satisfatória.

Artigo apresentado à diretoria de ensino de pós-graduação, pesquisa e extensão, da UPIS – União Pioneira de Integração Social, em 30.04.2008.

REFERÊNCIAS

KENDALL, K.E. Kendall, J.E. Kendall; Systems Analysis and Design, Prentice Hall, 1992. [KENDALL92]

LEFFINGWELL, Dean, Don Widrig: Managing Software Requirements - A Use Case Approach, Second Edition 2003 [LEFFINGWELL2003].

PÁDUA, Wilson; 2001. Engenharia de Software fundamentos, métodos e padrões. LCT Livros técnicos e científicos, Rio de Janeiro, Brasil, 2001. [PÁDUA01].

SOMMERVILLE, Ian; 2003. Engenharia de Software. Pearson Education do Brasil, São Paulo, Brasil, 2003. [SOMMERVILLE 2003].

PRESSMAN, Roger S; 2005. Engenharia de Software. Pearson Education do Brasil, São Paulo, Brasil, 2005. [PRESSMAN 2005]. PARASURAMAN, A. Zeithaml; 1991 marketing research. ed. Addison Wesley Publishing Company, 1991. [PARASURAMAN 91] GAUSE, D. C., WEINBERG, G.M., 1991, Explorando Requerimentos de Sistema, 1a. ed., Rio de Janeiro, Makron Books, 1991. [GAUSE89]

DAVIS, William; 1987. Análise e Projeto de Sistemas uma Abordagem Estruturada. LTC - Livros Técnicos e Científicos Editora S.A. Rio de Janeiro, Brasil. 1987. [DAVIS87].

Referências

Documentos relacionados

musicais entre os estudantes, no que se refere à interpretação, sem distinção de estilo, gênero e nacionalidade, desde que estejam ativos no IFPB. 4º - O Festival

A participação foi observada durante todas as fases do roadmap (Alinhamento, Prova de Conceito, Piloto e Expansão), promovendo a utilização do sistema implementado e a

Por último, temos o vídeo que está sendo exibido dentro do celular, que é segurado e comentado por alguém, e compartilhado e comentado no perfil de BolsoWoman no Twitter. No

Contudo, sendo um campo de pesquisa e de atuação muito específico e novo no Brasil, ainda existe uma série de dificuldades para a eleição de parâmetros de conservação

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

A estabilidade do corpo docente permanente permite atribuir o conceito muito bom, segundo os parâmetros da área, para o item 2.2 (pelo menos 75% dos docentes permanentes foram

A clínica gestáltica tem o intuito de desenvolver um trabalho baseado na relação dialógica, que facilita o processo de autorregulação e ajustamento criativo para as pessoas.. Tais

A partir dos fatores citados como predisponentes e determinantes criam-se perturbações hemodinâmicas locais que podem desencadear os fatores condicionantes,