Rodrigo Espindola, Leandro Lopes, Rafael Prikladnicki, Jorge Luiz Nicolas Audy Programa de Ps-Graduao em Cincia da Computao Faculdade de Informtica Pontifcia Universidade Catlica do Rio Grande do Sul {respindola, lteixeira, rafael, audy}@inf.pucrs.br
Resumo. A distribuio das equipes de desenvolvimento tem provocado diver- sos desafios ao processo de software. Dentre os desafios, a engenharia de requi- sitos destaca-se, sofrendo impacto de fatores como distncia, diferena de cultu- ra e fuso-horrio, bem como dos meios de comunicao disponveis. Nesse con- texto, o gerenciamento das informaes relacionadas a requisitos torna-se crti- co para garantir que as informaes necessrias sobre um determinado domnio ou aplicao esto disponveis para as equipes de desenvolvimento, bem como que estas informaes sejam organizadas de forma a permitir futuro acesso por projetos de manuteno no mesmo escopo. Nesse sentido, este artigo prope-se a analisar a engenharia de requisitos em projetos de desenvolvimento distribu- do de software sob a tica da gesto de conhecimento. A principal con- tribuio apresentada a identificao das informaes pertencentes s catego- rias de conhecimento envolvidas, bem como a forma com que devem ser dispo- nibilizadas.
Palavras-chave: Engenharia de Requisitos, Manuteno de Software, Gesto de Conhecimento.
1. Introduo
Hoje em dia, cada vez mais significativo o nmero de empresas que esto distribu- indo seus processos de desenvolvimento de software ao redor do mundo. Desta forma, tem-se criado um cenrio onde projetos de software so desenvolvidos com equipes distribudas, caracterizando assim o desenvolvimento distribudo de software (DDS). Este ambiente criou uma nova classe de problemas a serem resolvidos pelos pesquisa- dores na rea de desenvolvimento de software, centrada no DDS. Muitas vezes estes problemas ocorrem, pois no existe uma identificao correta das pessoas envolvidas nos projetos, da informao que deve percorrer os projetos e as organizaes envolvi- das em projetos distribudos. Do ponto de vista de processo de desenvolvimento, a engenharia de requisitos tida como um dos principais desafios para projetos desen- volvidos neste contexto. Em projetos distribudos, percebe-se uma grande dificuldade das organizaes em elicitar, analisar e gerenciar corretamente os requisitos. Desta forma, alguns estudos foram desenvolvidos nos ltimos anos [1], [2], [3], [4], [5], [6]
buscando entender quais so as principais dificuldades presentes na engenharia de requisitos, em um cenrio especfico de desenvolvimento distribudo de software. Este artigo tem por objetivo analisar a engenharia de requisitos em projetos de DDS sob a tica da gesto de conhecimento. Desouza e Evaristo [7] realizaram um estudo sobre gesto de conhecimento em projetos distribudos, onde procurou entender que tipo de conhecimento est envolvido em projetos desta natureza e onde este conheci- mento deve estar para acesso das pessoas envolvidas. Desta forma, este estudo anali- sou a proposta de Evaristo buscando adapt-la para o contexto de engenharia de re- quisitos. Prope-se ento uma forma de trabalhar com requisitos de software em pro- jetos de DDS, aproveitando-se de um modelo que trabalha a gesto de conhecimento. Como resultado, identifica-se quais tipos de conhecimento sobre requisitos so neces- srios ao longo de um projeto de software, quem deve ter conhecimento e como este conhecimento pode ser armazenado em um repositrio para consultas futuras. Este artigo est organizado da seguinte forma: a seo 2 apresenta a base terica, a seo 3 apresenta os trabalhos relacionados, a seo 4 apresenta uma descrio dos desafios na ER para Manuteno de Software em DDS, a seo 5 apresenta a classificao do conhecimento em gerncia de requisitos com base na abordagem de Desouza e Evaris- to [7], a seo 6 apresenta uma anlise das implicaes das abordagens de gesto do conhecimento para gerncia de requisitos e, por fim, a seo 7 apresenta as concluses deste artigo e os trabalhos futuros.
2. Base Terica
2.1 Engenharia de Requisitos
O processo de engenharia de requisitos crtico para o sucesso no desenvolvimento de um software. Uma incorreta identificao dos requisitos de um software pode levar ao desenvolvimento de um produto que no atende aos objetivos para o qual foi pla- nejado, sendo total ou parcialmente desperdiado. Durante o processo de desenvolvi- mento, problemas nos requisitos podem gerar a necessidade de um novo ciclo de es- pecificao, projeto, codificao e teste, afetando diretamente os custos e prazos en- volvidos. A engenharia de requisitos pode ser definida como a cincia e disciplina preocupada com a anlise e documentao dos requisitos, incluindo anlise das necessidades e anlise e especificao dos requisitos. Alm disso, a engenharia de requisitos fornece mecanismos apropriados para facilitar as atividades de anlise, documentao e verifi- cao [8]. Um processo de engenharia de requisitos um conjunto estruturado de atividades que so seguidas para derivar, validar e manter um documento de requisitos de um siste- ma. Uma descrio completa de um processo inclui as atividades que devem ser con- duzidas, a estrutura ou agenda destas atividades, as entradas e sadas de cada atividade e as ferramentas utilizadas para suportar a engenharia de requisitos [9].
2.2 Desenvolvimento Distribudo de Software (DDS)
Observou-se na ltima dcada um grande investimento na converso de mercados nacionais em mercados globais, criando novas formas de competio e colaborao entre os pases [10]. Entretanto, o mercado global de software vinha passando por diversas crises. Por um lado, um grande nmero de falhas em projetos. De outro, uma crescente demanda, atingida pela escassez de recursos capacitados. Nesse ambiente, muitas organizaes encontraram no Desenvolvimento Distribudo de Software (DDS) uma alternativa. Atualmente um grande nmero de organizaes desenvolve software com equipes geograficamente distribudas [11], [12], [1]. Entre os fatores que tm contribudo para o crescimento do DDS, podemos destacar o custo mais baixo e disponibilidade de mo de obra; a evoluo e maior acessibilidade a recursos de telecomunicao; a evoluo das ferramentas de desenvolvimento; a necessidade de possuir recursos globais para utilizar a qualquer hora; as vantagens de estar perto do mercado local; a formao de equipes virtuais para explorar as oportu- nidades de mercado; e a presso para o desenvolvimento time-to-market, utilizando as vantagens proporcionadas pelo fuso horrio diferente, no desenvolvimento conhecido como round-the-clock, ou seja, o desenvolvimento quase que contnuo. Neste sentido, o DDS tem atrado um grande nmero de pesquisas na rea de Enge- nharia de Software [1], [2], [3], [4], [5], [6]. So freqentes os esforos que os pesqui- sadores tm feito no intuito de entender os fatores que permitem organizaes multi- nacionais ou virtuais a obterem sucesso trabalhando atravs das fronteiras fsicas e culturais dos pases. Em suma, existe uma srie de problemas e desafios inerentes ao desenvolvimento de software. E o DDS, ao acrescentar fatores como disperso geo- grfica e disperso temporal acentuou alguns dos desafios existentes e acrescentou novos desafios ao processo de desenvolvimento.
2.3 Engenharia de Requisitos em DDS
Em ambientes de DDS, dificuldades como distncia, comunicao e cultura causam um aprofundamento dos problemas inerentes ao processo de engenharia de requisitos, que adquire um carter ainda mais crtico [13]. Como a distncia envolvida pode compreender pases distantes, comumente, a linguagem e a cultura so diferentes. Com isso, os problemas causados por ambigidade e falta de clareza nos requisitos so intensificados. Sem o conhecimento presencial do ambiente onde o software ser inserido, a compreenso das razes e expectativas do software por parte da equipe de desenvolvimento reduzida [14]. A comunicao tambm apresenta novos desafios. Com a perda de contato face-a-face entre a equipe de desenvolvimento e os usurios, existe uma maior dificuldade de esclarecimento em caso de dvidas. Alm disso, com a utilizao de meios de baixo contexto, como correio eletrnico, o contato informal entre os membros dos diversos grupos limitado, reduzindo a confiana entre eles. O gerenciamento de informaes tambm influencia a engenharia de requisitos em ambientes DDS. A gesto do conhecimento atua de forma transversal s categorias identificadas, auxiliando, por exemplo, nos processos utilizados e na gerncia de in-
formaes culturais. O processo engenharia de requisitos, por exemplo, envolve do- cumentos cujo contedo pode ter diversas origens.
2.4 Principais informaes e artefatos envolvidos na engenharia de requisitos
A engenharia de requisitos, como fase inicial do processo de desenvolvimento de software, envolve diversas formas de conhecimento, influenciados por fatores huma- nos, sociais e organizacionais. O processo de engenharia de requisitos, alm de garan- tir o desenvolvimento e aprovao de um artefato de requisitos (comumente chamado de SRS - Software Requirements Specification [15]), envolve informaes de diversas origens e propsitos, necessitando gerenciar as necessidades e expectativas dos envol- vidos de forma a produzir um software adequado. Segundo Kotonya [16], as principais entradas e sadas do processo de engenharia de requisitos so: Informaes sobre o sistema existente; As necessidades dos stakeholders; Padres organizacionais; Regulamentos, como de segurana e sade; Informaes sobre o domnio da aplicao; Requisitos acordados pelos stakeholders; Especificao do sistema; Modelos do sistema. Ainda so considerados, durante a gerncia de requisitos os artefatos necessrios s atividades de controle de alteraes e avaliao do impacto das mudanas, incluindo solicitaes de mudana, aprovaes, avaliao do impacto, rastreabilidade dos requi- sitos, entre outros. Dependendo do processo de desenvolvimento de software utilizado, estas informaes podem ser documentadas de formas distintas. O RUP [17] (Rational Unified Process), por exemplo, utiliza como artefatos em seu workflow de gerenciamento de requisitos o documento viso (Vision), o modelo de casos de uso (Use Case Model) e a especifica- o suplementar (Supplementary Specification). Estes dois ltimos documentos for- mam a especificao dos requisitos do software (Software Requirements Specification SRS). De forma similar, outros processos de software tendem a seguir o padro da IEEE [15], e utilizar um documento de especificao de requisitos (SRS). Alm disso, para controle de alteraes, o uso de um documento de requisio de mudanas (Change Request) implementado por diversos processos.
3. Trabalhos Relacionados
3.1 Estudos de Damian e Zowghi sobre ER em DDS
Os estudos de Damian e Zowghi [13][14] tm como foco principal o entendimento e descrio do impacto exercido pela distncia na negociao de requisitos de software. Em [14], apresentada a relao entre cultura, conflitos e distncia na negociao de
requisitos de forma distribuda globalmente. Para isso foi conduzida uma pesquisa baseada em estudos de caso, visando esclarecer o impacto causado pela distribuio dos stakeholders nas atividades de ER em ambientes de DDS. Estes estudos sugerem que a distncia tende a exacerbar os problemas fundamentais da ER, como a falta de comunicao entre stakeholders, bem como os fatores de natu- reza poltica, organizacional e social. Sugere tambm que pesquisas de campo devem ser realizadas para que se entenda o impacto dos problemas de comunicao e coor- denao nas atividades de ER, identifique os desafios apresentados pelas organizaes distribudas, e apresente recomendaes para superar os problemas associados com a distncia.
3.2 Abordagem de Desouza e Evaristo para Gesto de Conhecimento
Desouza e Evaristo [7] apresentam uma abordagem hibrida para a gesto de conheci- mento em projetos distribudos. Atravs da anlise do trabalho de Hansen e seus cola- boradores [18], que dividem as abordagens de gesto de conhecimento em codificao e personalizao, os autores traam um paralelo das mesmas com dois modelos com- putacionais muito populares: cliente-servidor e ponto-a-ponto (P2P), respectivamente. De acordo com os autores, na abordagem de codificao o conhecimento individual condensado, contextualizado e centralmente disponibilizado em banco de dados. Esta abordagem parte da premissa que o conhecimento pode ser facilmente extrado e codi- ficado, tornando-a muito similar ao modelo cliente-servidor. J a personalizao exatamente o oposto, pois reconhece a dimenso tcita do conhecimento e assume que o conhecimento compartilhado principalmente pelo contato direto entre os indiv- duos. Esta abordagem tem um carter distribudo que a torna muito semelhante ao modelo P2P. As duas abordagens tm implicaes na gesto de conhecimento em projetos distribu- dos, levando os autores a analisar suas vantagens e desvantagens sobre trs dimen- ses da gesto do conhecimento: compartilhamento, controle e estruturao do conhe- cimento. Com base na anlise citada, Desouza e Evaristo propem uma abordagem hbrida visando maximizar os benefcios dos modelos cliente-servidor e P2P, quando aplicados gesto do conhecimento. Neste trabalho a abordagem hbrida aplicada gesto de conhecimento em ER para DDS. Vrios dos desafios encontrados neste cenrio podem ser tratados atravs desta abordagem. Mas possivelmente, o processo de gerncia de requisitos seja o beneficia- do pela adoo de prticas de gesto do conhecimento, dado que o processo afetado pelas dificuldades evidenciadas pela manuteno de software. O prximo captulo apresenta uma anlise destas dificuldades.
4. Desafios na ER para Manuteno de Software em DDS
O processo de ER exige a manipulao de uma grande quantidade de informaes. Tipicamente, alm dos documentos de requisitos propriamente ditos, necessria tambm a manuteno de informaes sobre controle de verso, relatrios de anlise de impacto, estimativas de custos e todas as informaes necessrias gerncia do
processo de submisso e apreciao das requisies de mudana de requisitos. Fazen- do com que estes processos tenham uma grande capacidade de produzir e consumir conhecimento. No contexto de manuteno de software, o conhecimento sobre requisitos particu- larmente importante. Segundo Liu e seus colaboradores [19], compreender os requisi- tos de sistemas legados torna-se importante para: Compreender os stakeholders, os usurios e o contexto de negcio do siste- ma; Obter uma viso geral das funcionalidades e do ambiente do sistema; Compreender as intenes por trs do projeto original do sistema; Obter conhecimento sobre a interao do sistema com seus usurios no su- porte s operaes de negcio; Este conhecimento til para melhorar o sistema legado, integr-lo com o restante dos sistemas de informao ou realizar a reengenharia do sistema. Infelizmente, nem sem- pre possvel obter este conhecimento. De acordo com diversos autores [20][21][22][23][19], a ausncia de documentao e a indisponibilidade dos stakehol- ders originais um cenrio muito comum na prtica de manuteno de sistemas lega- dos. Muitas vezes, o sistema em si, seu cdigo-fonte e seus usurios so as nicas fontes de conhecimento sobre tais sistemas. Um outro fator negativo para gerncia de requisitos em projetos de manuteno que a ER , geralmente, discutida como uma fase inicial no desenvolvimento de software [23]. Entretanto, o conhecimento dos requisitos requer um esforo contnuo no refi- namento progressivo das exigncias contidas nas regras de negcio das organizaes e em atendimento s necessidades dos stakeholders, durante todo o ciclo de vida do software. Assim, os requisitos devem ser gerenciados de forma a evolurem em sin- cronia com o software. Prticas de ER que vinculem os requisitos ao escopo de proje- tos, ao invs do produto de software, podem levar a uma fragmentao das especifica- es de requisitos e dificultar a evoluo e a transferncia do conhecimento sobre a aplicao legada. Alm disto, em ambientes de DDS fatores como diferenas culturais e de idioma difi- cultam o processo de transferncia de conhecimento sobre a aplicao entre os diver- sos stakeholders geograficamente distribudos. De acordo com Damian [14] e Lopes [4], a gesto de conhecimento influencia a ER em ambientes de DDS. A ER em DDS envolve, por exemplo, documentos cujo contedo pode ter diversas origens. Captar, processar, armazenar e disponibilizar globalmente o conhecimento gerado e consumi- do pelos processos de manuteno e pela ER so questes que podem ser endereadas pela gesto do conhecimento. Cabe salientar tambm que os desafios aqui descritos no esto restritos ao escopo da manuteno de software, sendo muitas vezes causados por decises tomadas e prticas adotadas durante o projeto de desenvolvimento de software. Mas sob a perspectiva da manuteno de software que estes desafios so evidenciados. Uma parte significa- tiva do conhecimento gerado durante o desenvolvimento de um novo produto de soft- ware, por exemplo, no reaproveitada durante o projeto inicial. Portanto, a deciso de no preservar este conhecimento no acarreta nenhum prejuzo neste momento, podendo inclusive ser considerada como uma forma de economia de recursos e, con-
sequentemente, reduo de custos. Mas a ausncia deste mesmo conhecimento poder acarretar dificuldades em futuros projetos de manuteno de software, principalmente se o projeto de manuteno for executado por outra equipe e em outra localidade.
5. Classificao do Conhecimento em Gerncia de Requisitos
De acordo com Damm [24], o conhecimento gerado por projetos pode ser categoriza- do como conhecimento em projetos, conhecimento sobre projetos e conhecimento proveniente de projetos. O conhecimento em projetos compreende informaes deta- lhadas que so geradas e utilizadas em cada projeto individual. Os envolvidos no projeto necessitam destas informaes para saber quando, o que, quem, como, onde e por que algo feito, visando promover uma coordenao eficiente e efetiva das ativi- dades. O conhecimento sobre projetos compreende informaes que a organizao necessita para saber que projetos esto sendo conduzidos em qualquer momento. Estas informaes contribuem para o planejamento e controle dos recursos utilizados nestes projetos. J o conhecimento proveniente de projetos compreende as principais infor- maes geradas com a execuo do projeto. Este conhecimento determinante do sucesso futuro do projeto e contribui para o aprendizado organizacional. O primeiro passo na aplicao da abordagem hbrida de gesto de conhecimento ER em DDS consiste em aplicar esta categorizao s informaes relevantes para ER e, em particular, para a gerncia de requisitos. Desta forma possvel elaborar uma lista de informaes para cada categoria. Durante a execuo de um projeto, so necess- rias vrias informaes detalhadas sobre os requisitos e as requisies dos stakehol- ders. Dentre estas informaes, as seguintes podem ser destacadas como conhecimen- to em projeto: Novos requisitos e seus respectivos estados, tais como proposto, aprova- do ou rejeitado; Requisies de alterao de requisitos e seus respectivos estados; Relatrios de anlise de impacto das alteraes requisitadas; Estimativas de custo e esforo para novos requisitos ou requisies de altera- o em requisitos j existentes; Informaes sobre a priorizao dos requisitos; Controle de verso e controle de alterao de todos os requisitos do software. De uma perspectiva mais ampla, a organizao necessita de vrias informaes sobre a alocao de suas necessidades em requisitos de software e o andamento dos respec- tivos projetos. Estas informaes so teis para garantir o alinhamento dos esforos de TI com as estratgias da organizao, contribuindo assim para o planejamento e con- trole dos recursos de TI. Sob esta perspectiva podemos destacar as seguintes informa- es como conhecimento sobre projetos: Projetos em andamento e as necessidades organizacionais sendo tratadas pe- los mesmos; Produtos de software sendo criados ou modificados por cada projeto; Stakeholders envolvidos em cada projeto; Localidades (sites) envolvidas em cada projeto; Indivduo ou equipe responsvel por requisitos em cada projeto;
Mtricas relacionadas aos requisitos. J o conhecimento proveniente de projetos inclui as informaes geradas pelos pro- cessos de ER aps a execuo dos projetos. Muitas informaes evoluem durante a execuo destes processos e atingem um estado estvel e definitivo somente ao trmi- no do projeto, quando os requisitos j esto implementados e o processo de gerncia de alteraes j est encerrado. Nesta categoria podemos destacar: Produtos de software criados ou modificados pelo projeto; Features implementadas; Verso final dos requisitos; Informaes de rastreabilidade. A partir desta categorizao possvel analisar as implicaes das abordagens cliente- servidor e P2P para cada categoria de conhecimento, bem como demonstrar as vanta- gens da abordagem hbrida.
6. Implicaes das Abordagens de Gesto do Conhecimento para Gerncia de Requisitos
As abordagens cliente-servidor e P2P apresentam vantagens e desvantagens de acordo com a categoria de conhecimento sendo considerada. Para avaliar qual abordagem oferece mais benefcios em cada categoria de conhecimento os autores da abordagem hbrida analisaram trs dimenses da gesto de conhecimento: compartilhamento, controle e estruturao do conhecimento. Aqui, esta mesma anlise realizada para o contexto de ER em DDS.
6.1 Abordagem cliente-servidor
Na abordagem cliente-servidor, o conhecimento codificado e centralmente disponi- bilizado, garantindo assim uma estruturao do conhecimento proveniente de mlti- plos projetos. Os produtores do conhecimento precisam organizar e classificar o co- nhecimento de acordo com padres previamente estabelecidos pela organizao. As- sim possvel oferecer recursos de busca baseada em filtros que permitem um acesso rpido ao conhecimento desejado. A Figura 1 ilustra esta abordagem.
Figura 1. Abordagem cliente-servidor [7] Repositrio de Conhecimento Repositrio de Conhecimento
Do ponto de vista de ER em DDS, esta abordagem traz a vantagem de facilitar a trans- ferncia de conhecimento entre equipes geograficamente dispersas, pois garante que um mesmo padro ser utilizado para estruturar o conhecimento sobre requisitos de maneira uniforme por todas as equipes. Entretanto, esta abordagem pode dificultar o compartilhamento e o controle do conhecimento. Uma vez que o conhecimento preci- sa ser primeiro codificado de acordo com os padres estabelecidos, os indivduos tendem a retardar sua publicao at que tenham a confirmao e a estabilizao do mesmo. Alm disto, os indivduos tero pouco controle sobre a visibilidade das in- formaes a partir da sua publicao. Assim, uma parte do conhecimento sujeita a modificao mais freqentes pode no ser disponibilizada com eficincia. Informa- es a respeito de requisies de alterao de requisitos e seu processo de avaliao, por exemplo, podem ser relegadas deixando-se que apenas as verses finais dos requi- sitos para publicao. Desta forma, esta abordagem torna-se adequada para a gesto do conhecimento sobre projetos e proveniente de projetos, contribuindo para a preservao do conhecimento de longo prazo e para o aprendizado organizacional sobre as aplicaes legadas e seus requisitos. Mas no a opo mais adequada para o conhecimento em projetos, devi- do natureza dinmica deste conhecimento e s necessidades de controle e personali- zao existentes em cada projeto.
6.2 Abordagem P2P
Por outro lado, na abordagem P2P o conhecimento personalizado. Os indivduos podem escolher seus prprios meios de categorizao e codificao do conhecimento e o compartilhamento deste conhecimento se d pelo contato direto entre os indiv- duos. Neste caso, o papel da tecnologia oferecer os meios necessrios para facilitar a comunicao direta entre os indivduos. Uma vez que os indivduos so mais propen- sos a armazenar nos seus prprios repositrios as informaes nas quais ainda esto trabalhando, esta abordagem pode reduzir os atrasos entre a criao do conhecimento e seu armazenamento no repositrio. Ao contrario da centralizao, onde o conheci- mento separado de seu criador, na abordagem P2P cada indivduo possui controle sobre o conhecimento e sobre a visibilidade do mesmo. A Figura 2 ilustra esta abor- dagem.
Figura 2. Abordagem P2P [7]
Este tipo de abordagem trs para a ER em DDS a vantagem de facilitar o comparti- lhamento e o controle do conhecimento de gerncia de requisitos. Informaes sobre requisies de alterao e sobre o acompanhamento do seu processo de avaliao, por exemplo, so muito dinmicas, necessitando de constante atualizao. Mas no h uma necessidade de transferncia imediata deste conhecimento para outras equipes geograficamente dispersas, permitindo que este conhecimento possa ser armazenado localmente e disponibilizado sob demanda apenas para as equipes interessadas. Entre- tanto, esta abordagem pode dificultar a estruturao do conhecimento. Cada projeto e equipe podem utilizar seus prprios mtodos para codificar e categorizar o conheci- mento, dificultando assim a transferncia deste conhecimento entre equipes geografi- camente dispersas. Se cada equipe utilizar seus prprios mtodos para armazenar as especificaes de requisitos, por exemplo, com o passar do tempo esta documentao se tornar desestruturada. Assim, esta abordagem torna-se adequada para a gesto do conhecimento em projeto. Proporciona a flexibilidade necessria para que cada equipe e projeto armazene o conhecimento dinmico sobre a gerncia de requisitos utilizando seus prprios pro- cessos e padres. Mas no a opo mais adequada para gesto do conhecimento sobre projetos e proveniente de projetos, pois pode levar a desestruturao deste tipo de informao.
6.3 Abordagem hbrida
A abordagem hbrida apresenta caractersticas que a torna adequada ao contexto da ER em DDS. Para preservar os benefcios de cada abordagem e evitar suas limitaes esta abordagem possui dois componentes. O primeiro um repositrio centralizado contendo o conhecimento sobre e proveniente de projetos. Este componente tambm serve como um ndice para o segundo componente: conhecimento em projeto armaze- nado nos repositrios das equipes geograficamente distribudas. A Figura 3 ilustra esta abordagem.
Figura 3. Abordagem Hbrida [7]
O uso de um repositrio centralizado para o conhecimento sobre e proveniente de projetos propicia a padronizao e estruturao do conhecimento de longo prazo so- bre os requisitos das aplicaes. Os padres estabelecidos para a publicao da espe- Indice + Conhecimento proveniente de & sobre projetos Indice + Conhecimento proveniente de & sobre projetos
cificao de requisitos no repositrio centralizado podem garantir que os requisitos sejam documentados de forma homognea. Como exemplo de possveis padres pode- se citar o idioma exigido pela organizao para os documentos publicados, a tcnica de especificao de requisitos utilizada (casos de uso, linguagem natural, etc.), sistema mtrico utilizado e glossrio unificado de termos. Alm disto, o uso de um repositrio centralizado pode viabilizar a especificao dos requisitos com foco no produto de software, evitando que os requisitos sejam documentados para o escopo de cada proje- to individual e que informaes especficas de um determinado contexto possam pre- judicar a interpretao sobre a especificao do produto de software em projetos futu- ros ou por outras equipes. Um ndice centralizado para o conhecimento em projeto, que por sua vez permanece armazenado nos repositrios distribudos, oferece um mecanismo eficiente de coorde- nao e comunicao entre as equipes distribudas. Por exemplo, uma equipe respon- svel pela execuo de um projeto de manuteno em um determinado produto de software pode localizar a especificao de requisitos que descreve o funcionamento do mesmo em um determinado momento. Mas pode tambm encontrar um ndice para os demais projetos realizados sobre o mesmo produto de software, permitindo intera- gir diretamente com as equipes responsveis pelos mesmos e obter informaes mais detalhadas de seus repositrios sobre o conhecimento em projeto. O conhecimento em projeto armazenado nos repositrios distribudos, segundo com- ponente da abordagem hbrida, proporciona um mecanismo eficiente e efetivo de captura do conhecimento em projeto. Uma vez que cada projeto nico e cada equipe diferente, esta abordagem permite flexibilidade na adoo de processos de gerncia de requisitos e padres que sejam adequados realidade de cada caso. Por exemplo, uma equipe em uma determinada localidade pode utilizar um sistema de automao de workflow para o acompanhamento das requisies de alterao de requisitos, enquanto outra pode simplesmente utilizar trocas de e-mails entre os stakeholders para a mesma finalidade. Tambm possvel evitar, com esta abordagem, a perda de informaes que so relevantes apenas para um determinado projeto, mas que no agregam valor ao aprendizado organizacional ou no se enquadram nos padres globais da organiza- o. A priorizao dos requisitos, por exemplo, uma informao relevante durante a execuo de um projeto, mas perde seu sentido ao termino do mesmo. Portanto, no h necessidade de sobrecarregar o repositrio centralizado com informaes que po- dem gerar resultados irrelevantes durante operaes de busca por conhecimento.
7. Concluso
O software cada vez mais indispensvel para a sociedade moderna [11], onde a globalizao uma caracterstica fundamental. Assim como o processo de desenvol- vimento de software tem se tornado cada vez mais complexo, a distribuio das equi- pes no tempo e no espao tem tornado os projetos distribudos cada vez mais comuns. Neste contexto, a Engenharia de Requisitos surge como um dos principais desafios no DDS. Muitas so as dificuldades existentes na ER em projetos de DDS. Entre elas, este artigo abordou principalmente a gerncia de informaes dispersas em mltiplas localidades.
Desta forma, este artigo procurou analisar, do ponto de vista da gesto de conheci- mento, que contribuies esta rea pode trazer para a engenharia de requisitos, de forma a minimizar os desafios existentes. Para isso, foi proposta uma abordagem de gesto de conhecimento para a engenharia de requisitos derivada da abordagem de [7], que uma abordagem genrica para projetos distribudos.
7.1 Trabalhos futuros
Acredita-se que exista uma grande oportunidade para continuar este estudo no sentido de avaliar em projetos reais como esta abordagem se aplicaria. E entende-se que a abordagem de gesto de conhecimento pode contribuir no sentido de melhorar a co- municao no projeto e ajudar os stakeholders e a organizao a identificar que tipo de conhecimento de requisitos necessrio em que momento e a utilidade desta in- formao. Com este propsito, pretende-se realizar um estudo de caso em uma organizao que mantm um ambiente DDS. Atualmente, este estudo de caso est em fase de planeja- mento. A organizao e os projetos j foram identificados e as respectivas equipes esto sendo treinadas para a adoo da abordagem descrita neste artigo. Com os resul- tados deste estudo de caso a abordagem ser refinada e um modelo para gesto do conhecimento em gerncia de requisitos ser elaborado.
References
[1] Prikladnicki, Rafael; Audy, Jorge Luis Nicolas. MuNDDoS: Um Modelo de Referncia para Desenvolvimento Distribudo de Software. In: 18 SBES - SIMPSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE, 2004, Braslia. 2004. [2] Evaristo, Roberto; Audy, Jorge Luis Nicolas; Prikladnicki, Rafael; Avritchir, Jairo. Wholly Owned Offshore Subsidiaries for IT Development: A Program of Research. In: Proc. of the 38th Hawaii International Conference on System Sciences - HICSS. Hawaii, USA, 2005. [3] Evaristo, Roberto; Scudder, Richard. Geographically distributed project teams: a dimen- sional analysis. In: HICSS, 2000, Hava. Proceedings EUA, p. 1-15, 2000. [4] Lopes, Leandro; Majdenbaum, Azriel; Audy, Jorge Luis Nicolas. Uma proposta para pro- cesso de requisitos em ambientes de desenvolvimento distribuido de software. In: WER'03 - Workshop em Engenharia de Requisitos. Piracicaba, SP. RJ: PUCRJ, 2003. [5] Lopes, Leandro; Audy, Jorge Luis Nicolas. Em busca de um modelo de referencia para engenharia de requisitos em ambiente de desenvovimento distribuido de software. In: WER'03 - Workshop em Engenharia de Requisitos. Piracicaba, SP. RJ: PUCRJ, 2003. [6] Espindola, Rodrigo dos Santos; Majdenbaum, Azriel; Audy, Jorge Luis Nicolas. Uma Anlise Crtica dos Desafios para Engenharia de Requisitos em Manuteno de Software. In: VII Workshop on Requirements Engineering, 2004, Tandil, Argentina, 2004. [7] Desouza, K. C.; Evaristo, J.R. Managing Knowledge in Distributed Projects. Comunica- tions of the ACM. Abril 2004, Vol. 47, No.4. pp 87-91. [8] Thayer, Richard; Dorfman, Merlin. System and Software Requirements Engineering. IEEE Computer Society Press Tutorial. 2000. 718p
[9] Sommerville, Ian; Sawyer, Peter. Requirements Engineering a good practice guide. New York: John Wiley & Sons Ltd, 1997, 391p. [10] Carmel, E.. Global Software Teams Collaborating Across Borders and Time Zones. Prentice Hall. 1999. 269p. [11] Karolak, D.. Global Software Development Managing Virtual Teams and Environments. IEEE Computer Society. Los Alamitos, EUA. 1998. 159p. [12] Kiel, L. Experiences in Distributed Development: A Case Study, In. Workshop on Global Software Development at ICSE, Oregon, EUA. Proceedings 2003. [13] Zowghi, D., Does Global Software Development need a different requirements engineer- ing process?, Proceedings of International Workshop on Global Software Development, 2002. [14] Damian, D., Zowghi, D., An insight into the interplay between culture, conflict and distance in globally distributed requirements negotiations, Proceedings of the 36th Hawaii International Conference on Systems Sciences (HICSS03), IEEE, 2002. [15] IEEE, 1998. IEEE Recommended Practice for Software Requirements Specification, Std 830-1998. IEEE Computer Society. New York, USA [16] Kotonya, G.; Sommerville, I. Requirements Engineering: process and techniques. New York: John Wiley & Sons Ltd, 1998, 282p. [17] Kruchten, P., The Rational Unified Process: An Introdution. 2nd Edition. Addison Weasley. 2001. [18] Hansen, M.T., Nohira, N., Tierney, T. Whats your strategy for managing knowledge? Harvard Business Review 77, 2 (Mar./Apr. 1999), pp 106-116. [19] Liu, Kecheng; Alderson, Albert; Qureshi, Zubair. Requirements Recovery from Legacy Systems by Analysing and Modelling Behaviour. Proceedings of the International Confer- ence on Software Maintenance, 1999, IEEE Computer Society, Los Alamitos, pp3-12. [20] Ebner, G., Kaindl, H., Tracing All Around in Reengineering, IEEE Software, May 2002, pp.70-76. [21] Pressman, R. S. Software Engineering: a practitioners approach. McGraw Hill, New York, 5th ed., 2001. [22] White, Stephanie M. Capturing Requirements for Legacy Systems. Proceedings of the International Symposium and Workshop on Systems Engineering of Computer Based Sys- tems, 1995. pp 251-256. [23] Zanlorenci, E. P., Burnett, R. C. Abordagem de Engenharia de Requisitos em Software Legado. Workshop em Engenharia de Requisitos, Piracicaba-SP, Brasil, 2003, pp 270- 284. [24] Damm, D., Schindler, M., Security issues of a knowledge mdium for distributed projects work. Intern. J. of Project Management 20. 2002. pp 37-44.