Gerência de Configuração Processo, Mantis, Plano e Auditoria. Equipe de Gerência de...

Preview:

Citation preview

Gerência de ConfiguraçãoProcesso, Mantis, Plano e Auditoria.

Equipe de Gerência de Configuração/UES03/2010

Diretoria de Informática Gerência de Desenvolvimento

Unidade de Engenharia de Software

Agenda

EQD/UES

Prosoft: Gerência de Configuração;

Mantis: Novas Máquinas de Estados;

Plano de Gerência de Configuração v2.0;

Auditoria de Gerência de Configuração;

Dúvidas e Esclarecimentos;

EQD/UES

Equipe de Gerência de Configuração/UES: Gestores:

José Mário Ribeiro

Raphael D’Castro

Integradores: Jefferson Pereira (Time A)

Washington Luiz (Time B);

Prosoft:Gerência de Configuração

Processo de Desenvolvimento de Software do TJPE - Prosoft;

Disponível atualmente em: http://192.168.251.88/Intranet/melhoriacontinua/pdstj/processov43

Futuramente disponível em: http://www.tjpe.jus.br/prosoft

Mantis:Novas Máquinas de Estados

Máquina do Mantis para Gerenciamento de Mudanças de Software:

Mantis:Novas Máquinas de Estados

Máquina do Mantis para Entrega de Software.

Plano v2.0:Gerência de Configuração

Compreende as informações pertinentes à padronização de repositório para armazenamento e versionamento dos itens de configuração;

Itens abordados pelo Plano de Gerência de Configuração Estrutura de armazenamento dos itens; Nomenclatura dos artefatos; Políticas de alteração nos itens: Trunk, Branches, Tags,

Merges; Controle de Versão de Software; Controle de Versão de Scripts de Banco de Dados; Níveis de acesso;

Plano v2.0:Gerência de Configuração

Evolução do Plano de GC: v1.0:

Definição das responsabilidades; Identificação dos itens de configuração; Estrutura Básica dos Repositórios; Versionamento dos Artefatos e Sistemas; Política para criação de Tag, Branch e Merge;

v2.0: Revisão na nomenclatura dos artefatos; Revisão das políticas de Tag, Branch e Merge; Redefinição da nomenclatura para Tag e Branch; Ampliação da Estrutura Básica; Padronização dos Comentários; Versionamento de Banco de Dados Controle de Acesso;

Plano v2.0:Gerência de Configuração

Repositórios:

Catálogo de Repositórios: http://sapltjpe6.tjpe.gov.br:8080/ (acesso via navegador);

Tipos de repositórios: Sistemas – Prevê a criação de linhas paralelas de desenvolvimento

(Branches) e inclui espaço para as disciplinas: Requisitos, Análise de Projetos, Implementação e Teste;

Projetos – Versão simplificada que conta com a disciplina Gestão de Projeto;

Plano v2.0:Gerência de Configuração

Estrutura repositório de sistema:

Sistematrunk

01-Requisitos

Documento de Modelagem do Negócio

Documento de Relação de Casos de UsoDocumento de Visão do SistemaEspecificação de Casos de UsoEspecificação de Regras de NegócioEspecificações SuplementaresModelo Conceitual de Dados

02–AnaliseProjeto

Diagrama de ClassesDiagramas de SequenciaDocumento de Arquitetura do SistemaModelo Lógico de Dados

03–Implementacao Códigos fontes, Scripts de banco e Builds.<Detalhamento no próximo slide>

04-Teste 05-Homologacao

06-Configuracao Plano de Gerência de Configuração do Sistema.

07-Qualidade Plano de Garantia da Qualidade do Projeto

08-OutrosDocumentos

tags <NOME DA TAG> <Estrutura idêntica à raíz do trunk>branches <NOME DA BRANCH> <Estrutura idêntica à raíz do trunk>

Plano v2.0:Gerência de Configuração

Pasta 03-Implementacao:

03–Implementacao

01-SrcFontesBibliotecas

02-Db

01-Tables Scripts de criação e alteração de tabelas 02-Procedures Script de criação de procedures 03-Formularios Formulários de intervenção

04-Outros

ÍndicesConstraintsViewScripts DML

03-BuildExecutáveis do Sistema (Delphi)Pacote de Instalação (Java)

Plano v2.0:Gerência de Configuração

Estrutura repositório de projeto:

Projetotrunk

01-GestaoProjeto

CronogramaDocumento de Visão do ProjetoPlano do Projeto

02-Qualidade Plano de Garantia da Qualidade do Projeto.

03-Configuracao Plano de Gerência de Configuração do Projeto

04-OutrosDocumentos

tags <NOME DA TAG> <Estrutura idêntica à raíz do trunk>

Plano v2.0:Gerência de Configuração

Nomenclatura dos Artefatos:

Padrão: <ID_SISTEMA>_<ID_ARTEFATO> ou <ID_PROJETO>_<ID_ARTEFATO> ou <ID_ORGANIZAÇÃO>_<ID_ARTEFATO>;

Tabela contendo a identificação dos itens de configuração (<ID_ARTEFATO>);

Exemplos: SISPE_AR_20090514_FecharCronograma SCAM_CDU002_EmitirRelatorio

Plano v2.0:Gerência de Configuração

Versionamento dos Artefatos:

Padrão: X.Y X = Número que representa a versão final do artefato (incrementado quando da aprovação

do documento); Y = Versão draft do documento (incrementado a cada evolução do documento);

Primeira versão: 0.1;

Exemplo:

Data Versão Descrição Autor Aprovado Por

29/05/2009 0.1 Versão inicial do documento Juliana Xavier

29/05/2009 0.2 Alteração na seção 2.1. para inclusão do estado “impedimento”. Laísa Helena

29/05/2009 1.0 Versão aprovada do documento. Arthur Orlando

Plano v2.0:Gerência de Configuração

Versionamento de Scripts de Banco de Dados: Deve seguir o padrão:

SYBASE: NomeBanco_Schema_TipoScript_NomeObjeto[_NumeroSequencia] ORACLE: Schema_TipoScript_NomeObjeto[_NumeroSequencia] NomeBanco: Identificação do Banco de Dados em que o script deverá

rodar (só aplicável ao Sybase); Schema: Identificação do Schema ao qual o script está associado; TipoScript: Identificação do tipo do objeto contido no script.

Pode assumir os valores: Procedure, Create, Alter, Indice, Contraints, View e DML.

NumeroSequencia: Não se aplica a Procedure. Exs.: dbjze01_dbo_Procedure_SpAdvogadoComplemento_D_001.scp dbcor01_dbo_Create_Atendimento_001.scp SCAM_Alter_Ausencia_002.scp

Plano v2.0:Gerência de Configuração

Versionamento de Software:

Deve seguir o padrão: Versão_Maior.Versão_Menor.Revisão

Versão_Maior: Incrementado quando houver mudanças significativas da arquitetura (Compatibilidade com a versão antiga quebrada).

Versão_Menor: Quando houver adição de novas funcionalidades, uma grande correção de bug do sistema ou alguma melhoria for implementada;

Revisão: Correções de Bug, Pequenas Mudanças de Layout ou qualquer correção de baixo esforço;

Versão inicial: v1.0.0

Plano v2.0:Gerência de Configuração

Política de Commits:

Todos os commits devem ser comentados; Os comentários devem seguir o padrão:

[MXXX – SXXX] – Breve Descrição. Onde: MXXX = Identificação do caso do Mantis a que se refere a mudança. SXXX = Identificação da Sprint Breve Descrição = Uma descrição sucinta do que trata a mudança.

Ex.: [M2581– S019] – Script de criação da coluna codg_documento nas tabelas Atendimento e SolucaoAdotada.

Não deve ser realizado commit para mais de um caso do Mantis; Não deve ser realizado commit de código que não compile

Plano v2.0:Gerência de Configuração

Política de Tags: Devem ser criadas Tags para cada entrega do software (Teste,

Homologação e Produção); Devem ser seguidos os padrões para Tags:

Teste: <Versão>TXX Homologação: <Versão>HXX Produção: <Versão> Exs.: v1.4.5H1, v3.0.1T2, v2.3.1

O comentário na criação da Tag deve seguir o padrão: Criação de Tag de <Tipo> <Nome> - <SXXX>. Onde: <Tipo> define a destinação da Tag (Teste, Homologação ou

Produção); <Nome> é o nome da Tag; Ex.: Criação de Tag de Homologação v1.2.0H2 – S011

Plano v2.0:Gerência de Configuração

Política de Branches:

Deve ser criado um Branch para possíveis correções nas mudanças implementadas ao final da sprint .

Branch gerada a partir da TAG de Teste ou Homologação 1; A Branch deve ter o mesmo nome da Versão; O comentário na criação da Branch deve seguir o padrão:

Criação de Branch <Nome>: <Motivo> - <SXXX>. Onde: <Nome> é o nome da Branch; <Motivo> é uma breve descrição da finalidade da Branch . Ex.: Criação de Branch v1.11.4: Correção de Erros de

Homologação – S022

Plano v2.0:Gerência de Configuração

Política de Merge:

Deve ser realizado após a homologação da versão se houve alterações na Branch desta versão;

O comentário do commit do Merge deve seguir o padrão: Merge entre: <Origem> e <Destino> - <SXXX>. Onde: <Origem> é o local de onde as mudanças serão obtidas (em geral

Branch vX.X.X); <Destino> é o local que receberá as mudanças (em geral Trunk); <SXXX> - Identificação da sprint que gerou as mudanças;

Plano v2.0:Gerência de Configuração

Níveis de Acesso (trunk):

UNs: Escrita nas pastas de documentação do projeto (01-Requisitos, 02-AnaliseProjeto, 05-Homologacao e 08-OutrosDocumentos);

UES: Escrita na pasta 03-Implementacao; UTS: Escrita na pasta 04-Teste; UGAPL = Leitura na pasta 03-Implementacao; UGBD = Leitura na pasta 03-Implementacao\02-Db UGCPD = Leitura na pasta 03-Implementacao\03-Build

Tabela completa se encontra no Plano de Gerência de Configuração

Auditoria:Gerência de Configuração

Serão realizadas auditorias de Gerência de Configuração sistematicamente: Periodicidade: A cada sprint (Quinzenalmente); Realizador: EGC sob o acompanhamento da EQD; Público Alvo: GEDES e Fábricas Externas (Desenvolvedores, Analista de

Negócios ou qualquer pessoa que venha a produzir/modificar os itens de configurações associados aos sistemas do TJPE);

Metodologia: Aplicação de checklist com questões referentes ao Processo e o Plano de Gerência de Configuração;

Relatório: Elaboração de mensal de relatório de Gerência de Configuração e apresentação dos resultados na reunião mensal de qualidade (Chefias da GEDES).

Melhoria Contínua: Verificação de oportunidades de melhoria a partir da reunião de qualidade e sugestões realizadas a partir do Mantis (Processo de Desenvolvimento de software);

Auditoria:Gerência de Configuração

Checklist (Itens de Configuração):

A nomenclatura dos itens de configuração respeitam o plano de gerência de configuração?

Os itens de configuração foram incluídos/alterados nos locais corretos?

Os scripts de banco de dados estão sendo incluídos/alterados no repositório?

Auditoria:Gerência de Configuração

Checklist (Política de Commit):

Os commits contém apenas um caso do Mantis?

Os comentários seguem o padrão descrito no plano de gerência de configuração?

Auditoria:Gerência de Configuração

Checklist (Política para Branches):

A Branch para retornos (correções) de teste e/ou homologação foi criada?

A nomenclatura das Branches respeitam o plano de gerência de configuração?

Os retornos (erros) de teste e/ou homologação foram corrigidos na Branch criada para este fim?

Auditoria:Gerência de Configuração

Checklist (Política para Tags):

Foram criadas as Tags de teste e/ou homologação?

Foi criada Tag de produção?

A nomenclatura das Tags respeita o plano de Gerência de Configuração?

Auditoria:Gerência de Configuração

Checklist (Política para Merge):

Para os casos em que houve implementações em Branches, foram realizados merge após a homologação do sistema?

O comentário do Merge atende o especificado no plano de Gerência de Configuração?

Auditoria:Gerência de Configuração

Checklist (Builds):

Para os sistemas em Delphi e Java, os builds estão sendo armazenados no repositório?

Para sistemas em Delphi, o desenvolvedor está incluindo o executável do sistema após a conclusão de um caso do Mantis?

Auditoria:Gerência de Configuração

Checklist (Liberação de Software):

Foram criados casos do Mantis para a liberação dos sistemas?

Os casos do Mantis criados para liberação dos sistemas atendem as especificações do Guia Mantis?

Auditoria:Gerência de Configuração

Categorização das observações da Auditoria:

Ocorrências: Não conformidades que ainda valem a pena serem corrigidas;

Desvios: não-conformidades que não fazem mais sentido serem corrigidas por não agregarem mais valor ao projeto/sprint;

Recomendações: sugestões de melhoria que ainda não fazem parte do processo institucionalizado;

Dúvidas e Esclarecimentos

Recommended