You are on page 1of 6

Liberação de Software em Ambiente de Melhores

Produção Seguindo as Melhores Práticas Práticas

Por Rildo Santos (rildo.santos@etecnologia.com.br )


Coach, Consultor em Inovação, Sustentabilidade, Processos e
Tecnologia.
data: 13/04/2010, revisão: 02/08/2010

Introdução:
Como fazer uma liberação de software em ambiente de produção com menor
risco de quebra do nível de qualidade de serviço?
Devemos levar em consideração que parte deste do sucesso desta empreitada
começa no processo de desenvolvimento de software.

1
Liberação de Software em Ambiente de Melhores
Produção Seguindo as Melhores Práticas Práticas

Processo de Desenvolvimento de Software:

Na fase de Requisitos é definido um modelo de Arquitetura Inicial, na atividade


de especificação de requisitos são definidos os requisitos não funcionais, que
serão a base para os QoS (Qualidade do Serviço) da aplicação.
O QoS de uma aplicação pode ser: Disponibilidade, Integridade, Confiabilidade,
Segurança, Usabilidade, Escalabilidade e etc).

Cabe ao Arquiteto de Software prover uma modelo de Arquitetura do Software


robusto que sustente todos os QoS.
Também no processo de desenvolvimento de software, será elaborado o Plano
de Teste, que deve abranger os Requisitos Não Funcionais do Software.
Este Plano de teste deverá ser aplicado antes de o software ser homologado e
liberado em ambiente de produção.
Detalhe importante quando maior for a maturidade do processo de
desenvolvimento de software melhor deve ser o produto (software resultante), é
por isso que muitas empresas correm atrás do CMMI e/ou MPs.br (ou só
contratam fornecedores para desenvolver software que possuem tais
certificações)
A equipe de teste (Analista de Teste) faz execução dos testes em ambiente de
desenvolvimento.

Veja Exemplo:
RUP (Rational Unified Process) que é considerado as Melhores Práticas
da Engenharia de Software.
- Artefato: Configuração do Ambiente de Teste
http://www.wthreex.com/rup/process/artifact/ar_tstenv.htm

Melhores práticas para Gerenciamento de Serviços de


TI (aqui entra o Cobit e a ITIL)
No Cobit veja o domínio: Adquirir e Implementar os processos: AI6 e AI7
(porém lembre-se que o Cobit tem uma visão de alto nível, logo, ele não te dirá
"como fazer", ele somente diz "o quê fazer")

Veja o processo AI7 - Instalar e Homologar Soluções e Mudanças deverá


ser seu guia, ele define:

2
Liberação de Software em Ambiente de Melhores
Produção Seguindo as Melhores Práticas Práticas
AI7.1 Treinamento:
Treinar a equipe dos departamentos usuários envolvidos e as equipes de
operações de TI de acordo com o plano de implementação e treinamento
definido e os materiais associados, como parte de todos os projetos de
desenvolvimento, implementação ou modificação de sistemas de informação.

AI7.2 Plano de Teste


Estabelecer um plano de teste baseado nos padrões organizacionais que
definem papéis, responsabilidades e critérios de sucesso de entrada e saída.
Assegurar que o plano seja aprovado pelas partes relevantes.

AI7.3 Plano de Implementação:


Estabelecer um plano de implementação e de retorno à configuração anterior.
Obter aprovação de todas as partes relevantes.

AI7.4 Ambiente de Testes:


Estabelecer um ambiente de testes seguro que reflita o ambiente de operações
planejado no que diz respeito a segurança, controles internos, práticas
operacionais, exigências de qualidade e confidencialidade e cargas de
trabalho.
AI7.5 Conversão de Dados e Sistemas:
Planejar a conversão de dados e a migração da infraestrutura como parte dos
métodos de desenvolvimento da organização, incluindo trilhas de auditoria,
procedimentos de retorno à situação anterior e de recuperação de falhas.

AI7.6 Teste de Mudanças:


Assegurar que as mudanças sejam testadas de maneira independente e de
acordo com o plano de testes definido antes da migração para o ambiente de
produção.

AI7.7 Teste de Aceitação Final:


Assegurar que o gerenciamento do departamento usuário e da área de TI
avalie o resultado do processo de testes como determinado no plano de testes.
Corrigir erros significativos identificados no processo de testes, executarem
todos os testes listados no plano de testes, bem como qualquer teste de
regressão necessário. Após a avaliação, aprovar a promoção para a produção.

AI7.8 Promoção para a Produção:


Após a conclusão dos testes, controlar a transferência dos sistemas alterados
para operação, de acordo com o plano de implementação. Obter a aprovação
das partes interessadas, como usuários, proprietário do sistema e gerência
operacional. Quando apropriado, executar o sistema em paralelo com o
sistema antigo durante um período e comparar comportamento /resultados.
AI7.9 Revisão pós-implementação:
Estabelecer procedimentos em linha com o gerenciamento de mudanças
organizacionais para garantir a realização da revisão pós-implementação,
conforme definido no plano de implementação.

3
Liberação de Software em Ambiente de Melhores
Produção Seguindo as Melhores Práticas Práticas

Aqui entra a ITIL:


Quem irá fazer a implementação de fato, tem como base a ITIL (versão 2) ,
são os processos Gerenciamento de Mudança, Gerenciamento de Liberação
e Gerenciamento de Infra-estrutura de TIC (Livro laranja).
Seguindo as práticas da ITIL (falando da V2). Veja os passos:

1 - Inicio: Requisição de Serviço (Fazer a liberação do software em


ambiente de produção)

O software será instalado a partir de Requisição de Serviço (que entrará pela


Central de Serviço) observe que está requisição não passará pela
Gerenciamento de Incidentes e nem pelo Gerenciamento de Problemas, ela irá
direto para a Gerenciamento de Mudança (isto na v3 é tratado pelo processo
Request Fulfillment).

2 - Gerenciamento de Mudança: (Este processo é a implementação dos


processos: AI6 e AI7) na ITIL v3 – Transição do Serviço
O objetivo deste processo é planejar, avaliar riscos, definir recursos, aprovar,
testar e autorizar a liberação de mudança de itens de configuração em
ambiente de produção.
O Gerenciamento de Mudança também será o responsável por fazer os testes
pós implementação.
Contudo, o Gerenciamento de Mudança não faz a implementação da mudança,
isto é delegado ao processo de Gerenciamento de Liberação.
Documentos, Artefatos e Afins,
Para planejar a mudança e elaborar a RDM (Requisição de Mudança), o Plano
de Teste, Modelo de Arquitetura e Especificação de Instalação do Software
(algumas empresas também adotam este documento para instalação de
software em ambiente de produção, além da descrição dos requisitos de do
ambiente este documento tem todos os scripts de teste e instalação) todos
estes documentos devem advir do processo de desenvolvimento de software,
serão a base para construção e configuração do ambiente de teste e plano de
teste do software.

3 - Gerenciamento de Liberação – na ITIL v3 o processo de


Gerenciamento de Liberação e Implantação.

O gerenciamento de liberação é o processo responsável pelo planejamento,


programação e controle de movimentação das liberações para os Ambientes
de Teste e Produção.
O objetivo principal do Gerenciamento de Liberação é garantir que a
integridade do Ambiente de Produção seja protegida e que os componentes

4
Liberação de Software em Ambiente de Melhores
Produção Seguindo as Melhores Práticas Práticas
corretos sejam liberados. O Gerenciamento de Liberação é parte do Processo
de Gerenciamento de Liberação e Implantação.
Planejamento:
Na atividade de planejamento será desenvolvido (caso não exista, se existir ele
deverá ser validado) o Plano de Teste.
O planejamento deverá ter uma abordagem para a construção, testes e
manutenção dos ambientes controlados antes da produção.
As atividades incluem:
• Desenvolver os build plans a partir do SDP (Service Design Package) ,
especificações e requisitos de configuração do ambiente
• Estabelecer a logística, os prazos para criar as configurações do ambiente
• Testes de Build e procedimentos relacionados;
• Scheduling das Builds e atividades de testes
• Definição dos recursos, funções e responsabilidades, como por exemplo:
- Os procedimentos de segurança e controle;
- Suporte técnico;
- Preparação das Builds e testes de ambientes
- Gerenciamento de Teste do Banco de Dados e base de testes
- Gestão de ativos de software e licenças
- Processo de Gerenciamento de Configuração: Auditoria de configuração,
Builds e Baselines.

A equipe de liberação poderá com contar com apoio de DBA, Arquiteto de


Software e outros especialistas se for o caso).

Outras atividades:
- Preparação das Builds, teste e Implantação
- Plano de Preparação da implantação

Após os testes (no ambiente de testes), o software deverá liberado em


ambiente de produção [AI7.8]. Contudo, se os testes não foram bem
sucedidos a RDM será devolvida para o Gerenciamento de Mudança.
- Verificação da implantação
- Revisão e encerramento da implantação

4 – Revisão Pós Implementação (PIR): [AI7.9]

Cabe ao processo de Gerenciamento de Mudança fazer a Revisão Pós


Implementação, caso tenha sucesso a RDM será concluída.
Caso contrário poderá ser aplicado o Plano de Backout (desfazer a liberação).

5
Liberação de Software em Ambiente de Melhores
Produção Seguindo as Melhores Práticas Práticas
Epilogo:

Uma questão: Quem será responsável pela instalação


(liberação) do software em ambiente de produção ?
Depende da estrutura organizacional, mas acho que ideal seria do Gerente de
Mudança ou do Comitê de Mudança (que envolve todos os stakeholders do
software que será liberado).
Você poderá fazer os links entre o processo AI7, Cobit, e os processos da
ITIL, fiz alguns para demonstrar que a ITIL diz o como fazer.
Importante, o Cobit e a ITIL são frameworks (que chamo de guias de
referências) você ainda deve considerar as pessoas, o nível de
maturidade dos processos, ferramentas e cultura da empresa, antes de
instituir estes processos.

Referências:
Manual do Cobit Foundation versão 4.1
Livros da ITIL v2: Vermelho, Azul e Laranja*
*Livro Gerenciamento de Infraestrutura de TIC (ICT Infrastructure
Management)da biblioteca ITIL v2(Livro Laranja).
http://rildosan.blogspot.com/2008/07/resumo-do-livro-gerenciamento-de-
infra.html

RUP (Rational Unified Process),


http://www.wthreex.com/rup/portugues/index.htm
Livro da ITIL v3: Transição de Serviço