Fábrica de Software – Gestão do Conhecimento aplicada ao desenvolvimento de software

Este post faz parte da série “Como gerenciar a comunicação de um projeto

Dentre as várias técnicas e ferramentas para Gestão do Conhecimento (GC), gostaria de comentar sobre as técnicas que vi na prática e como identificamos a prioridade de aplicação no contexto de uma Fábrica de Software.

Antes de tudo é importante saber que o investimento em GC deve se justificar pelo calculo do valor do conhecimento (quanto pode gerar para empresa tê-lo bem difundido) e principalmente o custo de perdê-lo (ou de ter que transferi-lo a outra pessoa no caso de rotatividade). Este cálculo vai determinar se vale a pena ou não investir.

Para saber que perfil de trabalho é prioridade de investimento, embora para Fábricas de Software sejam sempre os programadores, deve-se perguntar: Quais perfis tem mais dinamismo de informações? Existe alto índice de rotatividade ou deseja-se difundir o conhecimento gerado? Quanto custa e quanto tempo leva para preparar um profissional? Qual a distribuição de senioridade do time?

Primeiro, junte dados de salários e rotatividade, estime custos homem/hora para o coach de cada perfil, monte sua tabelinha e faça a análise usando um método para tomada de decisão, neste caso selecionei o perfil que obteve “maior número de vitórias” nos critérios setados. Exemplo de tabela:

O segundo passo é identificar Que conhecimentos técnicos e institucionais este perfil precisa receber antes de se tornar produtivo? Conhecimentos técnicos são as ferramentas de trabalho que ele precisa dominar, que frequentemente variam entre empresas. Conhecimentos institucionais são aqueles que só existem dentro da sua empresa, ex: quais são os processos da empresa, como funcionam os testes, onde fica a biblioteca de componentes, etc. E por último, definir as técnicas que serão aplicadas, na medida certa, para reter os conhecimentos necessários.

Alguns exemplos práticos de conhecimentos relacionados ao perfil do programador:

  • Processo de desenvolvimento de software
  • Documentação da arquiteturas utilizada
  • Biblioteca de componentes documentada
  • Padrão de codificação e parsers
  • Principais erros encontrados na fase de testes

E por último, algumas ferramentas que utilizamos para facilitar a difusão deste conhecimento:

  • Mapeamento de competências – É  uma ferramenta insumo para a análise dos conhecimentos que cada perfil precisa ter.
  • Treinamento de integração na função – Monta-se um checklist com os treinamentos básicos que o perfil precisa receber antes de começar
  • Wikis para documentação de arquitetura e componentes – A wiki é uma plataforma colaborativa onde todos podem escrever.
  • Job rotation – Programadores assumindo rodando entre projetos diferentes para se familiarizar com diferentes códigos.
  • Shadowing – Acompanhamento de outra pessoa do mesmo perfil durante um período, enquanto ela executa suas atividades.
  • Workshops – A equipe de um projeto ou a equipe que gerou um novo componente apresenta detalhes técnicos em um workshop.

Embora a maioria das empresas que trabalhei não dê muita atenção à Gestão do Conhecimento, os próprios técnicos costumam criar modelos, guias, checklists e componentes por conta própria. E lhes garanto que um pouco de reconhecimento em cima dessas iniciativas costuma motivar a equipe.

Para mais detalhes ou discussões sobre aplicações práticas, entre em contato.

Eli Rodrigues

Publicado por: Eli Rodrigues

Há 1 comentário para este artigo
  1. gerenciamentoestrategico at 03:03

    Olá Eli,
    Este é realmente um problema nas organizações. Especialmente aquelas que ‘vendem’ exatamente isso, conhecimento. Recrutar, desenvolver, disceminar e manter todo o conhecimento gerado é uma ambição bastante complexa de ser atingida que requer bastante esforço e foco.
    Ótimo post. Parabéns.
    /Giovani