113
1/113 Contexto para Contexto para Gerência de Gerência de Configuração Configuração

1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

Embed Size (px)

Citation preview

Page 1: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

1/113

Contexto para Gerência de Contexto para Gerência de ConfiguraçãoConfiguração

Page 2: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

2/113

Gerência de Configuração e Gerência de Configuração e mudançamudança

Objetivo

• Compreender a importância do uso de mecanismos de gerência de configuração e de mudança, seus métodos, processos e ferramentas.• Fornecer os principais conceitos relacionados a GC.• Criar uma visão geral de como GC pode ser aplicada a um projeto de software.

Page 3: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

3/113

Problema da Quebra de ComunicaçãoProblema da Quebra de ComunicaçãoDesenvolvedor A Desenvolvedor B

Desenvolvedor C

Page 4: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

4/113

Problema da Quebra de Problema da Quebra de Comunicação (continuação)Comunicação (continuação) Falhas de comunicação em equipes Ocorre pelas mais diversas razões:

Vocabulários incompatíveis Culturas de desenvolvimento diferentes Distância geográfica Dificuldade de expressão

Quando este problema acontece: Os sistemas produzidos não atendem aos requisitos Força de trabalho é desperdiçada

Page 5: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

5/113

Problema dos Dados CompartilhadosProblema dos Dados Compartilhados

Componente

Compartilhado

Desenvolvedor A Desenvolvedor B

A1 A2 A3

Programa de A Programa de B

B1 B2 B3

Page 6: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

6/113

Problema dos Dados Problema dos Dados Compartilhados - CenárioCompartilhados - Cenário O desenvolvedor A modifica o componente

compartilhado Mais tarde, o desenvolvedor B realiza algumas

alterações no mesmo Ao tentar compilar o componente, erros são

apontados pelo compilador, mas nenhum deles ocorre na parte que B alterou

O desenvolvedor B não tem a menor idéia sobre a causa do problema

Page 7: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

7/113

Problema dos Dados Problema dos Dados Compartilhados - Solução simplistaCompartilhados - Solução simplista Solução simplista:

cada desenvolvedor trabalha em uma cópia “local” do componente

resolve o Problema dos Dados Compartilhados, mas cria um novo problema

Page 8: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

8/113

Problema da Manutenção MúltiplaProblema da Manutenção Múltipla

Componente

Compartilhado

Desenvolvedor A Desenvolvedor B

A1 A2 A3 B1 B2 B3

Programa de A Programa de BComponente

Compartilhado

Versão de A do Componente

Compartilhado

Componente

Compartilhado

Componente

Compartilhado

Versão de B do Componente

Compartilhado

Page 9: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

9/113

Problema da Manutenção Múltipla Problema da Manutenção Múltipla (continuação)(continuação) Ocorre quando cada desenvolvedor trabalha com uma

cópia “local” do que seria o mesmo componente Dificuldade para saber:

Que funcionalidades foram implementadas em quais versões do componente

Que defeitos foram corrigidos Evitado através de uma biblioteca central de

componentes compartilhados Nesse esquema, cada componente é copiado para a

biblioteca sempre que alterado Resolve o Problema da Manutenção Múltipla, mas...

Page 10: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

10/113

Problema da Atualização SimultâneaProblema da Atualização Simultânea

Versão de A do Componente

Compartilhado

Desenvolvedor A Desenvolvedor B

A1 A2 A3 B1 B2 B3

Programa de A Programa de BVersão de B do Componente

Compartilhado

Biblioteca Central de Recursos Compartilhados

Componente

Compartilhado

Page 11: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

11/113

Problema da Atualização Problema da Atualização Simultânea – Cenário 1Simultânea – Cenário 1 O desenvolvedor A encontra e corrige um

defeito em sua versão do componente compartilhado

Uma vez corrigido, o componente modificado é copiado para a biblioteca central

O desenvolvedor B encontra e corrige o mesmo defeito em sua versão do componente por não saber que A já tinha feito isso

O trabalho de A é desperdiçado

Page 12: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

12/113

Problema da Atualização Problema da Atualização Simultânea – Cenário 2Simultânea – Cenário 2 O desenvolvedor A encontra e corrige um defeito em sua versão

do componente compartilhado Uma vez corrigido, o componente modificado é copiado para a

biblioteca central O desenvolvedor B encontra e corrige um outro defeito em sua

versão do componente, sem saber do defeito corrigido por A O desenvolvedor B copia sua versão do componente para a

biblioteca central Além de o trabalho de A ser desperdiçado, a versão do

componente que se encontra na biblioteca central continua apresentando um defeito

O desenvolvedor A julga o problema como resolvido

Page 13: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

13/113

Como Resolver?Como Resolver?

O problema da atualização simultânea não pode ser resolvido simplesmente copiando componentes compartilhados para uma biblioteca central

Algum mecanismo de controle é necessário para gerenciar a entrada e saída dos componentes

Page 14: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

14/113

O que é Gerência de Configuração?O que é Gerência de Configuração?

Gerência de configuração (GC) é o processo de identificar, organizar e controlar modificações ao software sendo construído

A idéia é maximizar a produtividade minimizando os enganos

Page 15: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

15/113

Objetivos de GCObjetivos de GC

Definir o ambiente de desenvolvimento Definir políticas para controle de versões,

garantindo a consistência dos artefatos produzidos

Definir procedimentos para solicitações de mudanças

Administrar o ambiente e auditar mudanças Facilitar a integração das partes do sistema

Page 16: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

16/113

BenefíciosBenefícios

Aumento de produtividade no desenvolvimento Menores Custos de Manutenção Redução de defeitos Maior rapidez na identificação e correção de

problemas

Page 17: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

17/113

Conceitos BásicosConceitos Básicos

Page 18: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

18/113

ConfiguraçãoConfiguração

Um projeto de desenvolvimento de software produz os seguintes itens: Programas (código fonte, programas

executáveis, bibliotecas de componentes, etc.) Documentação (manuais do usuário, documento

de requisitos, modelo de análise e projeto, etc.) Dados (dados de teste e do projeto)

Esses conjuntos de itens são chamados, coletivamente, de configuração do software

Page 19: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

19/113

Item de ConfiguraçãoItem de Configuração

Um conjunto de itens de hardware e/ou software vistos como uma entidade única para fins de gerência de configuração

Um item de configuração está sujeito a mudanças e essas devem obedecer às políticas estabelecidas

Normalmente, um item de configuração é estabelecido para cada pedaço de software que pode ser projetado, implementado e testado de forma independente

Page 20: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

20/113

Configuração de SoftwareConfiguração de Softwareitem

tempo

fluxo de desenvolvimento

Page 21: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

21/113

BaselineBaseline

Uma especificação ou produto que foi formalmente revisado e aceito Serve como base para os passos posteriores do

desenvolvimento A configuração do software em um ponto discreto no

tempo Só pode ser modificado através de procedimentos

formais (solicitações de mudança) Um artefato ou conjunto de artefatos só se torna um

item de configuração depois que um baseline é estabelecido

Page 22: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

22/113

BaselineBaseline

item

tempo

fluxo de desenvolvimento

Page 23: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

23/113

Razões para Criar um BaselineRazões para Criar um Baseline• Reproducibilidade – a habilidade de

reproduzir uma versão anterior do sistema • Rastreabilidade – Estabelece uma relação

predecessor-sucessor entre artefatos do projeto (projeto satisfaz requisitos, código implementa projeto, etc.)

• Geração de Relatórios – A comparação dos conteúdos de dois baselines ajuda na depuração e criação de documentação

• Controle de Mudanças – referencial para comparações, discussões e negociações

Page 24: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

24/113

Baselines importantesBaselines importantes

Baselines são considerados marcos no processo de desenvolvimento: Funcional : requisitos De Produto : releases, iterações

Page 25: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

25/113

RepositórioRepositório

Local (físico e lógico) onde os itens de um sistema são guardados

Pode conter diversas versões do sistema Utiliza mecanismos de controle de acesso

RepositórioDesenvolvedor

Page 26: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

26/113

LockLock

Resolve a Atualização Simultânea Garante que apenas o usuário que detém o

lock pode alterar o arquivo Problema: “serializa” o trabalho dos

desenvolvedores

Page 27: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

27/113

Check-OutCheck-Out

Check-out

Repositóriocliente

Page 28: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

28/113

Check-Out (continuação)Check-Out (continuação)

Recupera a (última) versão de um item de configuração guardada no repositório Escrita

Verifica que ninguém detém o lock do item de configuração

Obtém o lock do item Cria uma cópia, para edição, no cliente

Leitura Verifica que alguém já detém o lock Cria uma cópia, apenas para leitura, no cliente

Page 29: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

29/113

Check-InCheck-In

Check-in

Repositóriocliente

Page 30: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

30/113

Check-In (continuação)Check-In (continuação)

Ação de inserir/atualizar um item de configuração no repositório Verifica o lock do item de configuração, caso o

mesmo já exista Verifica e incrementa a versão do item Registra informações das mudanças (autor,

data, hora, comentários) Inclui/atualiza o item

Page 31: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

31/113

BuildBuild

Representa uma versão ainda incompleta do sistema em desenvolvimento, mas com certa estabilidade

Costuma apresentar limitações conhecidas Espaço para integração de funcionalidades Inclue não só código fonte, mas documentação,

arquivos de configuração, base de dados, etc. A política de geração dos builds deve ser bem definida

na estruturação do ambiente

Page 32: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

32/113

Os Problemas na Geração de Os Problemas na Geração de BuildsBuilds Fazer os builds do sistema manualmente é

muito demorado Pode ser difícil saber qual a versão “correta” de

um arquivo Os pedaços do sistema podem estar em

diversos locais diferentes Alguns arquivos podem ser esquecidos

Page 33: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

33/113

Os Problemas na Geração de Os Problemas na Geração de BuildsBuilds A integração das partes de um sistema em

desenvolvimento normalmente é: Realizada poucas vezes, apenas perto de sua

implantação Feita em freqüência inversamente proporcional

à complexidade do sistema Integrar as partes de um sistema é uma tarefa

trabalhosa e sujeita a erros Quanto maior o sistema, mais difícil

Page 34: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

34/113

Os Problemas na Geração de Os Problemas na Geração de BuildsBuilds Consequência: problemas de integração

tornam-se difíceis de detectar cedo no desenvolvimento Costumam ser encontrados muito depois de sua

introdução É muito difícil rastrear suas causas

Page 35: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

35/113

Geração de Buils através da Geração de Buils através da Integração ContínuaIntegração Contínua Geração freqüente (pelo menos diária) de builds do

sistema As partes do sistema são integradas constantemente Problemas de integração passam a ser encontrados logo

que introduzidos, na maioria dos casos Considerada uma das “melhores práticas” no

desenvolvimento de software A geração de builds deve ser automatizada e

realizada com freqüência adequada

Page 36: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

36/113

ReleaseRelease

Identificação e empacotamento de artefatos entregues ao cliente (interno ou externo) ou ao mercado

Um release implica no estabelecimento de um novo baseline, de produto

Produto de software supostamente sem erros Versão do sistema validada após os diversos tipos de teste Garantia de que todos os itens de configuração foram

devidamente testados, avalidos, aceitos e estão disponíveis no novo baseline

Processo iterativo/incremental produz, em geral, mais de um release

Page 37: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

37/113

Tipos de releaseTipos de release

Normalmente, releases estão associados aos milestones do plano de projeto

Internos Controle de qualidade, acompanhamento de

projeto, controle de riscos, aceitação, aquisição de conhecimento através da coleta de feedbacks, desenho da estratégia de implantação

Externos Implantado e utilizado pelo cliente

Page 38: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

38/113

TagsTags

Rótulos que são associados a conjuntos de arquivos

Um tag referencia um ou mais arquivos em um ou mais diretórios Costuma-se usar tags para:

Denominar projeto rotulando todos os arquivos associados ao projeto

Denominar uma versão do projeto (um build ou release) rotulando todos os arquivos associados ao build ou release

Page 39: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

39/113

Tags – Cenário 1Tags – Cenário 1

file2

raiz

subdir1

subdir2

file1

file3

file4

file5

file6

file7 file8 file9

tag1

tag2

Page 40: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

40/113

Tags – Cenário 2Tags – Cenário 2

1.1 1.2 1.3 1.4

release_1

tagHistórico

de um arquivo

release_2

Page 41: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

41/113

BranchBranch

Criação de um fluxo alternativo para atualização de versões de itens de configuração

Recurso muito poderoso Devem existir regras bem definidas para

criação de branches Por que e quando devem ser criados? Quais os passos? Quando retornar ao fluxo principal?

Page 42: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

42/113

Branch (continuação)Branch (continuação)

Uso de lock inviabiliza a criação de branches Branches normalmente se originam de

correções em versões anteriores

Page 43: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

43/113

Branch (exemplo)Branch (exemplo)

4

3

5 6

4

3.j.1 3.j.2 3.j.3

2.j.1 2.j.2

3.m.1 3.m.2 3.m.3

2.m.1

1hello.c 2 3

1hello.h 2

hello.c

hello.h

José

Mariahello.c

hello.h 2.m.2

Page 44: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

44/113

MergeMerge

Unificação de diferentes versões de um mesmo item de configuração

Integração dos itens de configuração de um branch com os itens de configuração do fluxo principal

Check-out atualizando a área local Algumas ferramentas fornecem um mecanismo

automático para realização de merges Mesmo com o uso de ferramentas, em vários casos há

necessidade de intervenção humana

Page 45: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

45/113

Merge (exemplo)Merge (exemplo)

3hello.c 4

2hello.h 3

5

4

3.j.1hello.c 3.j.2 3.j.3

2.j.1hello.h 2.j.2José

Maria3.m.1hello.c 3.m.2 3.m.3

2.m.1hello.h 2.m.2

3.j.4

2.j.3

Page 46: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

46/113

Branching e Merging: esquema Branching e Merging: esquema gráficográfico

1.1 1.2 1.3 1.4

release_2

1.2.2.21.2.2.1

rel_

1_fix

Tronco principal de

desenvolvimento

Branch

release_1

tag

patch

tag

Merge

Page 47: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

47/113

Oportunidades criadas com GCOportunidades criadas com GC

Reuso de itens de software Artefatos Componentes

Automação de processo Construção de builds Geração de releases Testes Integração

Aumento da produtividade das equipes Redução de re-trabalho Melhoria do acompanhamento do projeto

Page 48: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

48/113

Controle de MudançasControle de Mudanças

Page 49: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

49/113

ContextoContexto

Desenvolvimento iterativo/incremental Novos conjuntos de requisitos, detalhados a

cada iteração Mudanças em estratégias de negócio

motivadas pelas mais diversas fontes: mercado, cultura, leis, etc

Page 50: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

50/113

ProblemasProblemas

Controle do escopo do projeto Modificações podem ampliar o leque de funcionalidades

e aumentar significativamente o custo do projeto Atrasos em entregas planejadas

Controle de consistência dos artefatos Uma mudança aparentemente localizada pode causar

muito mais impacto do que o previsto Degradação da qualidade do software (ex: abandono dos

testes automatizados devido à inconsistência dos dados de teste)

Retrabalho

Page 51: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

51/113

O que é Gerência de Mudanças?O que é Gerência de Mudanças?

Gerência de Mudanças é o processo de avaliar, coordenar e decidir sobre a realização de mudanças propostas a itens de configuração (ICs)

Mudanças aprovadas são implementadas nos itens de configuração e nos dados e documentos relacionados

Page 52: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

52/113

Objetivos da Gerência de MudançasObjetivos da Gerência de Mudanças

Garantir que os artefatos do sistema alcançam e mantêm uma estrutura definida através do seu ciclo de vida

Definir procedimentos e documentação necessários para realizar modificações a ICs

Prover os mecanismos necessários para conduzir mudanças de uma maneira controlada

Page 53: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

53/113

BenefíciosBenefícios

Controle sobre o escopo do projeto Mais produtividade

cada solicitação será tratada de forma coordenada Redução dos problemas de comunicação entre membros

da equipe Mais qualidade, uma vez que cada mudança, antes de

ser realizada, tem seu impacto avaliado Geração de dados para o acompanhamento (tracking)

do projeto

Page 54: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

54/113

Controle do caosControle do caos

Organização

Projeto

Controle de mudanças

Solicitação de mudança

Page 55: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

55/113

Ciclo de vida de um artefatoCiclo de vida de um artefato

Page 56: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

56/113

Ciclo de vida de um artefatoCiclo de vida de um artefato

Draft Aceito Manutenção

Concepção doartefato

Mudanças feitas de forma informal

Revisão/aceitação(baseline)

Mudanças via controle formal (CCB)

Mudanças em manutenção

Release retir

ado

Page 57: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

57/113

Artefato DraftArtefato Draft

Mudanças freqüentes e rápidas Demanda por agilidade Controle formal dificulta a criação do artefato Artefatos apenas gerenciados e controlados

Uso de controle de versão (CVS, Clear Case, entre outras ferramentas)

Page 58: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

58/113

Artefato AceitoArtefato Aceito

Artefato seguiu um processo de revisão, testes (se aplicável) e aceitação

Inserido dentro do processo de controle de mudanças, tornando-se de fato item de configuração

Mudanças via solicitação formal Presença do grupo gestor de mudanças (CCB)

para avaliar e priorizar mudanças

Page 59: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

59/113

Artefato em ManutençãoArtefato em Manutenção

Após a entrega de uma versão do produto, os artefatos passam para a fase de manutenção

Controle de mudanças permanece formal para os artefatos de um baseline

Novas artefatos podem ser desenvolvidos usando o mesmo modelo de ciclo de vida

Sistema pode ser descontinuado ou removido do ambiente de produção

Page 60: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

60/113

Processo de Gerência de Processo de Gerência de MudançasMudanças

Page 61: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

61/113

MotivaçãoMotivação

Mudança é inevitável Mudar é fácil – controlar diversas mudanças

simultâneas é difícil A gerência de mudanças introduz controle

sobre as mudanças de maior relevância Todas as mudanças são analisadas Apenas as aprovadas são realizadas Sempre se sabe quem modificou o que, onde e

quando

Page 62: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

62/113

Responsabilidades do CCBResponsabilidades do CCB

Analisar as solicitações de mudança Controlar o escopo do projeto Reuniões com freqüência adequada ao ritmo das

solicitações de mudança Envolver stakeholders no processo de priorização no

processo de decisão Balanço entre o nível de controle desejado e overhead

suportado Questões menores devem ser resolvidas pelo líder do

projeto junto à equipe, reduzindo o overhead do CCB

Page 63: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

63/113

Características do CCBCaracterísticas do CCB

Composição multidisciplinar SQA, gerente, cliente, arquiteto

Profissionais com grande capacidade de comunicação e negociação

Pode apresentar uma estrutura hierarquica dependendo do tamanho e da quantidade de stakeholders e sistemas envolvidos (integrações)

Page 64: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

64/113

Análise de impactoAnálise de impacto

Mudanças de grande impacto devem ser comunicadas aos stakeholders envolvidos

Análises de custo x benefício produzidas pelos stakeholders

Priorização de mudanças Mudança pode ser rejeitada se o CCB perceber que o

custo será mais caro que o benefício percebido Por questões de eficiência, algumas solicitações de

mudança podem ser agrupadas por tema, subsistema ou área de negócio

Page 65: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

65/113

Importância da análise de impactoImportância da análise de impacto

Dentro do projeto Análises inter-sistemas também devem ser

consideradas Exemplo: frameworks, componentes ou bancos de dados

compartilhados

Requisitos

A&P

Componentes

Análise de impacto

intra-projeto

Page 66: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

66/113

Sobre o Processo de Gerência de Sobre o Processo de Gerência de MudançasMudanças Deve ser definido um documento padrão para que

mudanças possam ser solicitadas Esse documento normalmente se chama Solicitação de

Mudança (SM, Em inglês CR) A um conjunto de pessoas (CCB), deve ser dada a

autoridade para decidir se uma mudança será ou não implementada

O processo é necessário para garantir que apenas mudanças avaliadas e aprovadas são realizadas em ICs

Page 67: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

67/113

Solicitações de MudançaSolicitações de Mudança

Algumas informações que podem estar incluídas em uma SM: Identificação única Solicitante Sistema/Projeto Item a ser modificado Classificação (melhoria, correção de defeito, outra) Prioridade Descrição Situação (nova, atribuída, finalizada, verificada, fechada)

Page 68: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

68/113

Estrutura de um registro de Estrutura de um registro de solicitação de mudançasolicitação de mudança

1. IDENTIFICADOR DA SOLICITAÇÃO

<Um código (normalmente numérico) que identifica unicamente a solicitação de mudança.>

2. IDENTIFICAÇÃO DO SOLICITANTE

<O nome do indivíduo que solicitou a mudança, possivelmente incluindo informação adicional como posição, matrícula, etc.>

3. SISTEMA DESENVOLVIDO

3.1. NOME DO SISTEMA<O nome do sistema no qual está sendo solicitada a mudança.>

3.2. NOME DO MÓDULO<O nome do módulo no qual a mudança está sendo solicitada.>

3.3. NOME DA FUNCIONALIDADE<O nome da funcionalidade na qual a mudança será efetuada.>

Page 69: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

69/113

Estrutura de um registro de Estrutura de um registro de solicitação de mudançasolicitação de mudança

4. CLASSIFICAÇÃO<O tipo de mudança que está sendo solicitada. Normalmente três tipos de mudança são realizados: adição de nova funcionalidade, melhoria de funcionalidade já existente e correção de defeitos. Também é comum que a classificação seja feita com relação à natureza da mudança. Por exemplo: mudança de requisitos, de projeto, de implementação, etc.>

5. DESCRIÇÃO<Uma descrição da mudança que está sendo solicitada. A descrição deve ser o mais não-ambígua e objetiva possível. Ao mesmo tempo, deve incluir toda informação necessária para implantar a mudança.>

6. STATUS<A situação atual da mudança. Por exemplo: aprovada, rejeitada, em implantação, postergada, etc. Essa informação deve ser mantida sempre atualizada.>

7. OBSERVAÇÕES GERAIS<Informações adicionais sobre a solicitação de mudança. Por exemplo: se o solicitante já souber de módulos que serão afetados pela implantação da mudança, pode enumerá-los nesta seção.>

Page 70: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

70/113

Etapas do Processo de Gerência de Etapas do Processo de Gerência de Mudanças GenéricoMudanças Genérico

1. Requisição da mudança

2. Classificação da mudança

3. Avaliaçãoda mudança

4.Negociação sobre a realização da

mudança

5. Implementaçãoda mudança

6. Verificação da mudança

7. Promoção dos itens modificados

para um novo baseline

(mudança aceita)

CCB

Page 71: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

71/113

Correções EmergenciaisCorreções Emergenciais

Em algumas situações, não há tempo para seguir os procedimentos padrão para a realização de mudanças

Defeitos não são normalmente processados pelo CCB, salvo se envolverem algum questionamento relativo ao escopo do projeto

Mesmo nessas situações, porém, é muito importante que seja criada uma solicitação de mudança

O objetivo é garantir um mínimo de ordem, mesmo em uma situação caótica

Page 72: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

72/113

Correções EmergenciaisCorreções Emergenciais

Mudanças realizadas nessas circunstâncias podem comprometer a arquitetura ou inserir bugs

Decisão: Desfazer correção ou Transformar a correção: refactoring, acréscimo

de novos casos de teste

Page 73: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

73/113

Exemplos de Status dos DefeitosExemplos de Status dos DefeitosEstados Abertos Próximos Estados

NEW Bug inserido por alguém (automático)

Aceito ASSIGNED

Reatribuído NEW

Resolvido RESOLVED

ASSIGNED Atribuído à pessoa apropriada

Reatribuído NEW

Resolvido RESOLVED

REOPENED Reaberto: foi constatado que ainda não tinha sido resolvido

Aceito ASSIGNED

Reatribuído NEW

Resolvido RESOLVED

UNCONFIRMED Não confirmado que existe

Confirmado NEW

Resolvido RESOLVED

Page 74: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

74/113

Exemplos de Status dos DefeitosExemplos de Status dos DefeitosEstados Fechados Próximos Estados

RESOLVED Foi resolvido (só está esperando a homologação)

Não foi resolvido REOPENED

Está ok VERIFIED

Está ok e pode ser fechado CLOSED

VERIFIED A correção foi homologada

Defeito é fechado CLOSED

CLOSED O bug é tido como resolvido

Não foi resolvido REOPENED

Page 75: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

75/113

Release notesRelease notes

Id Descrição

1 Problema de performance na validação de pedido

2 Nova rotina de validação de crédito conforme normas de dezembro de 2002

… …

Relação de solicitações de mudanças implementadas e testadas Pode ser parcialmente automatizado Comentários adicionais

Limitações atuais, problemas não resolvidos

Page 76: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

76/113

DesafiosDesafios

Cultura organizacional Agrupamento de solicitações em releases bem

definidos e estabelecidos deve ser negociado com os stakeholders do projeto

Releases internos utilizados de forma efetiva como ferramenta de gestão de projeto

Integração entre sistemas de controle de versão e mudanças

Page 77: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

77/113

Ferramentas de Apoio à Gerência Ferramentas de Apoio à Gerência de Configuraçãode Configuração

Manter todos os arquivos em um repositório central Controlar o acesso a esse repositório, de modo a

garantir a consistência dos artefatos

Automatizar o processo de geração de builds

Automatizar o processo de submissão e gestão de SMs

Ferramenta de Controle de Versões (CVS, por exemplo)

Ferramentas de Geração de Builds (Ant, por exemplo)

Ferramentas de Gestão de Solicitações de Mudanças (Bugzilla, por exemplo)

Page 78: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

78/113

Gerência de Configuração no Gerência de Configuração no Desenvolvimento Iterativo - Desenvolvimento Iterativo - Relação com as Fases e Relação com as Fases e Disciplinas de Disciplinas de Desenvolvimento do RUPDesenvolvimento do RUP

Page 79: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

79/113

Concepção Elaboração Construção Transição

IteraçãoPreliminar

Iter.#1

Iter.#2

Iter.#i

Iter.#i+1

Iter.#i+2

Iter.#n

Iter.#n+1

Requisitos.......................................

Análise e Projeto............................

Implementação...............................

Testes.............................................

Implantação...................................

Planejamento e Gerenciamento.....

Fluxos de Atividades

Fluxos de Suporte

Fases

Iterações

Fases, iterações e disciplinasFases, iterações e disciplinas

Gerência de Configuração e Mudanças

Page 80: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

80/113

Relação com as Fases de Relação com as Fases de Desenvolvimento e com as Outras Desenvolvimento e com as Outras DisciplinasDisciplinas Tem uma maior concentração na fase de concepção Nas iterações das fases seguintes, o nível de esforço é

mantido constante Acontece em paralelo e com uma forte integração com

a disciplina de planejamento e gerenciamento Algumas atividades relacionadas com a gerência da

configuração ocorrem em outras disciplinas como a implementação e a implantação

Page 81: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

81/113

AAtividades, tividades, AArtefatos e rtefatos e RResponsabilidades da esponsabilidades da Disciplina Disciplina Gerência de Gerência de ConfiguraçãoConfiguração

Page 82: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

82/113

Objetivos deste móduloObjetivos deste módulo

Apresentar atividades da Disciplina de Gerrência de Configuração

Discutir os artefatos e responsáveis envolvidos na realização das atividades da disciplina

Page 83: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

83/113

Fluxo de AtividadesFluxo de Atividades

Gerente deConfiguraçãoe Ambiente

Definir ferramentas eequipamentos

Implantar e administrar ambiente

Estruturar ambiente

Planejar gerência de configuração

Solicitante Submeter solicitações de mudanças

CCB Analisar solicitações de mudanças

Page 84: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

84/113

Objetivos do FluxoObjetivos do Fluxo

Definir Recursos de hardware e software Política de atualização destes recursos Estruturação de diretórios e repositórios Plataforma de desenvolvimento Política de utilização do ambiente As atividades de Gerência de Configuração que

deverão ser realizadas e em que momentos do desenvolvimento

Page 85: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

85/113

Responsáveis e ArtefatosResponsáveis e Artefatos

Gerente de Configuração

Plano de Gerência de Configuração

de Software

Documento de Definição de Ambiente

Registro de Solicitação de

Mudanças

Solicitante

Registro de Solicitação de

Mudanças

CCB

Page 86: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

86/113

Gerente de ConfiguraçãoGerente de Configuração

Responsável pela definição dos equipamentos e softwares utilizados e suas configurações

Define o ambiente, regras de uso do mesmo e política de mudanças

Define os papéis dos membros da equipe responsáveis pelas atividades de gerência de configuração

Estabelece as atividades de gerência de configuração que serão realizadas

Page 87: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

87/113

SolicitanteSolicitante

Qualquer pessoa que possa fazer uma solicitação de Mudanças

Page 88: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

88/113

CCBCCB

Grupo Responsável por analisar e autorizar uma solicitação de mudanças

Page 89: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

89/113

Artefato – Documento de Definição Artefato – Documento de Definição de Ambientede Ambiente

1. INTRODUÇÃO<Descreva os objetivos do documento>

2. INFRA-ESTRUTURA2.1. FERRAMENTAS

<Descreva que ferramentas serão usadas por todos os envolvidos no projeto durante o seu desenvolvimento,fornecendo uma breve descrição de cada uma e aquantidade de licenças disponíveis>

2.2. EQUIPAMENTOS<Descreva que equipamentos serão usadas durante o desenvolvimento do sistema, detalhando suasconfigurações>

3. ORGANIZAÇÃO FÍSICA<Forneça uma breve descrição da estrutura física do localonde o sistema será desenvolvido>

Page 90: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

90/113

Artefato – Documento de Definição Artefato – Documento de Definição de Ambientede Ambiente

4. PADRÃO DE NOMENCLATURA DE ARTEFATOS<Descreva qual será a convenção utilizada para nomear osartefatos, em inglês ou português>

5. AMBIENTE LOCAL5.1. ESTRUTURA DE DIRETÓRIOS5.2. INFORMAÇÕES ADICIONAIS

6. AMBIENTE DE HOMOLOGAÇÃO E TESTES6.1. ESTRUTURA DE DIRETÓRIOS6.2. INFORMAÇÕES ADICIONAIS

7. AMBIENTE DE PRODUÇÃO7.1. ESTRUTURA DE DIRETÓRIOS7.2. INFORMAÇÕES ADICIONAIS

8. ARQUIVOS DE CONFIGURAÇÂO<Descreva os arquivos utilizados para configuração e uso dosistema>

Page 91: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

91/113

Artefato – Documento de Definição Artefato – Documento de Definição de Ambientede Ambiente

9. PROMOÇÂO ENTRE AMBIENTES E BACKUPS<Defina a política para promoção dos artefatos entre osambientes e realização de backups>

9.1. AMBIENTE LOCAL AMBIENTE DE HOMOLOGAÇÃO E TESTES

<Descreva o procedimento que deve ser usado para transferirarquivos do ambiente local para o de homologação e testes

9.2. AMBIENTE LOCAL AMBIENTE DE PRODUÇÃO<Descreva o procedimento que deve ser usado para realizar atransferência de arquivos entre o ambiente de homologação etestes e o ambiente de produção>

10. POLÍTICA DE BACKUP<Descreva o procedimento que deve ser usado para realizaçãode backups em cada um dos ambientes>

11. AVALIAÇÃO E REVISÃO DO AMBIENTE<Descreva as modificações que serão necessárias no ambientepara o desenvolvimento do projeto>

12. REFERÊNCIAS

Page 92: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

92/113

Artefato – Plano de Gerência de Artefato – Plano de Gerência de Configuração de SoftwareConfiguração de Software

1. INTRODUÇÃO<Descreva os objetivos do documento, forneça definições de termos necessários para o entendimento do mesmo e liste algumas referências interessantes.>

2. GERENCIAMENTO DA GERÊNCIA DE CONFIGURAÇÃO DE SOFTWARE

2.1. ORGANIZAÇÃO<Deve ser descrita nesta seção a estrutura da equipe de GCS e como ela se encaixa na estrutura da organização com relação a outras equipes>

2.2. RESPONSABILIDADES<Defina nesta seção os deveres e responsabilidades daqueles que estiverem envolvidos com as atividades de GCS.>

2.3. RELAÇÃO COM AS FASES DO DESENVOLVIMENTO E OUTROS FLUXOS DE ATIVIDADES

<Nesta seção são relacionadas as atividades de GCS com as diferentes etapas do ciclo de vida do desenvolvimento de software.>

Page 93: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

93/113

Artefato – Plano de Gerência de Artefato – Plano de Gerência de Configuração de SoftwareConfiguração de Software

3. ATIVIDADES DA GERÊNCIA DE CONFIGURAÇÃO DE SOFTWARE

3.1. IDENTIFICAÇÃO DA CONFIGURAÇÃO<Esta seção descreve como identificar, nomear e adquirir os itens de configuração do sistema.>3.1.1. Identificação de itens de configuração3.1.2. Nomeação dos itens de configuração3.1.3. Aquisição e armazenamento de itens de configuração3.1.4. Gerenciamento de baselines

3.2. CONTROLE DA CONFIGURAÇÃO<Nesta seção deve ser descrito o processo de gerência de mudanças. Normalmente, essa informação é colocada em um documento a parte chamado Documento de Políticas de Mudanças. Aqui deve apenas ser incluído um apontador para esse documento.>

Page 94: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

94/113

Artefato – Plano de Gerência de Artefato – Plano de Gerência de Configuração de SoftwareConfiguração de Software

3.3. REGISTRO DO STATUS DA CONFIGURAÇÃO<Esta seção lida com os detalhes de registrar o status de cada item de configuração e apresentar essa informação aos indivíduos que precisam saber sobre ela.>3.1.1. Identificação das necessidades de informação3.1.2. Mecanismos de coleta de informações3.1.3. Relatórios, seus conteúdos e frequências3.1.4. Acesso a dados de registro de status

3.4. AUDITORIA DA CONFIGURAÇÃO<Esta seção descreve os tipos de auditoria que serão realizados, o procedimento de auditoria, a freqüência e qualquer outra informação relevante.>3.1.1. Auditorias que devem ser realizadas3.1.2. Procedimentos de auditoria

Page 95: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

95/113

Artefato – Plano de Gerência de Artefato – Plano de Gerência de Configuração de SoftwareConfiguração de Software

4. AGENDA DA GERÊNCIA DE CONFIGURAÇÃO<Esta seção descreve a seqüência de atividades de GCS, suas interdependências e a relação com o ciclo de vida do projeto.>

5. RECURSOS DE GERÊNCIA DE CONFIGURAÇÃO<Indique nesta seção as ferramentas de software, técnicas, equipamentos, pessoas e treinamentos necessários para a implementação das atividades de gerência de configuração especificadas.>

6. MANUTENÇÃO DO PLANO DE GERÊNCIA DE CONFIGURAÇÃO DE SOFTWARE

<Esta seção descreve as atividades que são necessárias para manter o plano atualizado durante o ciclo de vida do projeto.>

Page 96: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

96/113

Definir Ferramentas e Definir Ferramentas e EquipamentosEquipamentos

Gerente deConfiguraçãoe Ambiente

Definir ferramentas eequipamentos

Implantar e administrar ambiente

Estruturar ambiente

Planejar gerência de configuração

Solicitante Submeter solicitações de mudanças

CCB Analisar solicitações de mudanças

Page 97: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

97/113

Definir Ferramentas e Definir Ferramentas e Equipamentos(continuação)Equipamentos(continuação) Objetivos

Definir ferramentas de suporte ao desenvolvimento, controle de versões e softwares em geral

Definir hardwares e suas configurações Definir regras para atualizações de hardware e

software Responsável

Gerente de configuração

Page 98: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

98/113

Definir Ferramentas e Definir Ferramentas e Equipamentos(continuação)Equipamentos(continuação) Entradas

Documento de requisitos Lista de riscos Estudo de viabilidade

Saídas Documento de definição de ambiente Plano de gerência de configuração de software

Page 99: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

99/113

Passos para Definir Ferramentas e Passos para Definir Ferramentas e EquipamentosEquipamentos Definir plataformas de desenvolvimento Definir ferramentas Definir equipamentos e suas configurações

Page 100: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

100/113

Estruturar AmbienteEstruturar Ambiente

Gerente deConfiguraçãoe Ambiente

Definir ferramentas eequipamentos

Implantar e administrar ambiente

Estruturar ambiente

Planejar gerência de configuração

Solicitante Submeter solicitações de mudanças

CCB Analisar solicitações de mudanças

Page 101: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

101/113

Estruturar Ambiente(continuação)Estruturar Ambiente(continuação)

Objetivos Determinar a estrutura de diretórios que será

adotada para o projeto Definir os diferentes ambientes

(desenvolvimento, integração, testes, produção) Definir a política de uso do ambiente

Responsável Gerente de configuração

Page 102: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

102/113

Estruturar Ambiente(continuação)Estruturar Ambiente(continuação)

Entradas Documento de definição de ambiente Plano de gerência de configuração de software

Saídas Documento de definição de ambiente

(atualizado) Plano de gerência de configuração de software

(atualizado)

Page 103: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

103/113

Passos para Estruturar AmbientePassos para Estruturar Ambiente

Definir estrutura de diretórios, repositórios e áreas de backup

Definir política para utilização do ambiente

Page 104: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

104/113

Planejar Gerência de ConfiguraçãoPlanejar Gerência de Configuração

Gerente deConfiguraçãoe Ambiente

Definir ferramentas eequipamentos

Implantar e administrar ambiente

Estruturar ambiente

Planejar gerência de configuração

Solicitante Submeter solicitações de mudanças

CCB Analisar solicitações de mudanças

Page 105: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

105/113

Planejar Gerência de Configuração Planejar Gerência de Configuração (continuação)(continuação) Objetivos

Definir os papéis e responsabilidades dos membros da equipe responsável pelas atividades de gerência de configuração (GC)

Definir os baselines que deverão ser estabelecidos Definir o cronograma das atividades de GC Definir as políticas, procedimentos e padrões que

guiarão essas atividades Identificar os itens de configuração

Responsável Gerente de configuração

Page 106: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

106/113

Planejar Gerência de Configuração Planejar Gerência de Configuração (continuação)(continuação) Entradas

Plano de gerência de configuração de software Saídas

Plano de gerência de configuração de software (atualizado)

Page 107: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

107/113

Passos para Planejar Gerência de Passos para Planejar Gerência de ConfiguraçãoConfiguração

Definir organização, papéis e responsabilidades Definir políticas e procedimentos para registro do status

da configuração Definir esquema de nomeação para itens de

configuração Identificar e registrar itens de configuração Planejar auditorias Definir baselines Definir cronograma de gerência de configuração

Page 108: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

108/113

Implantar e Administrar AmbienteImplantar e Administrar Ambiente

Gerente deConfiguraçãoe Ambiente

Definir ferramentas eequipamentos

Implantar e administrar ambiente

Estruturar ambiente

Planejar gerência de configuração

Solicitante Submeter solicitações de mudanças

CCB Analisar solicitações de mudanças

Page 109: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

109/113

Implantar e Administrar Ambiente Implantar e Administrar Ambiente (continuação)(continuação) Objetivos

Implantar o ambiente com base na estrutura definida na atividade anterior

Gerenciar a utilização do ambiente de acordo com as normas propostas (através de auditorias)

Avaliar e revisar o ambiente Responsável

Gerente de configuração

Page 110: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

110/113

Implantar e Administrar Ambiente Implantar e Administrar Ambiente (continuação)(continuação) Entradas

Documento de definição de ambiente Plano de gerência de configuração de software

Saídas Documento de definição de ambiente

(atualizado) Plano de gerência de configuração de software

(atualizado)

Page 111: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

111/113

Passos para Passos para Implantar e Implantar e Administrar AmbienteAdministrar Ambiente Instalar máquinas e criar diretórios Disseminar política de utilização do ambiente Gerenciar e avaliar ambiente

Page 112: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

112/113

ConclusõesConclusões

GC é um fluxo de apoio ao projeto como um todo

Requer uma certa disciplina na manipulação de itens de configuração e apoio de ferramentas sempre que possível

Page 113: 1/113 Contexto para Gerência de Configuração. 2/113 Gerência de Configuração e mudança Objetivo Compreender a importância do uso de mecanismos de gerência

113/113

ReferênciasReferências

Descrição do workflow de gerência de configuração e mudanças do RUP

Configuration Management Today - http://cmtoday.com

Software Release Methodology, M.E.Bays, Prentice Hall, 1999.