Baixar este arquivo PDF - Revista TIS
Transcrição
Baixar este arquivo PDF - Revista TIS
ISSN 2316-2872 T.I.S. São Carlos, v. 4, n. 1, p. 59-67, jan-abr 2015 ©Tecnologias, Infraestrutura e Software Estudo da aplicação de Aspectos da Gestão do Conhecimento no Desenvolvimento Ágil de Software Leonardo Pereira Pinheiro de Souza, Fabiano Cutigi Ferrari Resumo: O presente artigo relata a integração entre a metodologia Scrum e a Gestão do Conhecimento (GC). Sendo que tempo e produtividade são fatores críticos, propõe-se práticas para estabelecer a GC com mínima interferência no fluxo de trabalho e a baixo custo. Justifica-se a pesquisa pelo fato de as metodologias ágeis não trabalharem adequadamente o saber nos projetos de software. Os procedimentos utilizados incluíram: a aplicação de questionário para prospecção do conhecimento, captação do mesmo por vídeos e artigos, bem como uso de questionário para avaliação do sucesso do estudo. Portanto, verificou-se que, com as estratégias adequadas e motivação, é possível incrementar o compartilhamento de conhecimento entre os programadores. Palavras-Chave: Gestão do Conhecimento, Scrum, Externalização de Conhecimento Application ofKnowledge Management Aspects in Software Agile Development Abstract: This paper reports the integration between the Scrum methodology and the Knowledge Management (KM). Whereas time and productivity are critical, the study proposed to establish the KM practices with minimal interference in the workflow and with low cost. This research is justified by the fact that agile methodologies do not deal properly with learning in software projects. The procedures included the use ofa questionnaire to survey the knowledge, knowledge capture by videos and articles, as well as a questionnaire to evaluate the success of the study. Therefore, the study found that, with the appropriate strategies and motivation, it is possible to increase knowledge sharing among programmers. Keywords: Knowledge Management, Scrum, Knowledge Externalization I. INTRODUÇÃO Conforme Aurum, Daneshgar e Ward (2008), a complexidade do trabalho em projetos de Engenharia de Software resulta em forte dependência do conhecimento. Esse conhecimento, porém, é muitas vezes compartilhado apenas informalmente. Kavitha e Ahmed (2011) afirmam que grande parte do saber de uma organização reside apenas nos cérebros dos colaboradores. Segundo os autores, não armazenar o saber pode causar um impacto sensível no momento em que membros experientes deixam a empresa. Aurum, Daneshgar e Ward (2008) asseguram que a aplicação da Gestão do Conhecimento (GC) na Engenharia de Software ajuda aos desenvolvedores a aprenderem com a experiência de projetos anteriores, melhorando a eficiência ao reduzir o retrabalho. No contexto das metodologias ágeis para desenvolvimento de software, a aplicação da GC supre a lacuna que essas metodologias têm por não contemplarem o conhecimento explícito, conforme observado por Kavitha e Ahmed (2011). Em relação à metodologia Scrum, Kniberg e Skarin (2009) consideram que ela é pouco prescritiva e pode convenientemente incorporar ferramentas e conceitos complementares. O presente estudo visa, portanto, demonstrar a utilização da GC em um projeto de desenvolvimento de software, apresentando práticas e tecnologias que permitem diminuir custos em termos de tempo e recursos financeiros. A experiência realizada objetiva ainda uma integração suave entre a metodologia ágil Scrum e a formalização de conhecimentos, interferindo minimamente no fluxo normal de trabalho. As conclusões obtidas deste estudo, executado em um contexto educacional, presume-se que podem ser generalizadas para uso em empresas reais. Os procedimentos utilizados consistiram, inicialmente, no emprego de questionários para identificar os conhecimentos dos programadores, bem como suas necessidades em termos de conhecimento. Posteriormente, capturaram-se os conhecimentos identificados através da elaboração de artigos e gravação de vídeos, submetendo o material resultante a um repositório. Por fim, o sucesso do experimento foi inferido através de questionários sobre a utilização do repositório. O restante deste artigo está organizado da seguinte maneira: na Seção 2 são apresentados os trabalhos relacionados, sendo feita uma análise crítica dos mesmos. Na Seção 3 é exposto o embasamento teórico. Nessa seção discorre-se sobre as fases da GC, bem como aspectos das metodologias ágeis. A Seção 4 apresenta a caracterização do Departamento de Computação - Universidade Federal de São Carlos (UFSCar) Caixa Postal 676 – 13.565-905 – São Carlos – SP – Brasil Autor para correspondência: : [email protected], [email protected] Leonardo Pereira Pinheiro de Souza, Fabiano Cutigi Ferrari objeto de pesquisa, os procedimentos metodológicos e ferramentas utilizadas. A Seção 5 relata a implantação da GC e os resultados obtidos. Por fim, a Seção 6 apresenta a conclusão e sugestões de trabalhos futuros. 2. TRABALHOS RELACIONADOS Muitos estudos já foram publicados sobre a GC no âmbito da Administração de Empresas. Pesquisadores da área de Computação, todavia, têm também estudado o potencial da GC para apoiar a Engenharia de Software, tanto nas metodologias de desenvolvimento tradicionais, quanto nas ágeis. Na perspectiva de Aurum, Daneshgar e Ward (2008), os processos de desenvolvimento de software fazem uso intenso de conhecimentos, tanto tácitos, ou pessoais, quanto explícitos, ou formalizados. Esse conhecimento em projetos de software é composto por: “[…] documentos, processos, práticas, tecnologias e artefatos de projeto1 ” (KAVITHA; AHMED, 2011, p. 1). Conforme Cohn et al. (2003 apud COSTA FILHO, 2006), embora para as metodologias ágeis, ter um software funcional seja mais importante que uma documentação abrangente, registrar o conhecimento é algo positivo. Kavitha e Ahmed (2011) afirmam que as metodologias ágeis costumam trabalhar bem o conhecimento tácito, transmitido de pessoa a pessoa. A lacuna dessas metodologias se encontra, ainda na visão dos autores, na explicitação desse saber, que é melhor trabalhada nas metodologias tradicionais. Há cinco principais problemas decorrentes de não se armazenar o conhecimento em projetos de software: Especialistas gastam muito tempo em responder repetidamente às mesmas perguntas; membros da equipe encontram-se em situações em que eles sabem que já tiveram um certo problema antes, mas não se lembram a sua solução; o conhecimento é perdido assim que os desenvolvedores experientes deixam o projeto ou empresa; a comunicação informal não pode servir como um registro; menos suporte para reutilização; menos contribuição para o conhecimento organizacional2 (KAVITHA; AHMED, 2011, p. 2). Na metodologia Scrum pode haver dois momentos mais propícios para o intercâmbio de saberes: a reunião de revisão da iteração e a reunião de retrospectiva da iteração. A reunião de revisão da iteração, conforme Swaber e Beedle (2002, apud COSTA FILHO, 2006) é a reunião onde a equipe de desenvolvimento apresenta o produto incremental de seu trabalho ao cliente, gerência e dono do produto, encerrando a iteração atual. Ainda segundo os autores, na reunião de retrospectiva da iteração, o mestre Scrum, a equipe e o proprietário do produto verificam o resultado da última iteração e o que pode ser melhorado. Por conseguinte, Disterer (2002 apud ARUM; DANESHGAR; WARD, 2008) afirma que o momento de fechamento das etapas de um projeto é bastante adequado para discutir, expressar opiniões ________________________________ 1 Tradução dos autores deste artigo. 2 Tradução dos autores deste artigo. T.I.S. 2015; 4 (1): 59-67 e extrair conhecimentos da equipe. A) Barreiras para a Implantação da GC no Desenvolvimento de Software Há três aspectos que precisam ser tratados com cuidado para não se tornarem impedimentos para a implantação da GC: o tempo, os custos e a resistência dos colaboradores. No que diz respeito aos custos envolvidos, principalmente em relação à conversão do saber tácito em explícito, pode-se destacar: “[...] o custo para realização de reuniões e, potencialmente, os custos de viagens associados, o repositório onde o conhecimento é mantido, e a manutenção e suporte deste repositório3 ” (STEVENS; HSU; ZHU, 2012, p. 11). Os custos apresentados são, em realidade, um investimento para a empresa. De acordo com Stevens, Hsu e Zhu (2012), os custos para registrar conhecimento, visando seu reúso, são menores que os custos de sua perda. Em relação ao fator tempo, produzir um artigo ou tutorial para ser compartilhado pode ser uma tarefa demorada. Todavia, os autores supracitados alegam que o tempo empregado em capturar o saber pode ser menor que o tempo gasto em recriar o conhecimento do início. Ruggles (1998, apud STEVENS; HSU; ZHU, 2012) afirma que a mudança comportamental é outra dificuldade a ser debelada para o estabelecimento da GC. Betz, Oberweis e Stephan (2014), relatam o caso de uma empresa de software onde os membros obtinham e guardavam conhecimento apenas para si, para conseguirem vantagens sobre seus colegas. Casey e Richardson (2008 apud BETZ; OBERWEIS; STEPHAN, 2014) apontam que este comportamento ocorre com os colaboradores por terem insegurança quanto à permanência em seus empregos. Segundo Gupta (2008, apud STEVENS; HSU; ZHU, 2012), para que os colaboradores se sintam seguros em disseminar o que sabem, deve haver um clima de abertura e confiança, e estes devem ser conscientizados dos benefícios mútuos da partilha (de ensinar e também aprender com outros). B) Análise Crítica dos Trabalhos Relacionados É relevante tratar dos trabalhos relacionados em relação aos pontos em que convergem e divergem entre si e com o presente estudo. Aurum, Daneshgar e Ward (2008), Betz; Oberweis e Stephan (2014), Stevens, Hsu e Zhu (2012), bem como de Kaviha e Ahmed (2011), expõem uma preocupação com o registro da experiência pessoal, ou saber tácito. Outro ponto salientado unanimemente é a relevância do compartilhamento do conhecimento. Aurum, Daneshgar e Ward (2008), Betz, Oberweis e Stephan (2014), Stevens, Hsu e Zhu (2012) enfatizam os aspectos humanos da GC na Engenharia de Software: liderança, cultura, aprendizagem, compartilhamento e consumo de conhecimento. Kavitha e Ahmed (2011), no entanto, focam no aspecto tecnológico como base do framework que propõem. Gutierrez (2008), todavia, discorda que uma abordagem puramente tecnológica possa alcançar o ______________________________________ 3 Tradução dos autores deste artigo. 60 Estudo da aplicação de Aspectos da Gestão do Conhecimento no Desenvolvimento Ágil de Software seleciona proprietário do produto e equipe de desenvolvimento; • Equipe Scrum: desenvolve o software e participa da criação da lista de tarefas. Conforme Nonaka e Takeuchi (2008), equipes autoorganizadas, como a do Scrum, têm papel importante na produção do conhecimento. O diálogo e mesmo as divergências que podem ocorrer no grupo “levam os indivíduos a questionarem as premissas existentes e a buscarem novos sentidos em suas experiências” (NONAKA, TAKEUCHI, 2008, p. 26). sucesso. De fato, Aurum, Daneshgar e Ward (2008) mostram que, sem uma metodologia bem definida, a GC fracassará. O presente estudo busca, portanto, trabalhar os aspectos humanos juntamente com os tecnológicos. O incentivo para participação no programa de GC é uma questão fundamental, que também é discutida por alguns autores. Stevens, Hsu e Zhu (2012) expõem um modo de captação de conhecimento através de uma rígida documentação de projeto, que implica na participação obrigatória na GC. Além dessa abordagem conflitar com a filosofia ágil, ela não considera o aspecto motivacional. Contudo, o presente estudo busca trabalhar o aspecto da motivação para incentivar a partilha do saber, como proposto por Betz, Oberweis e Stephan (2014). A) O Conhecimento e Seu Papel nas Organizações Conhecimento pode ser compreendido simplesmente como o saber que reside em um ser humano. De acordo com Gutierrez (2008), este saber nasce através da assimilação da informação e está impregnado de um repertório de vivências e experiências pessoais. O conhecimento descrito é classificado como tácito, conforme Nonaka e Takeuchi (2008). Este saber é subjetivo, de difícil externalização, tendo dependência de um mediador humano para sua difusão. Nonaka e Takeuchi (2008) mencionam ainda o conhecimento explícito, que pode ser mais facilmente externalizado, estando sob a forma de documentos e meios correlatos. Por conseguinte, a conversão do saber tácito para o explícito se dá de uma maneira cíclica, a qual os autores acima citados chamam de espiral do conhecimento. Para Laudon e Laudon (2010), cada organização possui um conhecimento empresarial único, que é aplicável apenas em seu contexto. Na visão dos autores, trabalhar o conhecimento interno resulta em vantagem competitiva. A GC tem por finalidade justamente auxiliar a organização a aproveitar o máximo de seu capital intelectual, visando atingir seus objetivos. A GC trabalha, portanto, o saber único produzido no contexto da empresa, de alto valor estratégico: A Gestão do Conhecimento pode ser entendida como a disciplina que se encarrega do estudo, do projeto e implantação de sistemas cujo principal objetivo é identificar, capturar e compartilhar sistematicamente o conhecimento contido em uma organização, de forma que este possa ser transformado em valor para ela4 (GUTIERREZ, 2008, p. 25, 26). III. REFERENCIAL TEÓRICO De acordo com Sommerville (2007), as metodologias ágeis surgiram para tornar a produção de sistemas mais dinâmica, adequando-se às constantes mudanças no contexto dos negócios. Como afirma o autor, as metodologias tradicionais dispendem muito tempo com a documentação do projeto. Outro problema referente às metodologias não ágeis, ainda na visão do autor, é o fato de que a mudança nos requisitos do sistema se torna difícil. Portanto, segundo Sommerville (2007), as metodologias ágeis propõem: participação do cliente no processo de desenvolvimento; entrega incremental de artefatos de software; adaptação rápida às mudanças de requisitos; dentre outras características. A metodologia ágil Scrum nasceu a partir do trabalho de Nonaka e Takeuchi (1986 apud SUTHERLAND, 2011), autores que também ofereceram importantes contribuições para o desenvolvimento da GC. Conforme Sutherland (2011), a metodologia mencionada foi idealizada não apenas para a criação de sistemas para computadores, mas para ser aplicada a qualquer situação de gestão de projetos. Assim, como afirma o autor, as regras do Scrum determinam que haja uma equipe pequena, interdisciplinar e auto-organizada. Segundo Schwaber e Beedle (2002, apud COSTA FILHO, 2006), a metodologia Scrum caracteriza-se por um conjunto de diretrizes: listas das tarefas a serem executadas no projeto e durante cada iteração; estimativa de esforços para cada tarefa; reuniões realizadas entre a equipe, e entre equipe e parte interessada; definição de papéis a serem desempenhados pelos envolvidos no projeto. É relevante ressaltar que a duração das iterações deve ser curta, de duas a quatro semanas. Assim, os autores supracitados descrevem uma listagem dos papéis no Scrum: • Mestre Scrum: membro que lidera o projeto, garantindo que as regras da metodologia sejam cumpridas e ajudando a manter o foco da equipe; • Proprietário do produto: cuida da lista de tarefas que serão executadas, podendo conceder permissão para alterar a prioridade das mesmas; • Cliente: define a prioridade de implementação dos requisitos de projeto e participa de reuniões para validação do produto das iterações; • Gerência: toma as decisões críticas e Como concretizar a Gestão do Conhecimento Gutierrez (2008) cita que apenas utilizar algum software que armazene e distribua informações não é suficiente para implantar a GC. Na perspectiva do autor, a cultura organizacional, a estratégia, o conteúdo do conhecimento, os processos e o fator humano são os pilares dessa gestão. Nas empresas de desenvolvimento de software, fomentar uma cultura favorável e criar um contexto aberto para novas ideias, são fatores essenciais para o sucesso da GC, segundo Aurum, Daneshgar e Ward (2008). _________________________________ 4Tradução dos autores deste artigo. 61 T.I.S. 2015; 4 (1): 59-67 Leonardo Pereira Pinheiro de Souza, Fabiano Cutigi Ferrari Segundo Gutierrez (2008), a estratégia neste programa de gestão deve ter um objetivo claro e esse objetivo deve estar em harmonia com os anseios da organização. Embora o autor afirme que não há uma metodologia específica para gerir o conhecimento, há práticas comuns que já obtiveram sucesso. O autor divide o processo nas fases de análise, projeto e implantação. Fases de Implantação da Gestão do Conhecimento. Conforme Gutierrez (2008), na fase de análise, inicialmente, a auditoria do conhecimento faz uma prospecção sobre o que a organização necessita neste sentido. É relevante indagar aos colaboradores quais são as necessidades de conhecimento para a realização de seu trabalho. Segundo o autor, a validação da necessidade real de saber é feita ao considerar as metas da organização e seus fatores críticos de sucesso. Estes fatores são as atividades a serem realizadas para o alcance dos objetivos. Nessa fase é necessária a elaboração do mapa do conhecimento. Esse mapa, conforme Gutierrez (2008), é uma representação do saber na organização, quem o detém e onde encontrá-lo. A produção desse mapa pode ser automatizada pelos chamados sistemas de rede de conhecimento. De acordo com Laudon e Laudon (2010), os sistemas mencionados mantém uma lista de especialistas na empresa, armazenando soluções criadas por eles, bem como respostas às perguntas mais frequentes sobre suas respectivas áreas. Concluída a fase de análise, pode-se prosseguir para o planejamento. O primeiro passo da fase de planejamento é a gestão de conteúdos cognitivos, no qual Gutierrez (2008) menciona, o conhecimento dos colaboradores é documentado e avaliado quanto à sua relevância. O autor aconselha que, periodicamente, este conhecimento seja atualizado ou então descartado. Tendo em vista que os documentos gerados devem ser disponibilizados em um sistema documental, é necessário ponderar sobre como armazenar os mesmos. Existem várias ferramentas gratuitas para uso na GC, as quais são tratadas na Seção 3.1.3. Nessa fase é preciso também definir que papel cada colaborador irá desempenhar na comunidade de GC. Essa comunidade compreende os colaboradores de diversas formações que se dedicarão total ou parcialmente à implantação do programa de GC, como explica Gutierrez (2008). Embora haja uma sugestão de papéis, o autor deixa claro que a empresa pode defini-los da maneira que for mais conveniente. Esta equipe é composta por um diretor de Gestão do Conhecimento, alguns gerentes do conhecimento, conselho editorial e suporte. Na definição do autor, cabe ao diretor planejar, implementar e supervisionar a execução do programa, provendo incentivo à sua equipe. Na fase de implantação, com a equipe definida, a Gestão do Conhecimento deve ser aplicada em pequena escala, por meio de um programa piloto. Por fim, se os resultados obtidos são avaliados como positivos, a GC poderá ser estabelecida em caráter definitivo, recomenda Gutierrez. 3. 1. 3 Ferramentas de apoio à Gestão do Conhecimento T.I.S. 2015; 4 (1): 59-67 Outro aspecto da fase de implantação é o desenvolvimento das ferramentas tecnológicas. Segundo Gutierrez (2008) as tecnologias de apoio à GC são classificadas como parciais e integradoras. Conforme o autor, tecnologias parciais são aquelas que auxiliam na gestão do saber, embora não tenham sido criadas para este fim. As integradoras são as que auxiliam a GC de modo global, sendo elas: a intranet, sistemas de gestão de conteúdo, internet, entre outras. Como afirmam Laudon e Laudon (2010), dentre um vasto número de ferramentas gratuitas para compartilhamento do saber, se destacam as wikis que são páginas na internet que permitem a elaboração de artigos podendo ser editados facilmente, possibilitando a participação conjunta de várias pessoas. “As wikis são as ferramentas ideais para armazenamento e compartilhamento do conhecimento e das reflexões da empresa” (LAUDON; LAUDON, 2010, p. 55). Um exemplo de sucesso no emprego das wikis, segundo os autores, é a Intel Corporation5 , onde suas páginas sobre Engenharia de Software são muito utilizadas pelos colaboradores. Laudon e Laudon (2010) observam a tendência de a wiki sobrepujar outros sitemas de GC em virtude de seu menor custo e dinamicidade de atualização de conteúdo. Em relação ao fator custo, existem várias opções gratuitas para a empresa. O Google Sites6, exemplificando, possibilita a criação de páginas web sem custos e oferece os recursos necessários à elaboração de uma wiki. Como medida de privacidade, podese determinar quem pode ter acesso ao conteúdo ou mesmo modificá-lo. IV. METODOLOGIA A presente pesquisa é definida como um estudo de caso com enfoque qualitativo. Este trabalho objetivou demonstrar práticas e ferramentas que possibilitam a inserção da GC no contexto da metodologia Scrum. Buscou-se ainda a minimização dos fatores de risco da GC, sendo eles o tempo e os custos. A minimização de custos foi garantida pelo fato de terem sido utilizadas apenas ferramentas gratuitas. A economia de tempo foi proporcionada pela captura de conhecimentos em formato de vídeo. Para concretizar os objetivos, na primeira etapa da fase inicial, utilizou-se um questionário, visando identificar as habilidades dos programadores que desenvolveram o projeto de software estudado. O questionário permitiu também a identificação das necessidades de conhecimento existentes. Na segunda fase, promoveu-se a captação dos conhecimentos através da elaboração de artigos e da análise de vídeos das atividades do projeto, utilizando a ferramenta ELAN7. O material obtido foi posteriormente disponibilizado em uma _______________________________________ 5 Disponível em: <http://www.intel.com/content/www/us/en/companyoverview/company overview.html>. Accesso em: 08. dez. 2014. 6 Disponível em: <Disponível em: https://sites.google.com/>. Acesso em: 01. jul. 2014. 7 Disponível em: <http://tla.mpi.nl/tools/tla-tools/elan/>. Acesso em: 01. jul. 2014. 62 Estudo da aplicação de Aspectos da Gestão do Conhecimento no Desenvolvimento Ágil de Software A ferramenta ELAN, desenvolvida para pesquisas na área de linguística, permite a inserção de anotações para análise de vídeo e áudio (MAX PLANCK INSTITUTE FOR PSYCHOLINGUISTICS, 2014). Justifica-se a escolha da ferramenta pela sua facilidade de uso, pela compatibilidade com vários sistemas operacionais e gratuidade. Conforme Max Planck Institute for Psycholinguistics (2014), as anotações na ferramenta ELAN são organizadas em tiers (trilhas) de assuntos, como pode ser visto na Figura 1. Na ferramenta, as tiers estão dispostas na timeline (linha de tempo). Escolhida uma trilha e selecionando um intervalo de tempo, pode-se escrever comentários sobre aquele trecho do arquivo. Terminadas as anotações, é possível exportá-las em vários formatos, incluindo HTML (Hipertext Markup Language – Linguagem de Marcação de Hipertexto). No momento da exportação, pode-se optar por exibir mais informações úteis como: o tempo na mídia onde cada anotação ocorre, nome dos participantes, dentre outras. A ferramenta possui ainda uma funcionalidade de sincronização, que permite a análise simultânea de arquivos relacionados. wiki8 criada com o Google Sites. A) Caracterização do Objeto de Pesquisa O estudo realizado tem como objeto um projeto de software de alocação de espaços desenvolvido para uma instituição pública de ensino superior. O sistema foi implementado em duas plataformas: web e móvel. O referido projeto foi desenvolvido com objetivos educacionais, por uma equipe de seis alunos da mesma instituição. O software objetiva auxiliar no gerenciamento das solicitações de alocação de espaços realizadas por professores, alunos, funcionários e pessoas não pertencentes à universidade. O motivo mais comum das solicitações de reserva de salas, laboratórios e afins, é ministrar aulas. No entanto, também são consideradas solicitações de alocações feitas por pessoas da comunidade em geral, visando a realização de eventos de cunho cultural e educacional. B) Ferramentas Utilizadas Figura 1. Ambiente do software ELAN. Fonte: (TACCHETTI, 2013, p. 9). V. IMPLANTAÇÃO DO PROGRAMA PILOTO DE GC Inicialmente, empregou-se um questionário com a finalidade de realizar a prospecção dos conhecimentos, identificando os especialistas em cada área do projeto. Essa prospecção resultou no mapa do conhecimento. O mesmo questionário também foi utilizado para identificação das necessidades de conhecimento, do nível de compartilhamento _________________________________ 8 Diponível em: <https://sites.google.com/site/wikialocacao/home/>. Acesso em: 14. set. 2014. existente, bem como para inferir a disposição para formalizar essa partilha. Em relação às especialidades dos membros, observou-se que a equipe é mais forte em banco de dados e Interação Humano Computador (IHC). Especialistas em web services, desenvolvimento mobile e gestão de equipes/liderança são mais raros. Apurou-se que houve uma divisão de tarefas com base nas habilidades identificadas. Quatro membros trabalharam na aplicação web e dois no aplicativo móvel. Tal divisão revelou que uma parte da equipe tinha pouca noção do trabalho da outra parte. A situação gerou impasses, que foram 63 T.I.S. 2015; 4 (1): 59-67 Leonardo Pereira Pinheiro de Souza, Fabiano Cutigi Ferrari atenuados pela GC, conforme mostra a Seção 5.2. As respostas ao questionário para prospecção de conhecimentos podem ser visualizadas na Tabela 1. Tabela 1. Prospecção de conhecimentos para implantação da GC As necessidades de aprofundamento de conhecimentos apontadas pelos membros da equipe mostraram-se coerentes com os objetivos do projeto. As necessidades estão concentradas nos aspectos Linguagem Java/Java EE, como apontado por três programadores, e programação mobile, opção escolhida por dois respondentes. Foi identificada ainda a necessidade de conhecimentos em padrões de projeto, embora essa opção tenha sido escolhida por apenas um respondente. Verificou-se que a disposição para a partilha de conhecimentos é positiva, sendo que quatro membros da equipe compartilham seu saber sempre que necessário, mesmo que informalmente. Os dois programadores restantes afirmaram que poderiam compartilhar mais. Nenhum dos respondentes demonstrou disposição contrária ao compartilhamento. O fato de a totalidade dos respondentes afirmar que a documentação dos conhecimentos adquiridos é relevante é um fator favorável para a implantação da CG. A) Captação e Armazenamento do Conhecimento A construção do repositório de conhecimentos foi efetuada com a ferramenta Google Sites. Com o assistente provido pela ferramenta foi possível: a criação da wiki; definição do estilo visual; configuração de aspectos de privacidade e compartilhamento. A estrutura das páginas da wiki foi concebida para facilitar a busca de assuntos. Na página inicial, uma sucinta explicação sobre os objetivos da GC e um índice das áreas de conhecimento do projeto, a saber: Engenharia de Software; programação; banco de dados; IHC; servidores; métodos ágeis; controle de versão; gestão de T.I.S. 2015; 4 (1): 59-67 equipes. Cada um dos assuntos principais corresponde a um link para uma página que contém o índice de subtemas, os quais levam aos artigos individuais. Buscou-se não impor restrições severas na seleção dos artigos para que todos os membros da equipe que desejassem pudessem contribuir. Assim, foram aceitos apenas os artigos que tratassem de tecnologias ou conceitos que tivessem utilidade para o desenvolvimento do projeto de software. A tarefa de criar diretrizes para aceitação dos conteúdos e avaliação dos mesmos, função do editor do conhecimento, coube ao membro que liderou o programa de GC. No que diz respeito aos papéis desempenhados na comunidade do conhecimento, uma única pessoa acumulou as funções de diretor, gestor e editor do conhecimento. Aos membros restantes foram atribuídas as funções de produtores e consumidores de conteúdo. Durante as reuniões de revisão da iteração, os participantes do projeto foram incentivados a compartilharem conteúdos no repositório. Gutierrez (2008) esclarece que uma das atribuições do diretor do conhecimento é prover a motivação aos trabalhadores para cooperarem com a GC. No presente estudo de caso, esta motivação foi trabalhada a partir dos laços de amizade existentes no grupo, bem como da expectativa de ajuda mútua nas tarefas do projeto. Como incentivo adicional, após a criação de novos artigos, eram enviadas mensagens de e-mail ressaltado os pontos principais da nova submissão e reiterando os benefícios da GC. É possível que, em um contexto empresarial, o tipo de incentivo mencionado anteriormente não seja tão efetiva, e que a motivação para cooperação seja de natureza diferente. Em relação à motivação, deve-se esclarecer que os incentivos não precisam ser necessariamente financeiros. Betz, Oberweis e Stephan (2014) citam o caso de uma companhia que oferecia atividades de lazer aos membros mais cooperadores. Gutierrez (2008) afirma que apenas o fato de uma pessoa ser reconhecida como alguém que tem conhecimento a oferecer, já eleva o conceito que a comunidade tem sobre ela. Por sua vez, o fato de ser bem quisto pelo seu saber alimenta o desejo de compartilhá-lo ainda mais, observa o autor. Facilitando a Formalização do Saber Tácito A captação dos conhecimentos se deu de dois modos: elaboração de artigos pelo especialista da área, bem como gravação em vídeo da execução das atividades e reuniões. O segundo modo de captação apresentou vantagens em relação ao primeiro pois, ao gravar a captura de tela enquanto o programador trabalha, economiza-se o tempo que seria despendido em elaborar um artigo. O método possibilita, inclusive, atenuar as perdas semânticas existentes na conversão do conhecimento tácito (pessoal) para o explícito (documentado). Por exemplo, supondo uma situação em que o programador não consiga explanar um conhecimento satisfatoriamente em palavras, a ação gravada em vídeo permite um entendimento mais claro. Após realizar a captura de tela da execução da atividade ou da reunião, os arquivos gerados foram tratados com a ferramenta ELAN, para a seleção das partes relevantes e produção de conteúdo textual. Tratando-se das fontes de dados, uma proporção expressiva 64 Estudo da aplicação de Aspectos da Gestão do Conhecimento no Desenvolvimento Ágil de Software seu objeto usuário aninhado. No objeto usuário aninhado, portanto, era representada sua coleção de alocações, recursivamente. Isto dificultou o desmembramento da estrutura no aplicativo móvel. O problema descrito causou tensão no grupo. Os especialistas em desenvolvimento móvel insistiam na remoção dos relacionamentos bidirecionais, e enfrentavam resistência dos programadores do sistema web. A resistência se deveu ao fato de a alteração prejudicar as pesquisas na base de dados. Por fim, um dos programadores do módulo web propôs uma solução. A questão foi resolvida com o uso da anotação @JsonIgnore9. Essa anotação oculta um atributo na geração do JSON, no caso, os atributos de relacionamento. O incidente descrito foi posteriormente registrado no repositório junto ao vídeo da reunião. É relevante salientar que o episódio relatado se mostrou útil para dar a uma parte da equipe uma visão mais próxima do trabalho desenvolvido pela outra parte. Portanto, observa-se o potencial da GC para proporcionar uma visão holística sobre um projeto ou mesmo sobre os processos de uma empresa. C) Mensurando o Nível de Successo do Programa Piloto Duas métricas foram utilizadas para mensurar o nível em que o programa de GC obteve sucesso: as submissões de conteúdos pelos usuários e a utilização dos mesmos. Verificou-se que a tática de captura do conhecimento através do registro das atividades em vídeo resultou em um bom nível de participação na GC. Dos seis membros do grupo, quatro ofereceram suas contribuições para o repositório de conhecimentos. Dos quatro membros referidos, três ofereceram contribuições em formato de vídeo. Sobre a utilização do repositório, quando inquiridos por meio de questionário, todos os membros da equipe afirmaram já o terem acessado pelo menos uma vez. Indagados se os conteúdos existentes se mostraram úteis para o projeto, a resposta positiva dos membros foi também unânime. Quatro dos seis pesquisados afirmaram ainda terem adquirido conhecimentos novos através da wiki. Pode-se observar, por conseguinte, uma atitude positiva para a implantação da GC. D) Limitações do Contexto da Pesquisa Apesar dos resultados positivos coletados é necessário discorrer sobre as limitações da pesquisa. A limitação mais evidente é o tamanho da amostra considerada, sendo o grupo pesquisado pequeno. É possível que os resultados não se reflitam fielmente em um grupo maior. Em relação ao contexto do estudo, este se deu em um âmbito educacional. Provavelmente, os desafios existentes em um ambiente empresarial podem ser maiores, considerando-se a pressão para manter os níveis de produtividade dos colaboradores. Outra questão relevante seria encontrar estratégias para motivar a colaboração com a GC, diminuindo qualquer possível resistência dos trabalhadores. Para amenizar o impacto que as pressões pela produtividade possam causar à GC, esta deve ser inserida no momento mais _________________________________ 9 Disponível em: <http://jackson.codehaus.org/1.0.1/javadoc/org/codehaus/jack son/annotate/JSONIgnore.html>. Acesso em: 28. Set. 2014. do conteúdo produzido é resultante da captura de tela. Dos sete artigos produzidos, três foram obtidos do modo mencionado. Tal fato ocorre, possivelmente, pela praticidade desta modalidade de captação de conhecimento e a economia de tempo que ela representa. Mostra-se necessário também tratar da quantidade de artigos elaborados de acordo com as categorias de conhecimentos preestabelecidas. Apurou-se que, em resposta à necessidade de conhecimentos em programação Java EE, este tema está presente em três dos sete artigos existentes no repositório. O assunto referido, portanto, contempla a maioria dos artigos. Verificou-se ainda que o tema programação mobile foi considerado em um único artigo. É relevante salientar que o mesmo artigo que tratou do tema programação mobile também versou sobre o tema web services. A necessidade de conhecimento sobre padrões de projetos não foi contemplada. Os demais temas: banco de dados, UML e controle de versão, foram considerados cada um em um artigo distinto. B) A GC Auxiliando no Processo de Aprendizagem Observou-se que algumas capturas de tela resultaram em vídeos longos. Haviam trechos sem programação efetiva, mas com tentativas e correções de erros. Inicialmente, esses períodos foram removidos na edição do vídeo. No entanto, apurou–se que a edição demandava tempo considerável, situação que conflita com a filosofia ágil. Posteriormente, compreendeu–se que os erros e tentativas são parte da aprendizagem, conforme Gutierrez (2008). Por conseguinte, os trechos referidos foram mantidos, explicitando as ações a serem evitadas e suas consequências. Ademais, as marcações temporais do ELAN guiam quem assiste ao vídeo a avançar para os pontos de seu interesse. Exemplo do aprendizado advindo dos erros foi verificado na solução encontrada pelo grupo pesquisado para um problema com web services. É necessário esclarecer que a aplicação web possui classes de web services, as quais transmitem informações da base de dados para a aplicação móvel como objetos JSON (JavaScript Object Notation). JSON é definido como um formato para intercâmbio de dados baseado em Java Script independente de linguagem de programação (JSON, 2014). Pela análise da gravação de uma reunião, verificou-se que o modo como foi executado o mapeamento objeto-relacional resultou em estruturas recursivas no JSON gerado. Mapeamento objeto-relacional, conforme Luckow e Melo (2010), é a conversão de tabelas de base de dados relacional em objetos, visando sua persistência. Na base de dados do projeto há uma entidade ou tabela denominada usuário que possui um relacionamento do tipo um para muitos com a entidade alocação. Essa última entidade representa os pedidos de alocação de espaços realizados por um usuário. Considereando o tipo de relacionamento existente entre as entidades, seu mapeamento implica que a classe usuário tem uma coleção de objetos de alocação. Sendo o relacionamento bidirecional, a classe alocação tem também uma instância de usuário. Anteriormente, quando gerado o objeto JSON, esse representava as instâncias de alocação com 65 T.I.S. 2015; 4 (1): 59-67 Leonardo Pereira Pinheiro de Souza, Fabiano Cutigi Ferrari propício. Aurum, Danshgar e Ward (2008) sugerem que momentos de fechamento de ciclos de projetos são adequados para discutir e expor ideias. A solução encontrada no presente estudo foi, além de registrar conteúdos das reuniões de fechamento das iterações, capturar a ação do programador no momento em que ocorre, através de vídeo. VI. CONCLUSÃO E TRABALHOS F UTUROS No decorrer do estudo demonstraram-se técnicas e ferramentas que possibilitam a implantação da GC no contexto da metodologia Scrum. Este conjunto de práticas permitiu implantar o programa piloto de GC a um baixo custo e com mínima interferência no rotina de trabalho. Verificouse que a captura em vídeo da atividade dos programadores possibilitou maior participação da equipe. Demonstrou-se ainda qual o momento mais propício, na reuião de revisão de iteração, para se identificar e capturar o conhecimento. Reiterando a experiência desenvolvida caracteriza-se como um programa piloto, fase que precede a implantação definitiva da GC, conforme explica Gutierrez (2008). Verificou-se que os programadores colaboraram de bom grado e que os conteúdos do repositório de conhecimentos foram úteis para eles. É relevante comentar que nem todas as lacunas de conhecimento identificadas foram supridas. Podese justificar este fato em razão do tempo relativamente curto em que deve vigorar um programa piloto. Gutierrez (2008) discute os benefícios da GC a médio e longo prazo. Uma implicação é a melhora na tomada de decisões, na cúpula organizacional e nos níveis mais baixos. Isto permite que os funcionários trabalhem com menos supervisão direta, encontrando por si as melhores soluções. Ainda na perspectiva do autor, a empresa passa a conhecer melhor as necessidades dos clientes, ganhando vantagem no mercado. Considerando as empresas que financiam a educação dos membros, Gutierrez assevera que o retorno desse investimento se torna mais efetivo. Esse saber acaba se difundindo e aumentando o nível de conhecimento de toda a organização. Em vista do relativo sucesso da experiência, propõe-se como trabalho futuro a implantação definitiva da GC. Sugerese que a implantação se dê em um contexto empresarial, visando a obtenção de resultados mais consistentes. Sugere-se estudar quais seriam as implicações a médio e longo prazo sobre os produtos de software desenvolvidos e sobre o aprendizado da equipe. No aspecto do aprendizado, cogita-se ainda que os conteúdos da GC poderiam ser um interessante complemento para o treinamento de recém-chegados à empresa. Tendo em vista os desafios impostos pelo ambiente empresarial à GC, o caminho para superá-los envolve trabalhar a cultura organizacional através de uma liderança efetiva, conforme Gutierrez (2008). Visto que cada oraganização tem suas peculiaridades, não há um método universal para o sucesso. Criar um ambiente aberto a novas ideias e que inspire confiança nos colaboradores é imprescindível. Este contexto positivo eliminará o medo dos colaboradores de serem prejudicados por compartilharem o T.I.S. 2015; 4 (1): 59-67 que sabem, segundo Aurum, Daneshgar e Ward (2008). A motivação é outro aspecto crucial para a GC. O líder, ou diretor do conhecimento, deve encontrar meios de valorizar os liderados pelo saber disponibilizam, afirma Gutierrez (2008). REFERÊNCIAS AURUM, Aybuke; DANESHGAR, Farhad; WARD, James. Investigating Knowledge Management practices in software development organisations: an Australian experience. Information and Software Technology, s.l., v. 50, n. 6, p. 511-533, maio. 2008. Disponível em: <http://www.sciencedirect.com/science/article/pii/S095058 4907000602>. Acesso em: 11. abr. 2014. BETZ, Stefanie; OBERWEIS, Andreas; STEPHAN, Rolf. Knowledge transfer in offshore outsourcing software development projects: an analysis of the challenges and solutions from German clients. Expert Systems, s.l., v. 31, n. 3, p. 282–297, jul. 2014. Disponível em: <http://onlinelibrary.wiley.com/doi/10.1111/exsy.12005/ful l>. Acesso em: 01. ago. 2014. COSTA FILHO, Edes Garcia da. Integração de padrões organizacionais e de processo ao método ágil Scrum. 2006. 119f. Dissertação (Mestrado) – Universidade Federal de São Carlos, São Carlos, 2006. GUTIERREZ, Mario Pérez-Montoro. Gestión del Conocimiento en las organizaciones: fundamentos, metodología y praxis. Gijón: Ediciones Trea, 2008. KAVITHA, R. K.; AHMED, Irfan M. S. A Knowledge Management framework for agile software development teams. In: Process Automation, Control and Computing (PACC) International Conference, 2011, Coimbatore. Proceedings... s.l.: IEEE, 2011. Disponível em: <http://ieeexplore.ieee.org/xpls/icp.jsp?arnumber=5978877> Acesso em: 11. abr. 2014. KNIBERG, Henrik; SKARIN, Mattias. Kanban e Scrum: obtendo o melhor de ambos. s.l.: C4Media, 2009. Disponível em: <http://www.portalgsti.com.br/2011/05/livro-gratuitoscrum-x-kanban.html>. Acesso em: 11 nov. 2013. JSON. Introducing JSON. Disponível em: <http://JSON.org/>. Acesso em: 15. set. 2014. LAUDON, Kenneth; LAUDON, Jane. Sistemas de informação gerenciais. 9.ed. São Paulo: Pearson Prentice Hall, 2010. LUCKOW, Décio Heinzelmann; MELO, Alexandre Altair de. Programação Java para a web. São Paulo: Novatec, 2010. MAX PLANCK INSTITUTE FOR PSYCHOLINGUISTICS. ELAN description. Disponível em: <http://tla.mpi.nl/tools/tla-tools/elan/elan-description/>. Acesso em: 01. jul. 2014. NONAKA, Ikujiro; TAKEUCHI, Hirotaka. Gestão do Conhecimento. Porto Alegre: Bookman, 2008. SOMMERVILLE, Ian. Engenharia de Software. 8. ed. São Paulo: Pearson Addison Wesley, 2007. STEVENS, David P.; HSU, Sonya H. Y.; ZHU, Zhiwei. Managing tacit knowledge for a software development process: a case study. Journal of Information & 66 Estudo da aplicação de Aspectos da Gestão do Conhecimento no Desenvolvimento Ágil de Software nonaka-roots-of-scrum.html>. Acesso em: 11. nov. 2013. TACCHETTI, Maddalena. User guide for ELAN linguistic annotator version 4.1.0. Nijmegen: The Language Archive, 2013. Disponível em: <http://www.mpi.nl/corpus/manuals/manualelan_ug.pdf>. Acesso em: 01. Jul. 2014. Knowledge Management, s.l., v. 11, n. 1, mar. 2012. Disponível em: <http://www.worldscientific.com/doi/pdf/10.1142/S02196 49212500013 >. Acecsso em: 12. maio. 2014. SUTHERLAND, Jeff. Takeuchi and Nonaka: the roots of Scrum. 22. out. 2011. Disponível em: <http://scrum.jeffsutherland.com/2011/10/takeuchi-and- 67 T.I.S. 2015; 4 (1): 59-67