Distribuição do Conhecimento em Times de Desenvolvimento – CONCERT
Distribuição do Conhecimento em Times de Desenvolvimento
02/05/2017 adminArtigos Internos
Palavras-chave: Software, documentação, gestão do conhecimento.
Devido ao crescimento tecnológico e ao aumento da demanda por sistemas automatizados, as fábricas de software estão cada vez mais presentes no mercado. Consequentemente, a busca pela carreira de analista de sistemas vem ganhando popularidade. Por exemplo, pode-se citar a plataforma GitHub, que permite hospedar e gerenciar código fonte. Estima-se que existem aproximadamente 57 milhões de repositórios open source e quase 21 milhões de desenvolvedores GitHub ao redor do mundo [1]. Já a Fumsoft, uma instituição com foco em empreendedorismo e inovação na área de tecnologia da informação em Minas Gerais possui mais de 200 empresas filiadas [2].
Sabe-se que o desenvolvimento em equipes é uma estratégia comum adotada pelas empresas. Consequentemente, a gestão do conhecimento entre os seus membros é um fator importante no decorrer do projeto, sendo objeto de estudo na literatura recente. Pode-se citar, por exemplo, uma pesquisa sobre o número mínimo de desenvolvedores que possuem um certo grau de conhecimento e cuja saída inviabiliza a continuidade no projeto [3]. Outro trabalho apresenta um estudo sobre conformidade arquitetural, sendo que, uma das questões de pesquisa relaciona-se a documentação da arquitetura dos sistemas na indústria [4].
Esses estudos mostram o quão é importante a gestão do conhecimento entre os membros da equipe, para evitar possíveis problemas com a saída de um colaborador e facilitar a manutenção do código-fonte.
Existem diversas ferramentas para gerir as informações dos projetos. Os documentos em arquivos de texto são comuns, mas inviabilizam a recuperação de informações em tempo hábil. Dessa forma, outras ferramentas para modelagem de processos e documentação em páginas Web são mais populares.
A ferramenta Enterprise Architect (EA), por exemplo, pode ser usada para acompanhar o ciclo de vida do projeto, com recursos para gerenciar requisitos e modelar a arquitetura [5]. A Figura 1 mostra um exemplo dos recursos disponibilizados.
Dentre as ferramentas Web, pode-se citar o Media Wiki. Esse sistema open source permite criar e editar documentos de forma simples e colaborativa. Dentre as principais características pode-se citar a facilidade de uso, estabilidade, segurança através do controle de acesso e uma sintaxe simples baseada em wikitext [6].
Figura 1 – Exemplo de Tela do EA
A ferramenta DokuWiki também permite a construção da base de dados da empresa de forma simples. A integração com banco de dados não é necessária, já que os registros são armazenados em arquivos texto [7].
É evidente que as ferramentas e estratégias para documentar as decisões tomadas, tecnologias e funcionalidades do
sistema devem adequar-se ao perfil do time. O importante é deixar o seu legado, contribuindo para a qualidade dos produtos desenvolvidos e facilitando a integração de novos membros na equipe.
[1] GitHub. Welcome home. Disponível em:
[2] Fumsoft. A Fumsoft. Disponível em:
http://www.fumsoft.org.br/institucional/afumsoft.
[3] Ferreira, Mívian; Ferreira, Kecia; Valente, Marco Tulio. Distribuição de Conhecimento de Código em Times de Desenvolvimento - uma Análise Arquitetural. 4th Brazilian Workshop on Software Visualization, Evolution and Maintenance (VEM), p. 1-8, 2016.
[4] Izabela Melo; Gustavo Santos; Dalton Serey; Marco Tulio Valente. Percepções de 395 Desenvolvedores sobre Documentação e Verificação de Arquiteturas de Software. X Simpósio Brasileiro de Componentes, Arquiteturas e Reutilização de Software (SBCARS), p. 1-10, 2016.
[5] Enterprise Architect. Disponível em:
http://www.sparxsystems.com/products/ea.
[6] Sousa, Nuno; Flores, Nuno Faculdade de Engenharia, Universidade do Porto. Documentação colaborativa de software através de anotações contextuais.