MBA Gestão da Qualidade em Software com ênfase em CMMI e MPS.BR CMMI – Gestão de Configuração 05/2010 PÓS-GRADUAÇÃO
1. Introdução 2. Mapeamento de Objetivos Específicos e Práticas Específicas 3. Práticas específicas e sua aplicação nas empresas 3.1 - SG1 – Estabelecer Baselines 3.2 - SG2 – Rastrear e Controlar Alterações 3.3 - SG3 – Estabelecer Integridade 4. Template de Requisição de Serviço de Configuração 5. Considerações 6. Referências Sumário
Gestão de Configuração é uma disciplina que aplica supervisão, direção técnica e administrativa ao identificar e documentar as características funcionais e físicas de um item de configuração, controlar as mudanças dessas características, registrar e reportar a situação do processamento e implementação das mudanças, verificar a conformidade com os requisitos especificados. Estabelecendo e mantendo a integridade dos produtos de trabalho.  As principais atribuições da área de  GC  são:  identificação de configuração ,  controle de configuração, contabilização de status de configuração  e a  auditoria das configurações .  1. Introdução
A gestão da configuração t em como objetivo responder as seguintes perguntas: Quais são os produtos de trabalhos que podem ser colocados sob gestão de configuração? Quando os itens de configuração sofreram alterações? Quem foi o responsável pela alteração? Qual o impacto que a alteração irá gerar? A Baseline criada pode ser liberada? Quem faz parte da área de GC? Todos os envolvidos no processo de desenvolvimento Por que é importante? Pois uma gestão de configuração não efetiva pode implicar em baselines que não podem ser reconstruídas ou construídas quando necessário, tendo maior gasto e necessidade de mais recursos na manutenção, além de re-trabalho durante os testes, pois os componentes não estão como esperados. Quando está bem feito? Quando qualquer alteração puder ser monitorada e analisada. 1. Introdução
2. Mapeamento de Objetivos Específicos e Práticas Específicas
3. Práticas específicas e sua aplicação nas empresas 3.1 – SG1 Estabelecer Baselines SP 1.1 – Identificar Itens de Configuração:  Numa empresa a seleção de produtos de trabalho para o gerenciamento de configuração pode ser baseada em critérios estabelecidos durante a elaboração do plano do projeto. Exemplos de critérios para selecionar os itens de configuração: Produtos de trabalho que são dependentes de outros, nos quais uma alteração em um obrigará uma alteração nos outros; Produtos de trabalho que servem para controle do projeto; Produtos de trabalho que podem ser utilizados por mais de um grupo/pessoa; Produtos de trabalho que são insumos para fases seguintes do processo de execução do projeto; Produtos de trabalho que serão entregues ao cliente; Exemplos de produtos de trabalho que podem fazer parte de um item de configuração: Lista de Requisitos / Planos do Projeto / Cronograma / Plano de teste /  Resultados de testes / Especificações de componente / Códigos fonte.
3. Práticas específicas e sua aplicação nas empresas SP 1.2 – Estabelecer um sistema de Gestão de Configurações:  Em uma empresa o Sistema de Gestão de Configuração define as ferramentas para seu acesso, o ambiente de armazenamento e as diretrizes para criação e alteração de itens de configuração em baselines.  Exemplos de ferramentas open source: Para controle de versão – Subversion, CVS, Aegis e Arch Para controle de alteração – Trac, Mantis, Bugzilla e Scarab  Para integração contínua – Scon, Bitten, Ant, Maven, CruiseControl, Gump e TinderBox. Exemplos de ambiente de armazenamento: Dinâmico: Os itens de configuração são armazenados na pasta do projeto e são de responsabilidade dos autores.  A organização de diretórios e subdiretórios neste ambiente segue a estrutura padrão definida na política da empresa. Estático: Os itens de configuração são versionados e armazenados na ferramenta de controle e compõem as baselines.  Este ambiente e os itens armazenados estão sob Gestão de Configuração e só poderão ser alterados após análise de impacto e aprovação via solicitação de mudança.  3.1 – SG1 Estabelecer Baselines
3. Práticas específicas e sua aplicação nas empresas 3.1 – SG1 Estabelecer Baselines SP 1.3 – Criar ou Liberar Baselines Ao iniciar o projeto, uma baseline inicial deve ser criada com todos os itens de configuração existentes até o momento a partir de uma Requisição de Serviço de Configuração. É necessário criar baselines para registro dos itens de configuração nas datas planejadas ou quando houver alteração de itens de configuração.  Liberar para o Cliente as baselines externas criadas. Exemplos de baselines a serem criadas em uma empresa: Baseline Interna,  formada por itens de configuração técnicos e gerenciais finalizados, não destinados a entidades externas à Organização. São produtos de trabalho das fases de estudo de viabilidade, aprovação, planejamento, encerramento, monitoramento e controle, gestão de qualidade, medição e análise e gestão de configuração.  Baseline Externa, formada por itens de configuração finalizados, somente destinados a entidades externas à Organização (Cliente e/ou parceiros) e constantes da fase de Execução.  Nenhum item da baseline interna poderá fazer parte da externa e vice-versa.
SP 2.1 – Rastrear Solicitações de Alteração Nessa prática, é realizado o recebimento das solicitações de alteração de itens de configuração que se encontram em baseline. Sendo feita a análise do impacto das alterações e correções propostas nas solicitações de mudança.  E por fim, executam-se as solicitações de alteração dos itens de configuração em baseline. Em uma empresa é possível rastrear  as ocorrências de alterações nas seguintes situações: No monitoramento e controle do projeto; Na análise do documento de Requisição de Serviço de Configuração, gerada no processo Criar Baseline; Na solicitação do Cliente ou da equipe do projeto. 3. Práticas específicas e sua aplicação nas empresas 3.2 – SG2 Rastrear e Controlar alterações
3. Práticas específicas e sua aplicação nas empresas SP 2.2 – Controlar Itens de Configuração O Comitê de Controle de Configurações é um grupo formado pelo Gerente de Requisitos, pelo Gerente de Configuração e pelo Analista de Qualidade, com a responsabilidade de avaliar as solicitações de mudança e seus impactos, além de aprovar as Requisições de Serviço de Configuração. A partir do momento que um item de configuração fizer parte de uma baseline, toda e qualquer alteração deste item deve passar pelo processo de Controle de Mudanças, envolvendo o Comitê de Controle de Configuração. Exemplo de como proceder em uma empresa para controlar as alterações: Para alterações dos itens de configuração que já estão em baseline no ambiente estático devem ser realizadas as atividades de check-out e check-in dos itens na ferramenta, pelo Gerente de Configuração; Check-out:  baixar cópia para atualização do item do ambiente estático para o ambiente dinâmico. Check-in : subir o item atualizado, do ambiente dinâmico para o ambiente estático, sendo incorporado onde foi realizado o check-out e mantendo o histórico de versões do item. 3.2 – SG2 Rastrear e Controlar alterações
3. Práticas específicas e sua aplicação nas empresas 3.3 – SG3 Estabelecer Integridade SP 3.1 – Estabelecer Registros de Gestão de Configuração É importante manter o histórico das revisões dos itens de configuração, das alterações solicitadas, das alterações realizadas, dos status dos itens de configuração, sendo possível identificar a diferença entre uma baseline e outra. Realizando essa prática, todos os stakeholders tem acesso e conhecimento do estado de cada item de configuração. Em uma empresa os registros de gestão de configuração é feito através de: Criar versionamentos de toda e qualquer alteração solicitada e realizada; Criar um documento que contenha todas as diferenças entre as baselines; Revisar esse histórico de acordo com a periodicidade estabelecida no Cronograma Técnico do Projeto.
3. Práticas específicas e sua aplicação nas empresas SP 3.2 – Executar Auditorias de Configuração A Auditoria de Configuração confirma se os registros da Gestão de Configuração e se os itens de configuração estão completos, consistentes e precisos.  Audita também as baselines onde foram geradas manutenções a partir das Requisições de Serviço de Configuração. É realizada pela Área de Qualidade e a periodicidade é estabelecida no Cronograma Técnico do Projeto, quando do planejamento da Gestão de Configuração e da Gestão de Qualidade. Em uma empresa a auditoria de baseline pode ser realizada através de: Verificações amostrais ou não de baselines do produto ou do componente do produto Verificações de registros Verificações de distribuição (releases) 3.3 – SG3 Estabelecer Integridade
4. Template de Requisição de Serviço de Configuração
4. Template de Requisição de Serviço de Configuração
5. Considerações A Gerência de Configuração é um processo de extrema importância para que as empresas possam manter o seu desenvolvimento de software controlado. Este controle é mais facilmente realizado com a adoção de ferramentas para o controle de versão, controle de mudanças e integração contínua. A utilização destas ferramentas contribuem para a qualidade do Projeto e isto torna a Gerência de Configuração como uma das atividades mais importantes para a Garantia de Qualidade do Software. Com a utilização de ferramentas open-source, a organização poderá chegar a esta qualidade com um custo zero, já que as ferramentas são de fácil instalação e utilização.
6. Referências CMMI Product Development Team.CMMI for Systems Engineering/Software Engineering/Integrated Product and Process Development/Supplier Sourcing, Version 1.2. Software Engineering Institute, Carnegie Mellon University, 2006 KOHAN, Sarah. Apostila FIAP CMMI – Nível 2 Processos de Apoio. São Paulo, 2010. MINI-CURSO Gerência da Configuração Visão Prática. ASR, São Paulo, set. 2006. Disponível em:  <http://www.spinsp.org.br/apresentacao/CM_ASR.pdf>. Acesso em: 18 mai. 2010.
OBRIGADO

Gestão de Configuração (CM)

  • 1.
    MBA Gestão daQualidade em Software com ênfase em CMMI e MPS.BR CMMI – Gestão de Configuração 05/2010 PÓS-GRADUAÇÃO
  • 2.
    1. Introdução 2.Mapeamento de Objetivos Específicos e Práticas Específicas 3. Práticas específicas e sua aplicação nas empresas 3.1 - SG1 – Estabelecer Baselines 3.2 - SG2 – Rastrear e Controlar Alterações 3.3 - SG3 – Estabelecer Integridade 4. Template de Requisição de Serviço de Configuração 5. Considerações 6. Referências Sumário
  • 3.
    Gestão de Configuraçãoé uma disciplina que aplica supervisão, direção técnica e administrativa ao identificar e documentar as características funcionais e físicas de um item de configuração, controlar as mudanças dessas características, registrar e reportar a situação do processamento e implementação das mudanças, verificar a conformidade com os requisitos especificados. Estabelecendo e mantendo a integridade dos produtos de trabalho. As principais atribuições da área de GC são: identificação de configuração , controle de configuração, contabilização de status de configuração e a auditoria das configurações . 1. Introdução
  • 4.
    A gestão daconfiguração t em como objetivo responder as seguintes perguntas: Quais são os produtos de trabalhos que podem ser colocados sob gestão de configuração? Quando os itens de configuração sofreram alterações? Quem foi o responsável pela alteração? Qual o impacto que a alteração irá gerar? A Baseline criada pode ser liberada? Quem faz parte da área de GC? Todos os envolvidos no processo de desenvolvimento Por que é importante? Pois uma gestão de configuração não efetiva pode implicar em baselines que não podem ser reconstruídas ou construídas quando necessário, tendo maior gasto e necessidade de mais recursos na manutenção, além de re-trabalho durante os testes, pois os componentes não estão como esperados. Quando está bem feito? Quando qualquer alteração puder ser monitorada e analisada. 1. Introdução
  • 5.
    2. Mapeamento deObjetivos Específicos e Práticas Específicas
  • 6.
    3. Práticas específicase sua aplicação nas empresas 3.1 – SG1 Estabelecer Baselines SP 1.1 – Identificar Itens de Configuração: Numa empresa a seleção de produtos de trabalho para o gerenciamento de configuração pode ser baseada em critérios estabelecidos durante a elaboração do plano do projeto. Exemplos de critérios para selecionar os itens de configuração: Produtos de trabalho que são dependentes de outros, nos quais uma alteração em um obrigará uma alteração nos outros; Produtos de trabalho que servem para controle do projeto; Produtos de trabalho que podem ser utilizados por mais de um grupo/pessoa; Produtos de trabalho que são insumos para fases seguintes do processo de execução do projeto; Produtos de trabalho que serão entregues ao cliente; Exemplos de produtos de trabalho que podem fazer parte de um item de configuração: Lista de Requisitos / Planos do Projeto / Cronograma / Plano de teste / Resultados de testes / Especificações de componente / Códigos fonte.
  • 7.
    3. Práticas específicase sua aplicação nas empresas SP 1.2 – Estabelecer um sistema de Gestão de Configurações: Em uma empresa o Sistema de Gestão de Configuração define as ferramentas para seu acesso, o ambiente de armazenamento e as diretrizes para criação e alteração de itens de configuração em baselines. Exemplos de ferramentas open source: Para controle de versão – Subversion, CVS, Aegis e Arch Para controle de alteração – Trac, Mantis, Bugzilla e Scarab Para integração contínua – Scon, Bitten, Ant, Maven, CruiseControl, Gump e TinderBox. Exemplos de ambiente de armazenamento: Dinâmico: Os itens de configuração são armazenados na pasta do projeto e são de responsabilidade dos autores. A organização de diretórios e subdiretórios neste ambiente segue a estrutura padrão definida na política da empresa. Estático: Os itens de configuração são versionados e armazenados na ferramenta de controle e compõem as baselines. Este ambiente e os itens armazenados estão sob Gestão de Configuração e só poderão ser alterados após análise de impacto e aprovação via solicitação de mudança. 3.1 – SG1 Estabelecer Baselines
  • 8.
    3. Práticas específicase sua aplicação nas empresas 3.1 – SG1 Estabelecer Baselines SP 1.3 – Criar ou Liberar Baselines Ao iniciar o projeto, uma baseline inicial deve ser criada com todos os itens de configuração existentes até o momento a partir de uma Requisição de Serviço de Configuração. É necessário criar baselines para registro dos itens de configuração nas datas planejadas ou quando houver alteração de itens de configuração. Liberar para o Cliente as baselines externas criadas. Exemplos de baselines a serem criadas em uma empresa: Baseline Interna, formada por itens de configuração técnicos e gerenciais finalizados, não destinados a entidades externas à Organização. São produtos de trabalho das fases de estudo de viabilidade, aprovação, planejamento, encerramento, monitoramento e controle, gestão de qualidade, medição e análise e gestão de configuração. Baseline Externa, formada por itens de configuração finalizados, somente destinados a entidades externas à Organização (Cliente e/ou parceiros) e constantes da fase de Execução. Nenhum item da baseline interna poderá fazer parte da externa e vice-versa.
  • 9.
    SP 2.1 –Rastrear Solicitações de Alteração Nessa prática, é realizado o recebimento das solicitações de alteração de itens de configuração que se encontram em baseline. Sendo feita a análise do impacto das alterações e correções propostas nas solicitações de mudança. E por fim, executam-se as solicitações de alteração dos itens de configuração em baseline. Em uma empresa é possível rastrear as ocorrências de alterações nas seguintes situações: No monitoramento e controle do projeto; Na análise do documento de Requisição de Serviço de Configuração, gerada no processo Criar Baseline; Na solicitação do Cliente ou da equipe do projeto. 3. Práticas específicas e sua aplicação nas empresas 3.2 – SG2 Rastrear e Controlar alterações
  • 10.
    3. Práticas específicase sua aplicação nas empresas SP 2.2 – Controlar Itens de Configuração O Comitê de Controle de Configurações é um grupo formado pelo Gerente de Requisitos, pelo Gerente de Configuração e pelo Analista de Qualidade, com a responsabilidade de avaliar as solicitações de mudança e seus impactos, além de aprovar as Requisições de Serviço de Configuração. A partir do momento que um item de configuração fizer parte de uma baseline, toda e qualquer alteração deste item deve passar pelo processo de Controle de Mudanças, envolvendo o Comitê de Controle de Configuração. Exemplo de como proceder em uma empresa para controlar as alterações: Para alterações dos itens de configuração que já estão em baseline no ambiente estático devem ser realizadas as atividades de check-out e check-in dos itens na ferramenta, pelo Gerente de Configuração; Check-out: baixar cópia para atualização do item do ambiente estático para o ambiente dinâmico. Check-in : subir o item atualizado, do ambiente dinâmico para o ambiente estático, sendo incorporado onde foi realizado o check-out e mantendo o histórico de versões do item. 3.2 – SG2 Rastrear e Controlar alterações
  • 11.
    3. Práticas específicase sua aplicação nas empresas 3.3 – SG3 Estabelecer Integridade SP 3.1 – Estabelecer Registros de Gestão de Configuração É importante manter o histórico das revisões dos itens de configuração, das alterações solicitadas, das alterações realizadas, dos status dos itens de configuração, sendo possível identificar a diferença entre uma baseline e outra. Realizando essa prática, todos os stakeholders tem acesso e conhecimento do estado de cada item de configuração. Em uma empresa os registros de gestão de configuração é feito através de: Criar versionamentos de toda e qualquer alteração solicitada e realizada; Criar um documento que contenha todas as diferenças entre as baselines; Revisar esse histórico de acordo com a periodicidade estabelecida no Cronograma Técnico do Projeto.
  • 12.
    3. Práticas específicase sua aplicação nas empresas SP 3.2 – Executar Auditorias de Configuração A Auditoria de Configuração confirma se os registros da Gestão de Configuração e se os itens de configuração estão completos, consistentes e precisos. Audita também as baselines onde foram geradas manutenções a partir das Requisições de Serviço de Configuração. É realizada pela Área de Qualidade e a periodicidade é estabelecida no Cronograma Técnico do Projeto, quando do planejamento da Gestão de Configuração e da Gestão de Qualidade. Em uma empresa a auditoria de baseline pode ser realizada através de: Verificações amostrais ou não de baselines do produto ou do componente do produto Verificações de registros Verificações de distribuição (releases) 3.3 – SG3 Estabelecer Integridade
  • 13.
    4. Template deRequisição de Serviço de Configuração
  • 14.
    4. Template deRequisição de Serviço de Configuração
  • 15.
    5. Considerações AGerência de Configuração é um processo de extrema importância para que as empresas possam manter o seu desenvolvimento de software controlado. Este controle é mais facilmente realizado com a adoção de ferramentas para o controle de versão, controle de mudanças e integração contínua. A utilização destas ferramentas contribuem para a qualidade do Projeto e isto torna a Gerência de Configuração como uma das atividades mais importantes para a Garantia de Qualidade do Software. Com a utilização de ferramentas open-source, a organização poderá chegar a esta qualidade com um custo zero, já que as ferramentas são de fácil instalação e utilização.
  • 16.
    6. Referências CMMIProduct Development Team.CMMI for Systems Engineering/Software Engineering/Integrated Product and Process Development/Supplier Sourcing, Version 1.2. Software Engineering Institute, Carnegie Mellon University, 2006 KOHAN, Sarah. Apostila FIAP CMMI – Nível 2 Processos de Apoio. São Paulo, 2010. MINI-CURSO Gerência da Configuração Visão Prática. ASR, São Paulo, set. 2006. Disponível em: <http://www.spinsp.org.br/apresentacao/CM_ASR.pdf>. Acesso em: 18 mai. 2010.
  • 17.