Sei sulla pagina 1di 15

VIII Simpsio Brasileiro de Qualidade de Software

Um processo de elicitao de requisitos com foco na seleo da tcnica de elicitao


Glvia Barbosa1, Marcelo Werneck1, Helen Assis1, Ulisses Fernandes1, Ismael Silva1
1

Instituto de Informtica Pontifcia Universidade Catlica de Minas Gerais (PUC Minas) Belo Horizonte MG Brasil
{mwerneck}@pucminas.br,{gliviaangelica, hfbassis, ufernandes, ismasantana}@gmail.com

Resumo. Este trabalho apresenta um processo focado na seleo da tcnica de elicitao de requisitos. Na tentativa de garantir que os requisitos relevantes para o sistema sejam elicitados de forma correta e completa, um conjunto de tcnicas de elicitao pode ser aplicado com o intuito de auxiliar os analistas e usurios na identificao e definio desses requisitos. Porm, a elicitao no se resume apenas aplicao de uma tcnica, mas tambm colaborao entre analistas e clientes. Este trabalho apresenta um processo para elicitao de requisitos com foco na escolha da tcnica de elicitao para o projeto em questo contemplando atividades e artefatos que visam maior colaborao entre os envolvidos. Abstract. This work presents a process focused on the selection of the requirements elicitation technique. In an attempt to ensure that the relevant system requirements are correctly and completely elicited, a set of techniques can be applied aiming at helping the analysts and users identify and define these requirements. However, the elicitation is not simply the application of a technique but also the cooperation between analysts and clients. This paper presents a requirements elicitation process that focuses on aiding analysts selecting the best elicitation technique to be used in that particular project. The process also includes activities and artifacts to achieve greater collaboration among those involved in the elicitation.

1. Introduo
A Engenharia de Requisitos contempla um conjunto de atividades relacionadas definio e gerncia dos requisitos. Dentre essas atividades, podemos destacar: elicitar, analisar, documentar, validar estes requisitos e, durante todo o desenvolvimento de software, gerenci-los [Pfleeger, 2004]. Uma etapa crtica da engenharia de requisitos a elicitao, fase complexa da definio de requisitos e de todo processo de desenvolvimento de software, uma vez que base para todas as etapas posteriores [Belgamo e Martins, 2000]. Elicitar requisitos requer um processo iterativo, que deve acontecer de forma colaborativa envolvendo analistas, usurios e aplicao de tcnicas [Freitas, Borges e Arajo, 2007]. Um estudo realizado pelo Standish Group [Standish report, 1995], com 350 companhias e 8.000 projetos indica que 16,2% dos projetos so concludos com sucesso; 52,7% so considerados problemticos, pois no atendem s necessidades dos usurios com custos excessivos e 31,1% so cancelados antes de serem completados.

159

VIII Simpsio Brasileiro de Qualidade de Software

Buscando identificar quais fatores levam distribuio apresentada, nova pesquisa foi realizada e 8 fatores foram identificados como crticos, dos quais 3 esto relacionados elicitao e gerncia dos requisitos. So eles: Requisitos incompletos, Falta de envolvimento do usurio e Mudanas de requisitos e especificaes. A forma como a elicitao de requisitos feita influencia o produto desenvolvido. Os requisitos levantados so um indicador importante para o fracasso ou sucesso do projeto de um software. Requisitos mal levantados ou mal interpretados geram retrabalho, custos e prazos extras, alm de insatisfao do cliente. Existem algumas tcnicas que buscam auxiliar os analistas e os usurios na identificao dos requisitos do sistema, contudo, a complexidade dessa etapa de elicitao se deve no apenas a fatores tcnicos, mas tambm humanos. As tcnicas de elicitao auxiliam o desenvolvimento de software, mas os problemas essenciais da elicitao so um desafio que ainda precisa ser superado. Uma possvel soluo mesclada s tcnicas e ferramentas que poder resolver estes problemas essenciais o uso de um processo que promova um trabalho colaborativo entre a equipe e os usurios certos, ou seja, aqueles que realmente contribuem para a identificao dos requisitos [Freitas, Borges e Arajo, 2007]. Escolher e aplicar uma tcnica de elicitao no uma tarefa trivial, porm reduzir a fase de elicitao utilizao de tcnicas apenas no garante que os requisitos identificados satisfaam o cliente final [Belgamo e Martins, 2000]. Algumas tcnicas que facilitam a comunicao entre clientes e analistas tm sido usadas visando minimizar problemas encontrados na elicitao de requisitos. Tem sido observado, porm, que a forma com que estas tcnicas tm sido aplicadas ainda no solucionou os problemas da elicitao de requisitos. Constata-se que, em muitos casos, os analistas insistem em utilizar somente a tcnica sem uma preparao anterior e em outras situaes a mesma tcnica utilizada para elicitar requisitos de todos projetos de uma empresa [Hickey e Davis, 2002]. Alm disso, pouca pesquisa tem sido focada na identificao das tcnicas de elicitao mais adequadas [Dieste, Lopez e Ramos, 2008]. Considerando a elicitao de requisitos fase crtica no desenvolvimento de software, este trabalho prope um processo de elicitao de requisitos com foco na escolha da tcnica mais adequada para elicitao dependendo do projeto. Um processo para elicitao de requisitos que contemple um conjunto de atividades que permita uma maior interao entre analistas e usurios e, alm disso, auxilie na seleo da tcnica a ser utilizada, poder contribuir para que os requisitos levantados correspondam s reais necessidades dos usurios. O processo de elicitao proposto foca na escolha da tcnica de elicitao com base nas caractersticas do projeto e na colaborao entre envolvidos. Este trabalho est organizado da seguinte maneira: a Seo 2 descreve os conceitos relacionados Engenharia de Requisitos e Tcnicas de Elicitao. A Seo 3 apresenta os trabalhos relacionados. O processo proposto descrito na Seo 4. A Seo 5 inclui a descrio dos resultados obtidos enquanto a Seo 6 conclui o trabalho.

2. Elicitao de Requisitos
A elicitao corresponde ao processo de levantamento de requisitos. Nesta fase, so levantados os objetivos principais do sistema, identificando assim os problemas

160

VIII Simpsio Brasileiro de Qualidade de Software

apresentados pelos usurios e/ou clientes. Em um segundo momento, so identificadas as possveis solues para os problemas e objetivos detectados [Lauesen, 2002]. Durante o processo de elicitao, necessrio manter um contato com os usurios e clientes do sistema para entender suas reais necessidades obtendo assim os requisitos do software [Pfleeger, 2004]. Os problemas de elicitao de requisitos no podem ser solucionados apenas com uma abordagem tecnolgica, uma vez que o conjunto formado por aspectos sociais, pessoas, informaes e contextos assumem importncia significativa na elicitao [Belgamo e Martins, 2000]. Na tentativa de minimizar os problemas encontrados na atividade de elicitao de requisitos, existem algumas tcnicas que facilitam a comunicao entre clientes e analistas. Estas tcnicas so conhecidas como tcnicas de elicitao de requisitos. 2.1 Tcnicas de Elicitao de Requisitos As tcnicas de elicitao surgiram para auxiliar na identificao dos requisitos junto aos usurios. Uma tcnica deve explorar caractersticas especficas do problema sendo tratado no desenvolvimento de um sistema. Como as caractersticas dos problemas variam, necessrio um repertrio de mtodos para cada classe de problemas [Belgamo e Martins, 2000]. H muitas tcnicas de elicitao publicadas na literatura [Dieste, Lopez e Ramos, 2008]. Entretanto, informaes so ainda capturadas, em muitos casos, utilizando somente entrevistas, apesar de haver clara evidncia de que entrevistas tradicionais nem sempre so a melhor forma de se extrair requisitos [Carrizo, Dieste e Juristo, 2008]. Nesta seo, apresentamos brevemente algumas tcnicas de elicitao. As Oficinas de Requisitos so reunies com participao dos desenvolvedores, usurios e outros interessados para definio de requisitos de um sistema em conjunto. A tcnica JAD (Joint Application Development) um exemplo de oficina. JAD visa reunir autoridades representativas e gerenciais em um workshop organizado para promover decises [Belgamo e Martins, 2000]. Sua aplicao recomendada quando a necessidade de consenso entre os usurios do sistema se torna fator importante para o desenvolvimento do software. O objetivo dessa tcnica garantir que os usurios se mantenham comprometidos com o levantamento dos requisitos do sistema. A Prototipagem uma tcnica utilizada com freqncia na elicitao de requisitos. Existem dois tipos de prottipos: os descartveis e os evolutivos. Prottipos descartveis so criados com a funo de ilustrar para os usurios e/ou clientes do sistema o que o analista entendeu sobre os requisitos que devero ser contemplados no produto. Essa prototipagem deve ser feita rapidamente e ser concluda em no mximo alguns dias. Prottipos evolutivos so reaproveitados durante a construo do sistema. A Entrevista uma tcnica que ajuda na captura de conhecimento sobre o domnio do problema, porm, para identificar a soluo desses problemas, muitas vezes, se torna necessrio utilizar outras tcnicas. [Lauesen, 2002] O uso de Questionrios muito utilizado quando os analistas identificam a necessidade de coletar informaes de muitos usurios ao mesmo tempo [Lauesen, 2002]. Quando aplicado, cada usurio responde o questionrio individualmente e posteriormente os requisitos so identificados atravs de anlise de respostas fornecidas. Em sesses de Brainstorming, um grupo de pessoas reunido, um cenrio simulado e um assunto discutido para elicitar os requisitos. As pessoas participantes

161

VIII Simpsio Brasileiro de Qualidade de Software

devem se sentir confortveis o bastante para discutir o assunto sem se sentirem intimidadas. Nenhuma idia descartada. Todas idias so boas idias [Lauesen, 2002].

3. Trabalhos Relacionados
Em [Belgamo e Martins, 2000], realizada uma anlise que visa estudar, comparar e apresentar diferenas e semelhanas entre algumas tcnicas de elicitao selecionadas para enfrentar os problemas de elicitao de requisitos. Os autores propuseram um conjunto de parmetros para avaliao e classificao de algumas tcnicas estudadas. Outro estudo relacionado ao tema foi realizado por [Batista e Carvalho, 2003]. Os autores apresentaram alguns parmetros relacionados aos projetos e s tcnicas que devem ser analisadas no momento da escolha da tcnica de elicitao. No trabalho proposto por [Freitas, Borges e Arajo, 2007], descrito um processo colaborativo para elicitao de requisitos. Os autores apresentam um processo e uma ferramenta de apoio colaborao e negociao na fase de levantamento e definio dos requisitos do sistema. Por meio de um estudo de caso, os autores concluram que a proposta contribuiu para o desempenho da atividade e aumentou as iniciativas de comunicao entre os stakeholders. Como resultado, a atividade de elicitao ganhou caractersticas mais ativas e participativas. O artigo [Dieste, Lopez e Ramos, 2008] apresenta algumas recomendaes sobre as situaes em que cada tcnica til. Estas recomendaes so baseadas em uma reviso sistemtica de vrios estudos empricos da literatura. O trabalho [Carristo, Dieste e Juristo, 2008] prope um framework para apoiar a tomada de deciso quanto melhor tcnica de elicitao de acordo com as caractersticas do projeto em questo. O framework define como cada tcnica responde a distintas caractersticas de projetos. Este trabalho se diferencia dos citados, pois define um processo de elicitao de requisitos com suporte seleo da tcnica de elicitao de requisitos, bem como permite integrao entre os envolvidos. Este processo apresentado na prxima seo.

4. O Processo de Elicitao de Requisitos Proposto


O processo de elicitao proposto conta com os seguintes papis: Analista de Requisitos: Responsvel pela seleo da tcnica e pela conduo da elicitao de requisitos; Gerente de Projetos: Responsvel por prover informaes sobre o projeto para o Analista de Requisitos e tambm aprovar a tcnica indicada pelo processo; Cliente/Usurio: Responsvel por prover informaes para identificao dos requisitos.

O processo baseado na Seleo da Tcnica de Elicitao proposto composto por cinco atividades, conforme ilustrado na Figura 1. Suas atividades so descritas a seguir.

162

VIII Simpsio Brasileiro de Qualidade de Software

Figura 1. O Processo de Elicitao de Requisitos proposto

4.1 Atividade: Identificar o Contexto do Projeto Esta atividade tem como propsito contextualizar o Analista de Requisitos sobre o Projeto que ser desenvolvido. Atravs de uma reunio com o Gerente do Projeto, o Analista obtm informaes relacionadas ao escopo, premissas, restries e informaes relacionadas ao domnio do negcio do cliente antes de realizar um primeiro contato direto com o(s) usurio(s) do sistema. Baseado nas informaes obtidas nesta atividade, o Analista de Requisitos poder analisar o domnio de negcio do cliente e os dados do projeto de uma forma mais contextualizada para prosseguir no processo de elicitao. Como resultado da atividade, elaborado um Glossrio pelo Analista, que poder ser atualizado durante a execuo do processo de elicitao. Neste Glossrio, so registrados os termos relevantes relacionados ao domnio de negcio do cliente visando facilitar a compreenso e comunicao entre os envolvidos no processo de elicitao. 4.2 Atividade: Realizar Apresentao Inicial Esta atividade tem como propsito realizar uma reunio para conscientizar os envolvidos sobre a importncia da colaborao do(s) usurio(s) dentro do processo de elicitao de requisitos, uma vez que esta colaborao estar associada ao sucesso do resultado final do sistema que ser desenvolvido. Durante a reunio, o Analista de Requisitos tambm coleta informaes sobre os papis e responsabilidades dos envolvidos no processo de elicitao. Estas informaes sero estruturadas em uma Matriz de Responsabilidades. A Matriz de Responsabilidades permite ao Analista de Requisitos identificar o perfil de cada um dos usurios envolvidos, facilitando assim a conduo da elicitao. Uma Ata de Reunio gerada para documentar os temas abordados e repass-los a todos os envolvidos.

163

VIII Simpsio Brasileiro de Qualidade de Software

4.3 Atividade: Selecionar a Tcnica de Elicitao de Requisitos O propsito desta atividade auxiliar o Analista de Requisitos a escolher uma tcnica de elicitao que melhor se adapte s caractersticas do projeto, da organizao e da equipe de desenvolvimento. Esta atividade foca em orientar o Analista de Requisitos na escolha da tcnica a ser utilizada com base em parmetros relacionados ao projeto. O processo descrito no restringe o nmero de tcnicas de elicitao que podem ser analisadas para seleo, entretanto, para realizar nossos experimentos, definimos que o processo seria baseado em um universo de 5 tcnicas. Procuramos escolher tcnicas que so aplicadas para um nico usurio e outras que necessitam de um grupo de usurios para serem executadas. Como resultado, as seguintes tcnicas foram escolhidas: Brainstorming, Entrevistas, JAD, Questionrios e Prototipao Descartvel. [Belgamo e Martins, 2000] apresentam um estudo no qual um conjunto de tcnicas, incluindo as selecionadas para compor este processo, so avaliadas de acordo com um grupo de parmetros. Os autores [Batista e Carvalho, 2003], guiados pelo trabalho de [Belgamo e Martins, 2000], identificaram parmetros que esto diretamente relacionados aos projetos de software e classificaram as tcnicas de acordo com esses. Um exemplo de parmetro escolhido a Fonte de obteno dos requisitos. Este foi considerado uma restrio para a seleo, pois h tcnicas que focam na elicitao voltada para grupo de usurios e outras aplicadas individualmente. Dentre os parmetros apresentados pelos autores, selecionamos os que geralmente impactam nos projetos independente da estrutura da Organizao. Os parmetros selecionados e suas definies segundo os autores so apresentados a seguir: Fonte de obteno dos requisitos: Indica se a tcnica aplicada em grupo ou individualmente. Considerado uma restrio no processo de tomada de deciso; Qualidade: Indica se a tcnica permite um aprendizado mtuo, resoluo de conflito e identificao dos requisitos; Tempo: Indica o tempo despendido para a elicitao de requisitos; Custo: Indica o custo (relacionado a pessoas e capital) necessrio; Confiabilidade: Indica se as informaes coletadas so confiveis para o desenvolvimento do projeto; Contexto: Indica se a tcnica leva em conta o ambiente onde est se realizando a elicitao, ou seja, se a tcnica permite que o Analista de Requisitos considere efetivamente o domnio do negcio sobre o qual o sistema ser desenvolvido; Validao dos requisitos: Indica se a tcnica permite validao dos requisitos; Necessidade de treinamento: Indica o nvel de necessidade de treinamento que o Analista de Requisitos precisar para conhecer e aplicar a tcnica na elicitao.

Com o conjunto de tcnicas e parmetros definidos, deve ento ser aplicada a tomada de deciso para escolha da tcnica de elicitao. [Robbins, 2005] identifica que, de forma geral, o modelo de tomada de deciso racional consiste em: definir o problema; identificar os critrios para a deciso; atribuir pesos especficos para cada um dos critrios definidos; desenvolver alternativas para resolver o problema de forma

164

VIII Simpsio Brasileiro de Qualidade de Software

satisfatria e escolher a melhor alternativa, ou seja, o tomador de deciso deve analisar criticamente e avaliar cada uma com base nos critrios estabelecidos como relevantes. Depois de realizada uma anlise das tcnicas de tomada de deciso existentes, e considerando o contexto em que se aplica o processo de elicitao proposto neste trabalho, a tcnica utilizada para auxiliar o Analista na seleo da tcnica de elicitao foi a Matriz de Deciso. Esta tcnica consiste em ponderar informaes que levaro a possveis solues de interesses em linhas e colunas de uma matriz. Para cada intercesso de linha e coluna aplicada uma pontuao e a matriz pode ainda conter pesos para alguns ou todos os elementos cujos valores precisam ser ressaltados. Normalmente, a anlise do resultado na matriz de deciso feita considerando que o maior valor ponderado constituir, possivelmente, a melhor deciso a ser tomada. A Matriz de Deciso construda estruturando seus dados em linhas e colunas: Linhas: Representam cada um dos parmetros relacionados a projetos de software que so levados em considerao no momento da escolha da tcnica; Colunas: Representam as tcnicas de elicitao. Para cada tcnica foram atribudos pesos em relao a cada um dos parmetros listados.

Para cada tcnica de elicitao, foi atribudo um peso em relao aos parmetros selecionados, indicando o grau que aquela tcnica atende ao parmetro em questo. Os pesos so valores que correspondem s classificaes propostas pelos autores dos trabalhos usados como base. Nestes, cada tcnica recebeu classificaes de Baixo a Alto para cada parmetro avaliado. Neste trabalho, as classificaes foram mapeadas para valores de 1 a 3 para calcular o resultado da Matriz. Como o objetivo atribuir a maior pontuao tcnica mais adequada, os valores foram assinalados aos parmetros dependendo do objetivo desejado minimizar ou maximizar o efeito do parmetro. Assim, parmetros que devem ser maximizados, como Qualidade, receberam pesos de 1 a 3, para classificaes de Baixo a Alto. Parmetros que devem ser minimizados, como Tempo, receberam pesos de 1 a 3, representando a escala de Alto a Baixo. Na Figura 2, possvel demonstrar, por exemplo, que as tcnicas Brainstorming, JAD e Prototipao Descartvel propem uma metodologia que visa coletar requisitos com alta qualidade. A tcnica Questionrio, embora apresente um tempo de execuo mdio em relao JAD no permite que o contexto do projeto, como informaes sobre o domnio de negcio, possa ser explorado no momento da elicitao de acordo com a classificao de [Belgamo e Martins, 2000] e [Batista e Carvalho, 2003]. O Analista define quais parmetros devem ser priorizados na escolha da tcnica que ser utilizada para elicitao dos requisitos de acordo com caractersticas do projeto (levantadas nas atividades anteriores). Esta definio realizada atravs da atribuio do grau de relevncia (nota) para cada um dos parmetros. Este peso pode variar de 0 a 5 pontos. Os valores entre 0 e 2 indicam uma relevncia baixa do parmetro para o projeto. Os valores entre 3 e 5 indicam que o parmetro apresenta alta relevncia. O Analista deve registrar uma justificativa para cada nota para anlises futuras. Os resultados da matriz so gerados atravs do somatrio das pontuaes intermedirias obtidas para cada tcnica. Estas pontuaes so calculadas atravs da multiplicao do peso pela nota, atribuda pelo Analista, para cada tcnica em relao a cada parmetro. A tcnica mais adequada ser a que obtiver a maior pontuao total.

165

VIII Simpsio Brasileiro de Qualidade de Software

Figura 2. Exemplo de matriz de deciso preenchida

4.3.1 Descrio do Processo de Seleo da Tcnica Antes de levantar os requisitos do sistema, o Analista de Requisitos dever selecionar uma tcnica que o auxilie na elicitao. Considerando que alguns parmetros relacionados ao projeto influenciam a escolha da tcnica que dever ser utilizada, o Analista de Requisitos dever utilizar a Matriz de Deciso, proposta neste processo, para auxiliar a tomada de deciso. Para guiar o Analista de Requisitos, foi elaborado um Guia de Execuo para Seleo da Tcnica. Este guia contempla um conjunto de definies, procedimentos e orientaes que auxiliam o Analista na execuo de cada tcnica de elicitao. Ao preencher a Matriz de Deciso, o Analista de Requisitos deve informar uma nota para cada um dos parmetros do processo, refletindo assim a importncia ou a existncia de restries em relao a este parmetro no projeto. Por exemplo, para o parmetro Qualidade, o Analista de Requisitos dever se perguntar: Em que grau o projeto demanda uma tcnica que enfoque na qualidade dos requisitos elicitados?. O Analista dever atribuir uma nota de 0 (baixo) a 5 (alto). Para todos os parmetros do processo, o Analista de Requisitos deve informar uma nota. Ao final, todas as tcnicas que atendem restrio do processo tero suas respectivas pontuaes totais calculadas. A tcnica que obtiver a maior pontuao total na Matriz de Deciso ser a indicada pelo Processo de Seleo para que o Analista de Requisitos aplique no Projeto. Entretanto, o processo de seleo atua como uma forma de orientao na escolha da tcnica. O Analista de Requisitos poder escolher uma tcnica diferente da que obteve a maior pontuao final, devido proximidade dos resultados ou por outro motivo justificvel. A escolha do Analista dever ser aprovada pelo Gerente de Projeto. O Analista de Requisitos dever registrar a tcnica indicada pelo processo, a tcnica que ele optou por utilizar, a justificativa da escolha e a tcnica que realmente

166

VIII Simpsio Brasileiro de Qualidade de Software

ser utilizada com aprovao do Gerente de Projeto para a elicitao. As informaes geradas durante a execuo do processo devero ser armazenadas para cada projeto. Estas podem compor uma base histrica auxiliando projetos futuros. importante ressaltar que o peso de cada parmetro pode variar de acordo com o projeto em que a tcnica aplicada. Assim, o mesmo Analista de Requisitos poder atribuir um grau de relevncia distinto para o mesmo parmetro em projetos diferentes. 4.4 Atividade: Aplicar a Tcnica para elicitar os requisitos Esta atividade tem como propsito coletar e listar os requisitos para desenvolvimento do sistema. O Analista de Requisitos utilizando a tcnica selecionada coleta os requisitos necessrios para desenvolvimento do sistema junto ao(s) usurio(s). Como resultado desta atividade, gerado um documento, denominado neste processo como Requisitos Identificados, contendo os requisitos elicitados durante a aplicao da tcnica. O Glossrio tambm pode ser atualizado caso o Analista de Requisitos identifique alguma necessidade. 4.5 Atividade: Elaborar a Lista de Requisitos Nesta atividade, o Analista de Requisitos elabora a Lista de Requisitos, baseado nos Requisitos Identificados durante a elicitao aplicando a tcnica selecionada. A Lista de Requisitos deve conter uma descrio do sistema em desenvolvimento, a descrio dos requisitos e o critrio de aceitao, que consiste nas condies necessrias para verificar se o requisito foi implementado. Depois de finalizada a Lista de Requisitos, esta deve ser revisada, aprovada e assinada pelo Gerente do Projeto e pelo representante do cliente ou dos usurios. Esta aprovao intermediria. A atividade formal de verificao/validao dos requisitos no contemplada neste processo, porm para que se possa dar prosseguimento nas demais atividades de Definio de Requisitos, que no esto includas neste processo, necessria uma validao intermediria do Gerente e do Cliente.

5. Experimentos e Resultados
O objetivo deste trabalho foi propor um processo para elicitao de requisitos que auxiliasse o Analista de Requisitos na escolha da tcnica de elicitao a ser utilizada bem como provesse uma maior colaborao entre os envolvidos no processo. A proposta para validao do mesmo consistiu em aplic-lo em um projeto piloto e posteriormente em estudos de caso de projetos reais. O objetivo do projeto piloto foi verificar que a descrio das atividades poderia ser facilmente seguida e que os artefatos gerados eram suficientes e necessrios para o processo de elicitao. Uma planilha para contabilizao do tempo e custo despendidos e uma Checklist de Verificao para validao da Lista de Requisitos foram elaboradas para registrar os dados referentes aos estudos de caso. Estes documentos no fazem parte do processo e foram utilizados apenas com o propsito de realizar a validao dos experimentos. Nas prximas sees, descrito em maior detalhe como a verificao foi realizada, os estudos de caso e os resultados alcanados. O objetivo dos estudos de caso apresentados foi comparar uma elicitao realizada com o processo proposto com outra

167

VIII Simpsio Brasileiro de Qualidade de Software

realizada com uma metodologia distinta de forma a identificar qual proporcionou melhor atendimento aos objetivos do Cliente. 5.1 Descrio da Verificao dos Requisitos Para validar o processo proposto neste trabalho, dados referentes a tempo e custo das elicitaes foram coletados. Alm disso, o cliente verificou os requisitos levantados em ambas as elicitaes (com e sem o processo proposto) por meio da Checklist de Verificao. Esta checklist contempla itens de verificao que medem o grau de completeza, preciso, consistncia e clareza de cada requisito identificado e tambm da Lista de Requisitos como um todo. Desta forma foi possvel atestar o grau de conformidade dos requisitos elicitados em relao ao Contexto das informaes e a Qualidade dos requisitos. Para medir se os parmetros priorizados pelo Analista de Requisitos, antes da elicitao, foram mais bem atendidos com o processo proposto, cada item da Checklist de Verificao foi relacionado a um parmetro analisado. Esse relacionamento indica que o item de verificao, se atendido correta e completamente, leva ao atendimento do parmetro correspondente. A classificao dos itens da Checklist foi baseada na definio de [Belgamo e Martins, 2000] [Batista e Carvalho, 2003]. A Checklist de Verificao uma planilha na qual os requisitos identificados so dispostos em linhas enquanto os itens de verificao so dispostos nas colunas. Na interseco de uma linha e uma coluna, o cliente deve informar se o item em questo est conforme, parcialmente conforme, no conforme ou se ele no sabe avaliar. Para medir de forma simples a verificao dos requisitos, a cada uma das possveis respostas foram atribudos valores. Itens conformes receberam valor igual a 1; parcialmente conformes receberam valor igual a 0,5 e itens no conformes valor igual a 0. Para melhor comparar os resultados dos estudos de caso, definimos Universo de Requisitos como o nmero total de requisitos nicos identificados em ambas elicitaes (com e sem o processo), ou seja, todos os requisitos do sistema identificados pelo Cliente. Esse nmero definido de acordo com a verificao realizada pelo Cliente. 5.2 Estudo de caso 01 Sistema de Solicitao de Viagens Este estudo de caso foi realizado em uma empresa de Belo Horizonte que comercializa produtos, solues e servios diferenciados no segmento de Tecnologia da Informao. A empresa possui processo de desenvolvimento prprio, porm utiliza sempre a tcnica de Entrevista para elicitao dos requisitos. O projeto escolhido consiste em desenvolver um mdulo de solicitao de viagens para a empresa. Este mdulo deve permitir o gerenciamento do fluxo da solicitao de viagens e manter histrico destas para consultas futuras e relatrios. Dois Analistas, com perfis similares, levantaram os requisitos deste sistema. Um Analista, que est se especializando em Engenharia de Software, realizou o levantamento utilizando a metodologia da empresa para elicitao (distinta da proposta no processo). O outro Analista, que tambm est se especializando em Engenharia de Software, utilizou o processo proposto neste trabalho. O processo proposto indicou a utilizao da tcnica de Prototipao Descartvel e o Analista a aplicou para elicitar os requisitos. O Universo de Requisitos foi

168

VIII Simpsio Brasileiro de Qualidade de Software

identificado pelo cliente como sendo composto por 21 requisitos. A elicitao com o processo proposto levantou 21 requisitos (100%) enquanto a que no utilizou o processo identificou apenas 6 (29%). O tempo gasto na elicitao sem o processo proposto foi de 8 horas e para a elicitao com o processo foi de 6 horas. Atravs das anlises realizadas nos resultados deste estudo, observou-se que na escolha da tcnica de elicitao, o Analista que utilizou o processo proposto, priorizou: Elicitao em um tempo reduzido devido urgncia da entrega do sistema; Coletar o mximo de requisitos com qualidade para que os mesmos possam ser facilmente entendidos; Elicitar requisitos confiveis, uma vez que foi entendido que a solicitao de viagens era um processo delicado da empresa que estava gerando prejuzos; No demandar tempo com treinamento para elicitar os requisitos.

Analisando os resultados apresentados, verificou-se que em relao elicitao realizada sem o processo proposto, o tempo da elicitao realizada com o processo proposto foi menor. Outro indicador que merece destaque que a elicitao realizada com o processo proposto apresentou requisitos com maior Qualidade, conforme pode ser verificado na Tabela 1. Este resultado pode ser vinculado ao fato de o Analista de Requisitos explorar melhor o contexto do sistema e o domnio de negcio do cliente. 5.3 Estudo de caso 02 Sistema de Comrcio Eletrnico Este estudo de caso foi realizado em uma empresa de Tecnologia de Informao que est iniciando suas atividades no mercado e visa prestar servios de e-commerce. Esta empresa ainda no possui um processo definido para elicitao de requisitos ou mesmo para outras atividades relacionadas Definio e Gerncia de Requisitos. O projeto consiste em desenvolver o embrio de um sistema que dever oferecer servios de comrcio eletrnico para estabelecimentos comerciais provendo um ambiente compartilhado para que esses possam divulgar e vender seus produtos. Dois Analistas, com perfis similares, levantaram os requisitos. Um Analista, graduando em Sistemas de Informao (SI), realizou o levantamento atravs de Entrevista com usurio. Ao final, foi gerado documento com requisitos elicitados. O outro Analista, tambm graduando em SI, utilizou o processo proposto neste trabalho. O processo indicou a utilizao de Entrevista e o Analista aplicou a mesma para elicitar os requisitos. O tempo gasto na elicitao sem o processo proposto foi de 2 horas e para a elicitao com o processo foi de 2,5 horas. O Universo de Requisitos foi identificado pelo cliente como sendo igual a 23 requisitos. A elicitao com o processo levantou 23 requisitos (100%) e a que no utilizou identificou 15 (65%). Atravs das anlises realizadas nos resultados obtidos, observou-se que na escolha da tcnica de elicitao, o Analista que utilizou o processo proposto, priorizou: Elicitao em um tempo reduzido devido s restries do prazo do projeto; Elicitar requisitos confiveis e contextualizados, pois informaes com tais caractersticas no domnio de negcio do cliente so importantes para o site; No demandar tempo com treinamento para elicitar os requisitos.

169

VIII Simpsio Brasileiro de Qualidade de Software

Durante a anlise dos resultados, verificou-se a diferena no tempo de execuo entre os experimentos foi de apenas 30 minutos e pode ser considerada pequena quando analisamos os demais benefcios relacionados Qualidade. Embora em ambas elicitaes, a tcnica de levantamento de requisitos utilizada tenha sido Entrevista, na elicitao realizada com o processo proposto os requisitos listados apresentaram maior qualidade. Este resultado pode ser vinculado ao fato de o Analista de Requisitos explorar o contexto e domnio de negcio. 5.4 Estudo de caso 03 Sistema de Gerenciamento de Erros O terceiro estudo de caso foi realizado em outra empresa de desenvolvimento de software de Belo Horizonte. Esta empresa presta consultoria em gerenciamento de projetos e desenvolve ferramentas integradas soluo EPM (Enterprise Project Management) e Sharepoint da Microsoft. A empresa possui metodologia prpria para levantamento de requisitos, mas utiliza somente a tcnica de Entrevista. O projeto consiste em desenvolver um sistema simplificado de rastreamento de erros (Bug Tracking). Este sistema dever oferecer funcionalidades para gerenciamento de erros detectados nos projetos desenvolvidos pela empresa. Dois Analistas, com perfis similares, levantaram os requisitos. Um Analista, graduando em SI, realizou o levantamento utilizando a metodologia da empresa, distinta do processo proposto. Ao final da elicitao, foi gerado documento com os requisitos levantados. O outro Analista, tambm graduando em SI utilizou o processo proposto. O processo indicou o uso de Entrevista e o Analista aplicou a mesma para elicitar os requisitos. O tempo gasto para a elicitao sem o processo proposto foi de 1 hora e para a elicitao realizada com o processo foi de 2,5 horas. O Universo de Requisitos foi identificado pelo cliente como sendo de 24 requisitos. A elicitao com o processo levantou 24 requisitos (100%) e a que no utilizou identificou 11 (46%). Na escolha da tcnica, o Analista que utilizou o processo proposto, priorizou: Elicitar requisitos confiveis e de qualidade, para no prejudicar o desenvolvimento do sistema; No demandar treinamento para aprender como aplicar a tcnica de elicitao de requisitos, uma vez que o Analista de Requisitos est alocado para outro projeto.

Verificou-se que em relao elicitao realizada sem o processo proposto o tempo da elicitao realizada com o processo proposto foi maior. Porm esta diferena pode ser considerada investimento para melhor levantar os requisitos. De acordo com os critrios do Analista no momento da seleo da tcnica, o tempo gasto para a elicitao no era uma restrio e os indicadores apresentaram maior qualidade para os requisitos elicitados durante o levantamento realizado com o processo proposto neste trabalho. Este resultado pode ser vinculado ao fato do Analista, que aplicou o processo proposto, explorar melhor o contexto no qual o sistema ser desenvolvido e estabelecer critrios para selecionar uma tcnica para auxili-lo no levantamento dos requisitos. 5.5 Estudo de caso 04 Sistema de Gerenciamento de Comrcio em Bairro O quarto estudo de caso foi realizado para a elicitao de requisitos de um sistema cujo objetivo o gerenciamento de uma pequena loja que comercializa produtos alimentcios

170

VIII Simpsio Brasileiro de Qualidade de Software

em um bairro de Belo Horizonte. Este estudo de caso foi realizado pela mesma empresa de Tecnologia de Informao na qual o estudo de caso 02 foi executado. Esta empresa no possui um processo definido. O sistema ir oferecer funcionalidades para o registro simplificado de vendas, controle do fluxo de caixa, controle de estoque dos produtos e emisso de relatrios. Para realizar o experimento, foi necessrio novamente que dois Analistas, com perfis similares, ambos graduandos em SI, levantassem os requisitos. Um Analista de Requisitos realizou o levantamento atravs de Entrevista com o usurio. Ao finalizar sua elicitao, foi gerado um documento contendo os requisitos elicitados. O outro Analista realizou o levantamento utilizando o processo proposto neste trabalho. O processo indicou o uso de Brainstorming e o Analista de Requisitos aplicou a mesma para elicitar os requisitos. O tempo gasto para a elicitao sem a aplicao do processo proposto foi de 1 hora enquanto para a elicitao realizada com o processo foi de 3,5 horas. O Universo de Requisitos foi identificado pela avaliao do cliente como sendo composto por 35 requisitos. A elicitao com o processo proposto levantou 35 requisitos (100%) enquanto a que no utilizou identificou 11 (31%). Na escolha da tcnica, o Analista que utilizou o processo proposto, priorizou: Elicitar requisitos de qualidade atravs da obteno de informaes confiveis; Uma tcnica que permitisse que as informaes sobre o domnio de negcio do cliente fossem exploradas; No exceder o custo previsto para o levantamento de requisitos.

Verificou-se que em relao elicitao realizada sem o processo proposto o tempo da elicitao realizada com o processo proposto foi maior. Porm, novamente, esta diferena pode ser considerada investimento para um melhor levantamento dos requisitos. O tempo gasto para a elicitao no era uma restrio e os indicadores apresentaram maior qualidade para os requisitos elicitados durante o levantamento realizado com o processo proposto neste trabalho. Na prxima seo, os resultados dos experimentos so apresentados. 5.6 Consolidao dos Resultados Os resultados confirmam que os requisitos elicitados com o uso do processo proposto apresentaram maior Qualidade e permitiram identificar melhor o Contexto do projeto na concepo do cliente e a partir dos mesmos foi possvel chegar s concluses seguintes. A Tabela 1 apresenta os resultados obtidos nos estudos de forma sumarizada.

6. Concluses e Trabalhos Futuros


Neste trabalho foi proposto um processo que auxilia Analistas na escolha da tcnica de elicitao, com base em caractersticas relevantes do projeto do sistema desenvolvido, e fornece maior colaborao entre os envolvidos nesta fase do desenvolvimento. Experimentos foram realizados com o objetivo de avaliar o processo proposto em relao a outras metodologias utilizadas em empresas de desenvolvimento de software para a elicitao de requisitos. Atravs destes, observou-se que os Analistas

171

VIII Simpsio Brasileiro de Qualidade de Software

no se preparam de forma adequada para realizar a elicitao e, por isto, em muitos casos, ficam limitados no momento de executar o levantamento com o Cliente.
Tabela 1. Resultados Sumarizados dos Estudos de Caso
Dados Obtidos/ Itens Avaliados Universo de Requisitos Com Processo Tcnica Tempo (hrs) N Requisitos Identificados Porcentagem (Universo)* Qualidade** Qualidade Ponderada*** Contexto****
*
o

Estudo de Caso 1 Sistema de Viagens 21 Sem Processo Entrevista 8 6 29% 100% 29% 50%

Estudo de Caso 2 Comrcio Eletrnico 23 Com Processo Entrevista 2,5 23 100% 100% 100% 100% Sem Processo Entrevista 2 15 65% 74% 48% 50%

Estudo de Caso 3 Bug Tracking 24 Com Processo Entrevista 2,5 24 100% 98% 98% 100% Sem Processo Entrevista 1 11 46% 75% 34% 25%

Estudo de Caso 4 Comrcio em Bairro 35 Com Processo Brainstorming 3,5 35 100% 95% 95% 100% Sem Processo Entrevista 1 11 31% 51% 16% 25%

Prottipo 6 21 100% 98% 98% 100%

Representa a porcentagem do nmero de requisitos levantados, em cada elicitao (com e sem o processo), em relao ao nmero de requisitos total identificados pelo cliente (Universo de Requisitos). Indica o quo completa est a lista de requisitos em relao ao Universo de Requisitos, para cada estudo de caso. Representa o grau de conformidade dos requisitos, de acordo com avaliao do cliente, em cada elicitao isoladamente (com e sem o processo), em relao aos itens da Checklist de Verificao relacionados Qualidade. Representa o grau de conformidade dos requisitos identificados em cada elicitao, de acordo com a avaliao do cliente, em relao aos itens da Checklist de Verificao relacionados Qualidade ponderados pelo Universo de Requisitos. Este indicador permite a comparao dos resultados das elicitaes (com e sem o processo) em cada estudo de caso, relacionados Qualidade dos requisitos identificados, dentro de um universo nico de requisitos. Representa o grau de conformidade dos requisitos identificados, de acordo com avaliao do cliente, em cada elicitao em relao aos itens da Checklist de Verificao relacionados ao Contexto. Indica o quo dentro do contexto do domnio de negcio os requisitos identificados nos estudos de caso (com e sem o processo) esto.

** ***

****

Esta observao pode ser justificada tambm pelos resultados obtidos relacionados Qualidade e Contexto. De maneira geral, os requisitos elicitados seguindo o processo desenvolvido neste trabalho apresentaram resultados melhores em relao s elicitaes realizadas com outras metodologias. Isso se deve aos fatoreschave priorizados pelo processo. O primeiro relacionado aos critrios para selecionar a tcnica de elicitao mais adequada para o levantamento dos requisitos e o segundo por permitir maior colaborao e interatividade entre Analistas, Gerentes e Clientes. Nos casos em que o processo proposto foi aplicado, as tcnicas indicadas atenderam aos critrios estabelecidos pelos Analistas na tomada de deciso e os resultados das elicitaes contemplaram requisitos que correspondiam s necessidades do Cliente, de acordo com as verificaes realizadas pelo mesmo. Isto indica que o entendimento do contexto do projeto, o estabelecimento de critrios para escolha da tcnica e a interatividade entre os envolvidos contribuem para um levantamento de requisitos mais prximo das reais necessidades. importante ressaltar que os estudos de caso no acompanharam o desenvolvimento dos requisitos. Entretanto, anlises dos experimentos permitem inferir que o processo de elicitao focado na seleo da tcnica poder ser aplicado com

172

VIII Simpsio Brasileiro de Qualidade de Software

sucesso. Vale destacar que o perfil do Analista que conduz a elicitao pode influenciar os resultados, porm, houve o cuidado de selecionar Analistas com perfis prximos. Pretende-se realizar experimentos para acompanhar a maturidade dos requisitos at o fim do desenvolvimento, aps aplicao do processo. Assim, poder-se- observar se os requisitos provaram ter os atributos avaliados pelo Cliente ao final da elicitao. Foi observado que pode haver uma diferenciao ainda maior entre as tcnicas em relao aos parmetros pelos quais as mesmas foram classificadas. Nos trabalhos utilizados como base para definio deste processo [Belgamo e Martins, 2000] [Batista e Carvalho, 2003], h parmetros com o mesmo peso para vrias tcnicas. As diferenas entre as tcnicas podem ser mais bem exploradas diferenciando seus pesos ou mesmo novos parmetros podero ser includos. Trabalhos recentes [Dieste, Lopez e Ramos, 2008] [Carristo, Dieste e Juristo, 2008] apresentam classificaes mais detalhadas sobre as tcnicas de elicitao que poderiam ser usadas neste sentido.

7. Referncias
Batista, E. A; Carvalho, A. M. B. R. (2003) Uma Taxonomia Facetada para Tcnicas de Elicitao de Requisitos. WER03 - Workshop em Engenharia de Requisitos. Belgamo, A. e Martins, L. E. G (2000). Estudo Comparativo sobre as Tcnicas de Elicitao de Requisitos do Software. In: XX Congresso Brasileiro da Sociedade Brasileira de Computao (SBC), Curitiba Paran. Carrizo, D.; Dieste, O. e Juristo, N. (2008) Study of Elicitation Techniques Adequacy. In Workshop on Engenharia de Requisitos (WER 2008), Barcelona, Espanha. Dieste, O.; Lopez, M. e Ramos, F. (2008) Updating Systematic Review about Selection of Software Requirements Elicitation Techniques. In Workshop on Engenharia de Requisitos (WER 2008), Barcelona, Espanha. Freitas, D. P.; Borges, M. R. S; Arajo, R. M. (2007) Colaborao e Negociao na Elicitao de Requisitos In: X Workshop Iberoamericano de Ingeniera de Requisitos y Ambientes de Software (IDEAS 07), Isla de Margarita Hickey, A. M. e Davis, A. M. (2002) Requirements Elicitation and Elicitation Technique Selection: A Model for Two Knowledge-Intensive Software Development Processes. In: Proceedings of Hawaii International Conference on System Sciences Lauesen, S. (2002) Software Requirements Styles and Techniques. Elicitation. England: A Personal Education Limited, 2002. Cap.8 p.331-372. Pfleeger, S. L. (2004) Engenharia de software: teoria e prtica. Identificando Requisitos 2.ed. So Paulo: Prentice Hall. Cap.4 p.111-138. Robbins, Stephen P. Comportamento Organizacional. Percepo e Tomada de Decises Individual. 11. Ed. So Paulo: Pearson Prentice Hall, 2005. Cap.5, p.103 125. Standish Group International (1995). The http://net.educause.edu/ir/library/pdf/NCP08083B.pdf. Chaos Report;

173

Potrebbero piacerti anche