Gerência de Configuração – Parte 01

Veja neste artigo a introdução a gerência de configuração.

Gerência de Configuração – Parte 01


Alessandro Assis, Alexandre Brandão, Davi Frazão,
Diego Palhano, Fabrício Ayres, Gustavo Salles

1. Introdução

Ao longo do ciclo de vida de um projeto de software uma grande quantidade de itens de informação é produzida. Como exemplos desses itens é possível citar documentos, código fonte, dados, manuais, etc. Muitos desses itens provavelmente irão sofrer algumas modificações durante o projeto devido a diversas causas, como mudanças nos requisitos ou correção de defeitos. Para evitar a perda do controle do projeto em conseqüência das mudanças é preciso que estas mudanças sejam devidamente controladas e gerenciadas. Assim, Gerência de Configuração (GC) pode ser definida como o controle da evolução de sistemas complexos ou, de forma mais pragmática, como a disciplina que permite manter produtos de software em evolução sob controle, e, portanto, contribuindo para satisfazer restrições de qualidade e de cronograma. O processo de Gerência de Configuração de Software surgiu para evitar que se perca o controle do projeto em virtude dessa grande quantidade de itens de informação que são produzidos e podem ser alterados a qualquer instante. De um modo geral, este processo visa evitar a criação de inconsistências entre os itens. Tal processo também pode ser definido como sendo o aspecto do processo de gerência que foca exclusivamente em controlar as mudanças que ocorrem durante o projeto. Este processo pode estar sendo executado durante todo o projeto, pois mudanças podem ocorrer a qualquer momento.

 

2. Fundamentação teórica

A Gerência de Configuração pode ser tratada sob diferentes perspectivas, em função do papel exercido pelo participante do processo de desenvolvimento de software. Na perspectiva gerencial, a Gerência de Configuração é dividida em cinco funções, que são: identificação da configuração, controle da configuração, contabilização da situação da configuração, avaliação e revisão da configuração e gerenciamento de liberação e entrega.

 

A função de identificação da configuração tem por objetivo possibilitar: (1) a seleção dos itens de configuração, que são os elementos passíveis de Gerência de Configuração; (2) a definição do esquema de nomes e números, que possibilite a identificação inequívoca dos itens de configuração no grafo de versões e variantes; e (3) a descrição dos itens de configuração, tanto física quanto funcionalmente.

 

A função de controle da configuração é designada para o acompanhamento da evolução dos itens de configuração selecionados e descritos pela função de identificação. Para que os itens de configuração possam evoluir de forma controlada, esta função estabelece as seguintes atividades: (1) solicitação de modificação, iniciando um ciclo da função de controle para uma dada manutenção, que pode ser corretiva, evolutiva, adaptativa ou preventiva [PRESSMAN, 2005]; (2) classificação da modificação, que estabelece a prioridade da solicitação em relação às demais solicitações efetuadas anteriormente; (3) análise de impacto, que visa relatar os impactos em esforço, cronograma e custo, bem como definir uma proposta de implementação da manutenção; (4) avaliação da modificação pelo Comitê de Controle da Configuração (CCC), que estabelece se a modificação será implementada, rejeitada ou postergada, em função do laudo fornecido pela análise de impacto da modificação; (5) implementação da modificação, caso a solicitação tenha sido aprovada pela avaliação da modificação; (6) verificação da modificação com relação à proposta de implementação levantada na análise de impacto; e (7) atualização da baseline, que pode ou não ser liberada para o cliente em função da sua importância e questões de marketing associadas.

 

A função de contabilização da situação da configuração visa: (1) armazenar as informações geradas pelas demais funções; e (2) permitir que essas informações possam ser acessadas em função de necessidades específicas. Essas necessidades específicas abrangem o uso de medições para a melhoria do processo, a estimativa de custos futuros e a geração de relatórios gerenciais.

 

A função de avaliação e revisão da configuração ocorre quando a baseline, gerada na função de controle da configuração, é selecionada para ser liberada para o  cliente. Suas atividades compreendem: (1) auditoria funcional da baseline, via revisão dos planos, dados, metodologia e resultados dos testes, assegurando que ela cumpra corretamente o que foi especificado; e (2) auditoria física da baseline, com o objetivo de certificar que ela é completa em relação ao que foi acertado em cláusulas contratuais.

A função de gerenciamento de liberação e entrega descreve o processo formal de: (1) construção, produzindo itens de configuração derivados a partir de itens de configuração fonte, (2) liberação, identificando as versões particulares de cada item de configuração que serão disponibilizadas, e (3) entrega, implantando o produto no ambiente final de produção. Vale ressaltar que essas auditorias atuam de forma complementar às verificações executadas na função de controle da configuração, discutidas anteriormente. As verificações apresentadas na função de controle da configuração (também conhecidas como revisões técnicas formais) ocorrem ao término da implementação de cada modificação individual, com o intuito de assegurar que a modificação cumpre o que foi solicitado e aprovado. Por outro lado, as auditorias da configuração, apresentadas nesta função, visam verificar se a baseline como um todo, possivelmente englobando diversas modificações, está correta e completa para ser liberada. Uma auditoria de Gerência de Configuração deve ser realizada por um profissional com bom conhecimento técnico em Gerência de Configuração e que não esteja diretamente envolvido no projeto. É importante ainda salientar que a auditoria de Gerência de Configuração não deve ser confundida nem possuir sobreposição com a auditoria de Garantia da Qualidade, uma das atividades do processo Garantia da Qualidade (GQA).

 

 Por outro lado, sob a perspectiva de desenvolvimento, a Gerência de Configuração é dividida em três sistemas principais, que são: controle de modificações, controle de versões e gerenciamento de construção.

 

O sistema de controle de modificações é encarregado de executar a função de controle da configuração de forma sistemática, armazenando todas as informações geradas durante o andamento das solicitações de modificação e relatando essas informações aos participantes interessados e autorizados, assim como estabelecido pela função de contabilização da situação da configuração.

 

O sistema de controle de versões permite que os itens de configuração sejam identificados, segundo estabelecido pela função de identificação da configuração, e que eles evoluam de forma distribuída e concorrente, porém disciplinada. Essa característica é necessária para que diversas solicitações de modificação efetuadas na função de controle da configuração possam ser tratadas em paralelo, sem corromper o sistema de Gerência de Configuração como um todo.

 

O sistema de gerenciamento de construção automatiza o complexo processo de transformação dos diversos produtos de trabalho que compõem um projeto no sistema executável propriamente dito, de forma aderente à função de gerenciamento de liberação e entrega. Além disso, esse sistema estrutura as baselines selecionadas para liberação, conforme necessário, para a execução da função de avaliação e revisão da configuração.

 

Apesar de existirem essas diferentes perspectivas para abordar a Gerência de Configuração, elas não se relacionam de forma complementar, mas sim, de forma sobreposta. As cinco funções descritas na perspectiva gerencial podem ser implementadas pelos três sistemas descritos na perspectiva de desenvolvimento, acrescidos de procedimentos manuais, quando necessário.

Artigos relacionados