GCS - Gerência de Configuração de Software

A finalidade da Gerência de Configuração é estabelecer e manter a integridade dos produtos do projeto de software ao longo do ciclo de vida de software 

A GCS envolve:

Identificar a configuração de software (artefatos de software selecionados e sua descrição) em um dado momento

Controlar sistematicamente as mudanças na configuração

Manter, através da gerência, a integridade e rastreabilidade da configuração ao longo do ciclo de vida de software 

Controlar a integridade de artefatos compostos, levando em conta a versão de cada um dos componentes, ou seja, controlar a configuração do artefato composto

Registrar e relatar o estado do processo de alteração

À medida que se desenvolve o software, são identificados os itens de configuração (artefatos sob gerência de configuração que são tratados como um única unidade, ex.: documentos de requisitos do software, o código executável, manuais, etc) e são estabelecidas as baselines (conjunto de artefatos formalmente aceitos, que servem a base para desenvolvimento e que só podem ser alterados segundo um procedimento de controle de alterações formalmente estabelecido e documentados) para dar maior segurança ao desenvolvedor e permitir maior controle de desenvolvimento.

O processo de desenvolvimento de software segue em baseline, acumulando itens novos ou revistos. Inicialmente as baselines contêm documentos de especificação do software a ser construído, depois o código e assim sucessivamente, de acordo com o processo de desenvolvimento. 

Para apoiar este processo é estabelecida uma biblioteca de baselines. As alterações nas baselines e a liberação de produtos de software, construídos a partir da biblioteca de baselines, são sistematicamente controlados através de funções de auditoria de configuração e controle de alteração da GCS. Relatórios a respeito dos itens contidos nestas baselines devem ser divulgados aos envolvidos. Uma baseline de sistema é, então, uma versão estável de um sistema contendo todos os componentes que constituem este sistema em um determinado momento.

Surgindo a necessidade de alteração que envolva um ou mais itens de configuração, deve ser formalmente solicitada a alteração. Esta então deve ser analisada pela Comissão de Controle de Gerência de Configuração de Software (CCCS). Uma vez que a alteração é aprovada, o grupo de GCS libera o item (s) da biblioteca de baselines para que seja alterado. Para isso é realizada uma operação de check-out (retirada) do item(s) disponibilizando-o em um diretório, considerando a automatização do processo. A alteração é então implementada e o item(s) é disponibilizado para a realização de testes. É então realizada uma operação de check-in (incorporação) do item(s) da área do desenvolvedor para área de controle de GCS, para que este seja disponibilizado. Sendo o resultado dos testes favorável, o(s)  item(s) e a solicitação de alteração passam então pela aprovação da Comissão de CCS. Aprovados, a baseline é alterada.

 

Metas 

Planejar as atividades de gerência de configuração de software

Identificar, controlar e tornar disponível os artefatos de software selecionados

Informar pessoas e grupos envolvidos acerca do estado e do conteúdo das baselines de software 

 

Compromissos

1. Seguir uma política organizacional para GCS:

- Em cada projeto deve estar explicitamente designada a responsabilidade pelas atividades de GCS

- A GCS é realizada ao longo de todo o ciclo de vida do projeto de software 

- A GCS é implementada para os artefatos a serem entregues, os artefatos internos e as ferramentas de apoio usados pelo projeto, como por exemplo, especificações, projetos de arquitetura e compiladores

- Os projetos estabelecem ou têm acesso a um repositório que armazena itens de configuração e os registros de GCS associados. O conteúdo deste repositório é referido como "biblioteca de baselines de software"

- As baselines de software e as atividades de GCS são periodicamente auditadas

 

Habilitações

1. Ter uma Comissão de Controle de Configuração de Software que tenha autoridade para gerenciar as baselines de software do projeto. Esta comissão:

- Autoriza o estabelecimento de baselines de software identificando os artefatos e respectivas versões (itens de configuração) que as constituem

- Representa os interesses do gerente de projeto e todos os outros grupos que possam ser afetados por alterações nas baselines de software 

- Revisa e autoriza alterações em artefatos contidos nas baselines de software 

- Autoriza a criação ou evolução de artefatos compostos a partir da biblioteca de baselines de software 

2. Ter um grupo para coordenar e implementar GCS, que coordena ou implementa:

- A criação e gerência da biblioteca de baselines de software do projeto

- O desenvolvimento, manutenção e distribuição dos planos, padrões e procedimentos de GCS

- A identificação de um conjunto de artefatos a serem postos sob GCS

- A gerência do acesso à biblioteca de baselines de software 

- As atualizações nas baselines de software

- A criação de produtos a partir da biblioteca de baselines

- O registro das atividades de GCS

- A produção e distribuição de relatórios

3. Ter recursos e fundos para atividades de GCS

4. Ter membros do grupo de GCS treinados na execução de suas atividades

5. Ter membros do grupo de engenharia de software e grupos relacionados treinados em GCS

 

Padrões

Plano CGS

Conteúdo:

As atividades de GCS a serem executadas

O cronograma de atividades

As responsabilidades atribuídas

Os recursos requeridos (incluindo pessoal, ferramentas e facilidades de computação)

Os requisitos de GCD e as atividades a serem executadas pelo grupo de engenharia de software e outros grupos relacionados a software 

 

Atividades

1. Preparar plano de GCS de acordo com um procedimento documentado. Este procedimento especifica que o plano de GCS:

- É desenvolvido nas fases iniciais e em paralelo como o planejamento global do projeto 

- É revisado pelos grupos envolvidos

- É gerenciado e controlado

2. Executar atividades de GCD de acordo com o plano de GCS

3. Estabelecer um repositório para baselines

4. Identificar itens de configuração, ou seja, os artefatos de software que serão colocados sob gerência de configuração. Por exemplo:

- documentação relacionada ao processo (por exemplo, planos, padrões e procedimentos)

- requisitos de software 

- arquitetura de design de software 

- unidades de código de software 

- procedimentos de teste de software 

- sistema de software construído para apoiar as atividades de software 

- sistema de software construído para o cliente e usuário final

- ferramentas de suporte (por exemplo, compiladores, bibliotecas, editores)

5. Gerenciar requisições de mudanças e relatórios de problemas para todos os itens de configuração

6. Controlar alterações nas baselines

7. Controlar a liberação de produtos

8. Registrar o estado dos itens de configuração

9. Divulgar as atividades de GCS e o conteúdo das baselines

10. Conduzir auditorias nas baselines de software 

 

Medição e Análise

1. Determinar o estado das atividades de GCS, ou seja, realizar e utilizar medições para determinar o estado das atividades de gerência de configuração de software. Exemplo de relatórios de medição:

- números de solicitações de alteração por unidade de tempo

- marcos de acompanhamento de progresso de projeto (milestones) finalizados para atividades de GCS, comparados com o plano e GCS

- trabalho completado, esforço e fundos despendidos com as atividades de GCS

 

Verificação da Implementação

1. Revisar as atividades de GCS -gerência sênior

2. Revisar as atividades de GCS - gerente de projeto

3. Auditar as baselines x documentos - grupo de GCS

4. Revisar e/ou auditar as atividades e artefatos de GCS - grupo de GQS. Estas revisões e auditorias verificam no mínimo :

- a conformidade com padrões e procedimentos da GCS

- a ocorrência periódica de auditoras nas baselines de software 

 

Recomendações

Treinamento

Para os membros do grupo de GCS:

- Padrões, procedimentos e métodos de GCS

- Ferramentas de GCS

Para os membros do grupo de engenharia de software e outros grupos envolvidos:

- Procedimentos padrões e métodos a serem seguidos para atividades de GCS relacionados ao software 

- Papel, responsabilidades e autoridade do grupo de GCS

Ferramentas :

- Programas para gerenciamento de bases de dados

- Ferramentas para controle de versões

- Ferramentas de acompanhamento de produtos

- Ferramentas para gerência de configuração

 

Produtos Gerenciados e Controlados

Plano de GQS

 

Procedimentos documentados

Atividade 1 - Preparar o plano de GCS

Atividade 5 - Gerenciar requisições de mudanças e relatórios de problemas par todos o itens de configuração

Atividade 6 - Controlar alterações nas baselines

Atividade 7 - Controlar liberação e produtos

Atividade 10 - Conduzir auditorias nas baselines de software