Organização Fábrica de Experiência



Documentos relacionados
Modéstia à parte, sua melhor opção para se destacar no mercado!

Aula 0. Agenda 04/02/2009. Curso Superior de Tecnologia em Redes de Computares. Disciplina: Gestão de Projeto de TI. Prof.: Fernando Hadad Zaidan

VANTAGEM ESTRATÉGICA. Assunto: Administração do Conhecimento

Sistemas de Informação I

Gestão do Conhecimento A Chave para o Sucesso Empresarial. José Renato Sátiro Santiago Jr.

Gestão do Conhecimento e Dasenvolvimento de Software

O papel do bibliotecário na Gestão do Conhecimento. Profª Dr a Valéria Martin Valls Abril de 2008


Trilhas Técnicas SBSI

Pesquisa realizada com os participantes do 12º Seminário Nacional de Gestão de Projetos. Apresentação

Aspectos da engenharia de software que influenciam em uma estratégia de GC

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

Módulo 15 Resumo. Módulo I Cultura da Informação

Gerenciamento de projetos.

CONSULTORIA DE DESENVOLVIMENTO ORGANIZACIONAL

MASTER IN PROJECT MANAGEMENT

Programa do Curso de Pós-Graduação Lato Sensu MBA em Engenharia de Software Orientada a Serviços (SOA)

Processos de Desenvolvimento de Software

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

CICLO DE VIDA DE SISTEMAS DE GESTÃO DE CONHECIMENTO

17/02/2009. Curso Superior de Tecnologia: Redes de Computadores. Disciplina: Gestão de Projetos de TI Prof.: Fernando Hadad Zaidan. Unidade 2.

Pesquisa realizada com os participantes do 16º Seminário Nacional de Gestão de Projetos APRESENTAÇÃO

GESTÃO ESTRATÉGICA DO CONHECIMENTO NAS PEQUENAS ORGANIZAÇÕES: UM MODELO DE ABORDAGEM ABRAHAM B. SICSÚ

ENGENHARIA DE SOFTWARE I

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas

Por que estudar sistemas de informação?

COPPE/UFRJ. Ana Regina Rocha. Programa de Engenharia de Sistemas e Computação

Gestão Estratégica de Marketing

Introdução. AULA 2 A Organização empresarial e a gestão de projetos. Tema relevante em diversas áreas

ATIVIDADES DE LINHA E DE ASSESSORIA

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios

Pós-Graduação em Gerenciamento de Projetos práticas do PMI

Porque estudar Gestão de Projetos?


TRABALHOS TÉCNICOS Coordenação de Documentação e Informação INOVAÇÃO E GERENCIAMENTO DE PROCESSOS: UMA ANÁLISE BASEADA NA GESTÃO DO CONHECIMENTO

Administração de CPD Chief Information Office

Retenção do Conhecimento no Contexto do Desenvolvimento de Software: Estudo de Múltiplos Casos. Fernando Hadad Zaidan

Gerenciamento de Níveis de Serviço

ESTATUTO DAS COMUNIDADES DE PRÁTICA - COPs NO PODER EXECUTIVO ESTADUAL

No mundo atual, globalizado e competitivo, as organizações têm buscado cada vez mais, meios de se destacar no mercado. Uma estratégia para o

Universidade de Brasília Departamento de Ciência da Informação e Documentação Programa de Pós Graduação em Ciência da Informação Prof a.

Módulo 07 Gestão de Conhecimento


SISTEMAS DE INFORMAÇÃO, ORGANIZAÇÕES, ADMINISTRAÇÃO E ESTRATÉGIA

ü Curso - Bacharelado em Sistemas de Informação

SISTEMAS DE GESTÃO São Paulo, Janeiro de 2005

ISO/IEC 12207: Gerência de Configuração

Universidade Federal de Goiás UFG Campus Catalão CAC Departamento de Engenharia de Produção. Sistemas ERP. PCP 3 - Professor Muris Lage Junior

EXECUTIVE GESTÃO ESTRATÉGICA

3 Qualidade de Software

Gerenciamento de Projetos Modulo II Clico de Vida e Organização

Governança de TI. ITIL v.2&3. parte 1

Mapas de Rotas Tecnológicas Roadmaps Conceitos, Tipos e Etapas de Elaboração. LELIO FELLOWS FILHO 05 de julho de 2007

GTI Governança de TI. GTI como Ativo Estratégico. GTI - Um Ativo Estratégico 1

04/02/2009. Curso Superior de Tecnologia: Redes de Computadores. Disciplina: Gestão de Projetos de TI. Prof.: Fernando Hadad Zaidan. Unidade 1.

O Empreendedor e suas Interações; Definições do Empreendedor; Tipos de Empreendedor. Nesta aula veremos o resumo de: O Intra-Empreendedorismo.

GESTÃO DAS INFORMAÇÕES DAS ORGANIZAÇÕES MÓDULO 11

Faculdade de Ciência da Informação Profa. Lillian Alvares

F.1 Gerenciamento da integração do projeto

Portfolio de cursos TSP2

Organização dos Estados Ibero-americanos. Para a Educação, a Ciência e a Cultura

Katia Werneck

biblioteca Cultura de Inovação Dr. José Cláudio C. Terra & Caspar Bart Van Rijnbach, M Gestão da Inovação

PPS - Processo de Proposta de Solução Versão 1.3.1

PARTE III Introdução à Consultoria Empresarial

1. O QUE ANTECEDEU O LIVRO?

TI Aplicada. Aula 02 Áreas e Profissionais de TI. Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com

Faculdade de Ciência da Informação Prof a Lillian Alvares

Universidade de Brasília Faculdade de Ciência da Informação Curso de Arquivologia Profa. Lillian Alvares

Desenvolvimento de um software de gerenciamento de projetos para utilização na Web

IMPLANTAÇÃO DE UM SISTEMA DE AVALIAÇÃO DE DESEMPENHO NA UFG

Empreendedorismo de Negócios com Informática

Programa do Curso de Pós-Graduação Lato Sensu MBA em Gestão de Projetos

OFICINA DA PESQUISA DISCIPLINA: COMPORTAMENTO ORGANIZACIONAL

Gerenciamento de Serviços de TI ITIL v2 Módulo 1 Conceitos básicos

GESTÃO DO CONHECIMENTO NA INDÚSTRIA QUÍMICA

BPM Uma abordagem prática para o sucesso em Gestão de Processos

PMONow! Serviço de Implantação de um Escritório de Projetos

Algumas Instituições. World Bank. Gartner Group. Knowledge Transfer International APQC OCDE IPEA

ROTEIRO PARA ELABORAÇÃO DE PROJETOS

Oficina de Gestão de Portifólio

CAPÍTULO 1 - CONTABILIDADE E GESTÃO EMPRESARIAL A CONTROLADORIA

Gerenciamento de Projetos

Para a Educação, a Ciência e a Cultura TERMO DE REFERÊNCIA PARA CONTRATAÇÃO DE PESSOA FÍSICA CONSULTOR POR PRODUTO

Gerência de Projetos

Planejamento e Gestão Estratégica

Indicadores de Rendimento do Voluntariado Corporativo

CENTRO UNIVERSITÁRIO ESTÁCIO RADIAL DE SÃO PAULO SÍNTESE DO PROJETO PEDAGÓGICO DE CURSO 1

O Gerenciamento Organizacional de Projetos (GOP) pode ser descrito como uma estrutura de execução da estratégia coorporativa, com objetivo de

O uso do gestor de conteúdos plone no suporte a processos de software

PLANOS DE CONTINGÊNCIAS

Uma proposta de Processo de Aquisição de Software para uma Instituição Federal de Ensino

MBA EM GESTÃO DE PROJETOS PÓS-GRADUAÇÃO DESAFIO PROFISSIONAL Módulo C

A Disciplina Gerência de Projetos

Dicas para implantação do Autodesk Vault para pequenas e médias empresas

Introdução a Computação

Programa do Curso de Pós-Graduação Lato Sensu MBA em Gestão Estratégica de Marketing

Desenvolve Minas. Modelo de Excelência da Gestão

Transcrição:

(artigo aprovado para publicação na revista Engenharia de Software Março 2010 http://www.devmedia.com.br/assgold/listmag.asp?site=48) Desenvolvimento de Software Organização Fábrica de Experiência Obtendo vantagens competitivas nas empresas desenvolvedoras de software Fernando Hadad Zaidan fhzaidan@gmail.com Atua no ramo de TI há mais de 25 anos. Doutorando (disciplinas isoladas) na Ciência da Informação UFMG (linha de estudos web semântica, wikis e gestão de conteúdo). Mestre em Administração pela Universidade FUMEC (linha de estudos sistemas de informação, gestão do conhecimento e administração estratégica. Bacharel em Ciência da Computação pela Universidade FUMEC. Gestor e desenvolvedor de Sistemas Web pelo UNI-BH. Analista de Sistemas e Programador de Computadores pela UFMG. Inclui cargos de diretor de empresas de desenvolvimento de software, administrador de TI, analista/desenvolvedor de sistemas e arquiteto de dados. Consultor de TI e organizacional. Professor e Coordenador da Pós-graduação da Faculdade Pitágoras. Professor de graduação da Faculdade Ined. Palestrante. Autor de artigos e livro.

George Leal Jamil gljamil@gmail.com Possui graduação em Engenharia Elétrica pela Universidade Federal de Minas Gerais (UFMG) (1982), Mestrado em Ciência da Computação pela UFMG (1999) e doutorado em Ciência da Informação pela UFMG (2005). Atualmente é professor adjunto da Fundação Mineira de Educação e Cultura - FUMEC/BH, visitante de várias instituições, como professor de pós graduação lato sensu. Tem experiência na área de Ciência da Computação e Gestão Estratégica de Empresas, com ênfase em Engenharia de Software, atuando principalmente nos seguintes temas: ciência da computação, engenharia de software, sistemas de informação, informática, processo de software, gestão estratégica e de marketing. Autor de treze livros nas áreas de Desenvolvimento de software, Tecnologia da Informação, planejamento estratégico, gestão do conhecimento e Marketing. Consultor empresarial nas áreas de software, tecnologia da informação e planejamento estratégico. Leandro Libério da Silva leandroliberio@gmail.com É mestrando em Educação Tecnológica pelo Centro Federal de Educação Tecnológica - CEFET-MG. MBA em Gestão Comercial pela Fundação Getúlio Vargas - FGV. Especialista em Banco de Dados pelo Centro Universitário de Belo Horizonte - UNI-BH (2002). Possui graduação em Tecnologia em Informática pelo Centro Universitário Newton Paiva (2001). Atua também como professor e coordenador de cursos de especialização em Tecnologia da Informação do Núcleo de Pós-Graduação do Sistema Universitário Pitágoras. Também leciona no UNI-BH. Possui mais de 10 anos de experiência no mercado educacional (ensino superior e cursos livres). Investiga e presta consultoria em Tecnologias da Informação nas áreas de Educação, Marketing, Recursos Humanos, Processos de Negócio e Sistemas de Informação.

Compreendemos a gestão do conhecimento como um processo contínuo onde uma organização orienta suas várias ações com base no conhecimento empresarial. Como tarefas típicas temos a geração, valorização, registro, compartilhamento e aplicação do conhecimento para planos e processos variados dentro da empresa. Os resultados positivos da gestão do conhecimento são inegáveis, uma vez que torna este precioso acervo o conhecimento num elemento decisivo para a formulação de vantagem competitiva pela empresa em seu cenário competitivo. Considerar o processo de desenvolvimento de software com o apoio da gestão do conhecimento, ou sob sua ótica, é extremamente oportuno. O processo de desenvolvimento de software é, segundo estudado na engenharia de software, um conjunto coordenado de tarefas organizacionais destinado a disponibilizar software de todas as formas para que uma empresa o utilize segundo seus planos estratégicos. Atividade de intensiva comunicação e que estrutura idéias e procedimentos muitas vezes não formalmente documentados, o processo de desenvolvimento de software oferece uma perspectiva muito interessante se for analisado sob as lentes da gestão do conhecimento. Neste contexto, o trabalho das fábricas de experiência oferece possibilidades importantes para a associação que evidenciamos. A Organização Fábrica de Experiência (OFE) é um modelo desenvolvido pelo laboratório de Engenharia de Software da Universidade de Maryland. É composta de duas organizações que trabalham perfeitamente integradas. Neste modelo, existe uma equipe específica destinada à finalidade de externalizar (ou seja, difundir ou publicar) o conhecimento, gerados dos próprios desenvolvedores. O desenvolvimento de software pode obter melhores resultados como exemplo na estimativa de custos, qualidade e prazos por meio da contribuição de experiências de projetos anteriores. Com cronogramas pressionados, elevadas expectativas quanto à qualidade e produtividade e desafios técnicos constantes, muitos projetos de software não oferecem possibilidades de explicitar (ou seja, estruturar formalmente, a partir do informal) o conhecimento. Porém, neste modelo, esta importante atividade fica por conta da equipe chamada fábrica de experiência. Esta equipe será encarregada de analisar e sintetizar todos os tipos de experiência, incluindo as lições aprendidas, dados de projetos e relatórios que explicitam estas experiências mediante a criação de repositórios. Tal atividade, se considerada diante do processo de gestão do conhecimento, se constitui em potencial ganho para o produtor de software ao realizar as funções de geração, formalização, retenção, compartilhamento e valorização.

Contextualização As organizações de fábrica de software são empreendimentos que têm expressiva demanda por informações para a execução de seus processos. O uso adequado da gestão do conhecimento e da informação pode ser revertido em vantagens competitivas para este tipo de organização. Compreende-se a engenharia de software como uma disciplina que visa o desenvolvimento de software de computador, integrando processo, métodos e ferramentas. Existem modelos de processo para que cada produtor implemente a melhor solução em termos de um processo de produção real, eficaz e efetivo, porém todos definem um conjunto de atividades, uma coleção de tarefas que são conduzidas para realizar cada atividade, produtos de trabalho produzidos como conseqüência das tarefas a serem exigidos para o aceite ou complementação da tarefa, bem como um conjunto de atividades padrões que se espalham por todo o processo. Neste contexto, o trabalhador do conhecimento, notadamente presente nas empresas de desenvolvimento de software, valoriza o conhecimentos e sua aplicação pelas organizações como fator de uma nova realidade. As organizações devem almejar a aplicabilidade do conhecimento dos funcionários no intuito de gerar novos conhecimentos. Os trabalhadores do conhecimento podem descobrir, criar, compilar, distribuir ou aplicar o conhecimento. Os processos organizacionais, dentre eles o processo de desenvolvimento de sistemas de informação, estão em constante melhoria, tornando-se uma busca constante por parte das organizações. O processo de desenvolvimento de software pode ser compreendido como um método de trabalho estruturado, em etapas gerenciáveis individual e coletivamente, que tem como objetivo produzir, de forma coordenada, software para uma aplicação em geral. O modelo proposto por Victor Basili e seus colaboradores da Universidade de Maryland USA, denominado Organização Fábrica de Experiência, apresenta uma equipe destinada à finalidade de externalizar o conhecimento. Os principais ativos das empresas de desenvolvimento de software não são as construções, materiais ou equipamentos caros é o capital intelectual. O maior problema com o capital intelectual é que ele tem pernas e caminha para casa todos os dias, dificultando as organizações na permanência dos mesmos. A seguir, estudamos o processo de desenvolvimento de software, sua interação com a gestão do conhecimento e a oportunidade das Organizações de Fábricas de Software neste poderoso contexto. Processo de desenvolvimento de software Ao se abordarem o conceito de processo de software, verifica-se que este é configurado como um conjunto de atividades, tais como a análise de requisitos, planejamento de produção, projeto, desenvolvimento dos códigos, testes, manutenção, aquisições ou contratações e demais providências que levem à produção de um software. O processo é proposto como uma rotina que necessita

de documentação que detalhe aspectos e artefatos como: especificação formal e precisa do produto a ser desenvolvido; os passos ou fases que serão executados, incluindo sua ordem, gestão de risco e precedência; preparo e atribuições dos agentes que atuarão na produção; os insumos que serão utilizados e os resultados que se espera alcançar. Como casos típicos de especificações para processo de software, citamos os modelos Personal Software Process (PSP) e Team Software Process (TSP), ambos de autoria do Software Engineering Institute (www.sei.cmu.edu). Há uma imensa diversidade de modelos para processos de software, não se considerando a existência de um processo ideal para todos os produtores. Numa concepção atual da Engenharia de Software, disciplina que prioriza em seu estudo a criação, implantação e manutenção do processo de desenvolvimento de software, aplicam-se tais modelos para que o Engenheiro, conhecendo as demandas do produtor, adapte estas técnicas para criar o modelo ideal a ser ali utilizado, de acordo com as especificidades de cada produtor. Diante de tal fato, pode-se afirmar que as organizações desenvolveram abordagens diferentes para o processo de software. O desenvolvimento de software sofre mudanças rápidas. Este tipo de negócio se utiliza do conhecimento intensivo e envolve muitas pessoas trabalhando em diferentes fases ou atividades. São diversos os conhecimentos encontrados nas empresas desenvolvedoras, porém, existem problemas para identificar o conteúdo, localização e o uso deste conhecimento. O uso apurado deste conhecimento é uma motivação básica para conduzir a gestão do conhecimento nas empresas desenvolvedoras, merecendo uma análise profunda. No desenvolvimento de software, cada pessoa envolvida toma decisões técnicas ou administrativas, muitas delas pontuais ou eventuais, diante de situações inéditas. Membros do time de desenvolvimento tomam decisões baseadas no conhecimento pessoal, experiências ou conhecimento obtido usando contatos informais. Isso é possível em empresas menores, com um potencial caótico em empresas maiores, conduzindo a conflitos e imprecisões nos trabalhos de produção do software. Porém, em empresas que lidam com um grande número de informações, este processo torna-se ineficiente. Grandes organizações não podem confiar na participação informal do conhecimento pessoal dos funcionários, bem como em situações temporárias em que estes funcionários eventualmente atuem, refletindo-se tais situações em improvisos, informalidades que não podem ser adotadas como comportamentos organizacionais padronizados. Tal situação é frequentemente referenciada na literatura da Engenharia de Software ao afirmar que processos não estruturados dependem de atuações salvadoras de gerentes e especialistas (bons programadores, analistas que dominem o contexto da aplicação, gerentes que conseguem improvisar com sucesso), eventos que não trazem em si garantia nenhuma que poderão ser repetidos em novos projetos.

O conhecimento individual, sobre técnicas, processo, métodos, infraestrutura, bases e gerenciamento, principalmente, precisa ser compartilhado. Desta forma, os processos de compartilhamento do conhecimento precisam ser perfeitamente definidos. Vantagem Competitiva Entende-se a vantagem competitiva como uma diferença positiva que um determinado competidor apresenta, em um segmento, sobre seus concorrentes, percebido pelos clientes daquele segmento. O software oferece inúmeras situações de potencial construção da vantagem competitiva, indo desde a melhora ou customização do atendimento, passando pelo aprimoramento na oferta de produtos e serviços que sejam diferenciados aos olhos dos consumidores. Destaca-se aqui também a diferenciação, e consequente vantagem, nas formas de oferta, como bons serviços de comércio eletrônico. Analisando o contexto do processo de desenvolvimento de software, da gestão do conhecimento e a construção da vantagem competitiva, pode-se afirmar que, no desenvolvimento de software, inúmeros documentos são elaborados. Dessa forma, o conhecimento produzido deve ser retido e disponibilizado para o time de desenvolvimento, possibilitando o reuso em projetos futuros. Para tanto, o conhecimento individual necessita ser explicitamente capturado, oferecendo a oportunidade para o aprendizado de outros. A busca por posições estratégicas que combinem ou superem as existentes nas organizações é um grande desafio que as empresas enfrentam, e norteará a direção futura delas, tanto para o sucesso, quanto para o fracasso. A empresa é um conjunto de recursos cuja utilização é organizada por um quadro de referência administrativo, tornando os produtos finais da organização representantes das possibilidades pelas quais se pode utilizar seu conjunto de recursos para desenvolver suas potencialidades básicas. Definimos recursos como todos os ativos, processos organizacionais, atributos, informação, conhecimento, etc., controlados pelas organizações, que as tornam capazes de conceber e implementar estratégias que melhorem sua eficiência e eficácia. As organizações não podem ser consideradas idênticas, bem como os recursos reais são heterogêneos (originais) e imóveis (não são adquiríveis). É aqui que o software, como afirmamos antes, pode se constituir num diferenciador potencial, produzindo vantagem competitiva. Tipos de conhecimento e a aplicação para produção de software Dentre os conhecimentos típicos que são encontrados num ambiente de desenvolvimento de software, podemos exemplificar: Os métodos de cálculos de estimativas de prazos e custos financeiros;

Especificações técnicas de modelagem de programas, lógicas e relacionamentos entre módulos; Métodos de planejamento de atividades, de delegação de controle e tarefas durante a produção de software, como os de testes; Formulários e artefatos variados, como definições de layout para repositórios de requisitos; Melhores práticas de processos e projetos, a serem aplicadas sucessivamente na formulação de novos produtos. Algumas das áreas do conhecimento e das necessidades relativas às organizações são: Adquirir conhecimento sobre novas tecnologias: novas tecnologias são bastante eficientes para o desenvolvimento de software, mas tornam-se pesadelos para os gerentes de projeto. É difícil para os desenvolvedores ficarem aptos com as novas tecnologias e, para os gerentes, entenderem seus impactos e estimar os novos custos. Tecnologias não muito familiares fazem uso intensivo do aprender fazendo, que pode trazer retardo nos resultados; Conhecimento de acesso do domínio: o desenvolvimento de software necessita de acesso ao conhecimento não apenas do seu domínio e em novas tecnologias, mas também sobre o domínio para o qual o software está sendo desenvolvido; Compartilhamento do conhecimento das práticas e políticas locais: os conhecimentos são passados, entre desenvolvedores experientes e os com pouca experiência, em encontros informais; com isso, nem todos têm acesso. Esta prática deve ser estimulada, mas a captura e compartilhamento formal do conhecimento asseguram que todos os funcionários terão acesso a ele. As organizações devem analisar os projetos do passado para melhorar as habilidades no desenvolvimento. Isto requer conhecimentos extensivos baseados nas mais diferentes experiências no desenvolvimento, bem como insights. Padrões, melhores práticas, modelos e recomendações são exemplos de resultados destas atividades do conhecimento. A organização Fábrica de Experiência (OFE) O modelo desenvolvido denominado organização fábrica de experiência, conforme mostrado na (Figura 1), possui duas organizações perfeitamente integradas. Uma equipe específica é destinada à finalidade de externalizar o conhecimento dos próprios desenvolvedores. Este processo tem como objetivo obter melhores resultados no desenvolvimento de software custos, qualidade e prazos por meio da alavancagem de experiências de projetos anteriores. Com

cronogramas, expectativas quanto à qualidade e produtividade e desafios técnicos, muitos projetos não podem dedicar recursos suficientes para explicitar o conhecimento. Porém, isto fica por conta da equipe chamada fábrica de experiência. Esta equipe está encarregada de analisar e sintetizar todos os tipos de experiência, incluindo as lições aprendidas, dados de projetos e relatórios que explicitam estas experiências mediante a criação de repositórios. Figura 1. Arquitetura da solução Victor Basili adaptada pelos autores. A OFE agrega valor ao conhecimento, mediante a criação de modelos baseados em documentos ou em indivíduos. Externalização e internalização são integradas, de modo que a equipe do projeto trabalhe em harmonia com a OFE. Implantar o conceito de OFE requer mudanças culturais nas organizações, devido à criação de equipes e processos distintos de trabalho. O que é mais essencial na OFE não é a experiência, mas os novos conhecimentos gerados a partir da experiência. As OFE precisam empacotar a experiência, por meio da análise, síntese e avaliação da experiência bruta, e construir modelos que representam a abstração dessas experiências. A aprendizagem organizacional é o know-how incorporado, resultante da capacidade de absorção, bem como da receptividade da empresa a uma nova tecnologia. Cada organização tem sua capacidade e habilidade de aprender a

partir de outras organizações. A capacidade em absorver o conhecimento vem da habilidade em reconhecer os valores novos, externos, e assimilar e aplicar em fins comerciais. Quanto mais a organização conhece sua tecnologia, mais fácil tornase o aprendizado. A Gestão do Conhecimento na Engenharia de Software As organizações podem aplicar a gestão do conhecimento para fornecer soluções nos seus negócios. Para evitar erros e retrabalho, para diminuir tempo e custos de desenvolvimento e aumentar a qualidade, as empresas desenvolvedoras necessitam aplicar, nos futuros projetos, o conhecimento obtido em projetos anteriores. Infelizmente, a realidade é que o time de desenvolvimento não se beneficia das experiências anteriores e repete os mesmos erros cometidos, embora alguns desenvolvedores saibam como evitá-los. O ganho individual e da organização poderia ser maior se o conhecimento fosse compartilhado. As atividades da gestão do conhecimento que suportam o desenvolvimento de software são: Gestão de documentos: muitos documentos, processos e atividades são envolvidos na engenharia de software. Estes documentos são freqüentemente criados, revisados e utilizados. Existem diversas ferramentas para a gestão de documentos; Gestão de competência: ou gestão de habilidades; quem sabe o quê uso do conhecimento não documentado; Reuso de software: programadores não se cansam de implementar a mesma solução; o reuso é para evitar o retrabalho; incentivo ao repositório de reuso. Somente será desenvolvido algo novo caso não se encontre nada para reusar; Aprender com experiências necessita de um suporte à memória do produto e do projeto. As práticas da engenharia de software que ajudam a construir memórias são: controle de versão, gestão de modificações, documentação de padrões e rastreabilidade de requisitos. Em todas estas práticas, a retenção do conhecimento é altamente indicada. Implementando a gestão do conhecimento na Engenharia de Software Para implementar a gestão do conhecimento na engenharia de software, muitos desafios e obstáculos estão presentes. Três questões são particularmente importantes: Questão tecnológica: A tecnologia de software suporta a gestão do conhecimento? É possível integrar todas as ferramentas para alcançar o nível planejado de compartilhamento?

Questão organizacional: É um erro focar somente na tecnologia e esquecer a metodologia. É um risco cair na cilada tecnológica sem um planejamento adequado para a implementação da gestão do conhecimento; Assuntos individuais: Funcionários frequentemente não têm tempo de entrar ou procurar por conhecimento, ou não desejam disponibilizar seus conhecimentos. E não querem reusar conhecimentos dos outros. Uma análise das características da gestão do conhecimento revela que muitas organizações que falharam não determinaram seus objetivos e estratégias antes de implementar sistemas de gestão do conhecimento, não tendo uma boa preparação do método ou processo da gestão do conhecimento. É necessário despender um tempo antes de os benefícios da gestão do conhecimento aparecerem. Algumas culturas organizacionais incentivam o individualismo e limitam o trabalho cooperativo. A falta de uma cultura do conhecimento tem sido citada como um obstáculo para o sucesso da gestão do conhecimento. Se a organização não incentiva a cultura de compartilhamento, o funcionário se sente dono do seu conhecimento. Os funcionários não se sentem à vontade com as suas experiências negativas e lições aprendidas por falhas, temendo que as informações fornecidas possam ser usadas contra eles. Conclusão As organizações não devem apenas encorajar os funcionários, mas recompensá-los por compartilhar seus conhecimentos, procurar por conhecimentos e usá-los. A vantagem da experiência ou do conhecimento explícito é que pode ser armazenado, organizado e disseminado para terceiros, sem o envolvimento de quem o originou. Para alcançar vantagem máxima do compartilhamento, as empresas deveriam encorajar os funcionários a documentar e armazenar seus conhecimentos em um repositório. As comunidades são bons exemplos de compartilhamento de conhecimento. Elas se formam de modo relativamente fácil. As organizações se esforçam para aprender e aumentar suas expertises mediante as entradas vindas de fora da organização. Projetos em empresas de desenvolvimento de software cujo objetivo é construir uma base de conhecimento incluem um centro para estas bases, assim como o acúmulo de modelos empíricos para serem utilizados na validação de novos projetos. A maioria do conhecimento das empresas de software não é explícito. O tempo é curto para tornar o conhecimento explícito, e existem poucas ferramentas para transformar o conhecimento tácito em explícito. Porém, os artefatos do desenvolvimento de software se encontram em formato eletrônico, possibilitando o uso de ferramentas de TI para a retenção, e facilitando o compartilhamento e a disseminação.

De que se trata o artigo: Neste artigo compreenderemos o modelo de processo de desenvolvimento de software denominado organização fábrica de experiência. A criação deste modelo se deu no laboratório de Engenharia de Software da Universidade de Maryland, USA. A característica principal é a presença de uma equipe destinada à finalidade de externalizar o conhecimento dos desenvolvedores. Para que serve: Visa á obtenção de vantagens competitivas e melhores resultados no desenvolvimento de software como exemplo na estimativa de custos, qualidade e prazos por meio da contribuição de experiências de projetos de software anteriores e da gestão da informação e do conhecimento. Em que situação o tema útil: Este modelo permite que as organizações de desenvolvimento retenham conhecimento dos projetos do passado para melhorar as habilidades no desenvolvimento futuro, não permitindo que o conhecimento se perca ou se dissipe facilmente. Links Artigo A Reference Architecture for the Component Factory http://www.lib.umd.edu/drum/bitstream/1903/7521/1/a%20reference%20architecture.pdf Artigo Knowledge Management in Software Engineering http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=1003450