Desativação do Ambiente de DEV
CENÁRIO ATUAL
A grande maioria dos desenvolvedores não possuem a devida preocupação com a integridade estrutural da base de dados durante o desenvolvimento das aplicações. No ambiente local, os desenvolvedores modificam tabelas vazias sem se preocupar com nenhum tipo de restrição presente nos dados em produção. No ambiente de desenvolvimento, os dados são comumente apagados sempre que alguma estrutura "quebra". Ambas as ações não podem ser realizadas nos dados em produção, tornando o processo de atualização da estrutura bem mais complexo, sendo muitas vezes necessária a migração dos dados para tabelas intermediárias entre outras abordagens que demandam de tempo do time de banco de dados e acabam atrasando a disponibilização da aplicação para produção.
PROBLEMA
Da Perspectiva da Organização
- Os times de desenvolvimento não possuem autonomia para a manutenção da modelagem dos dados;
Da Perspectiva da Gerência de Desenvolvimento
- A entrega fica aguardando a liberação por parte da equipe de banco de dados;
Da Perspectiva da Gerência de Dados
- As demandas para alteração da estrutura de banco de dados são serviços prioritárias, não planejadas, e normalmente custosas, prejudicando o fluxo de trabalho.
PREMISSAS
- A grande maioria dos sistemas da nossa organização utiliza C# + Entity FrameWork + SQLServer;
- A organização tem interesse em desenvolver uma cultura de Continuous Deployment;
ENVOLVIDOS
- Baymax Business Inteligence Team
- BlackOps - Integration Team
PROPOSTA
** Código só entrar no QA após migration não quebrar
VALIDAÇÃO
Para validação da proposta, optamos pela realização de um estudo piloto. Neste estudo, apresentaremos para um dos times de desenvolvimento a abordagem proposta e avaliaremos o desempenho dos mesmos em relação ao novo fluxo.
ETAPAS
- Contextualização
Nesta etapa, os participantes serão ambientados e conscientizados sobre qual problema pretendemos apresentar a solução e qual a importância do mesmo. Pode ser interessante apresentar as dificuldades mais comuns. - Apresentação
Nesta etapa, os participantes acompanharão uma apresentação de como será o novo fluxo. - Hands-On
Nesta etapa, será efetivamente aplicada a nova abordagem, onde os participantes serão assistidos durante o processo. - Consolidação
Para consolidação, um pequeno manual em formato de guia será disponibilizado à equipe.
APLICAÇÃO
Após validação do estudo piloto, a solução será oficialmente apresentada em uma SixFire (a definir data), para que todos os times possam acompanhar as mudanças. Junto com a apresentação, serão fornecidos materiais de apoio aos usuários.
REFERÊNCIAS
[LINK] Altassian - "What is Continuous Deployment?"
[LINK] Opus-Software - "Entrega Contínua - O que é e como aplicar?"