Você está na página 1de 40

Automatização na escolha

de ferramentas em
projetos DevOps
TCC - José Eudes
Contexto

• Surgimento da Engenharia da Software:

• Ineficiência generalizada dos grandes sistemas:

• Problemas nas entregas;

• Desconfiança.
Contexto
Contexto
Contexto

• Metodologias:

• Não atendiam mais o mercado:

• Pesadas;

• Muita documentação;

• Pouca atenção ao que importa.
Contexto
Contexto

• Novos estudos para preenchimento de lacunas:

• Sinergia entre equipes;

• Automatização de processos;

• Mais agilidade;

• Maior qualidade.
Contexto
• Era pós-ágil:

• Ideologia Lean;

• Práticas contínuas:

• Integração contínua;

• Entrega contínua;

• Implantação contínua.
Contexto
Contexto
Contexto
Contexto
Problema

• RAJKUMAR, M. et al. [15] afirmam:

• Uma das dores em projetos DevOps:

• Escolha de ferramentas:

• Conhecimento;

• Quantidade.
Objetivos

• Geral:

• Mapeamento de ferramentas para a criação de um
Script.
Objetivos
• Específicos:

• Informar as diferenças entre as metodologias ágeis e as
práticas contínuas;

• Verificar até que ponto as práticas contínuas são benéficas para
os projetos de software;

• Analisar as ferramentas mais utilizadas em projetos reais,
através de estudos de caso disponíveis na literatura;

• Compreender como as ferramentas são classificadas e
organizadas para cada etapa do pipeline de desenvolvimento. 

Escopo
• Limitação:

• Criação do Script e mapeamento das ferramentas;

• Bases para o estudo do mapeamento:

• MÄKINEN, S. et al. 2016 [2];

• SHAHIN, M.; ALI BABAR, M.; ZHU, L. 2017 [26].

Escopo
• Foco:

• Não é criar uma ferramenta robusta;

• É questionar e discutir sobre:

• Criação de ferramentas;

• Sistemas que realmente auxiliem as empresas na
escolha de ferramentas.
Metodologia
• Busca exploratória;

• Leitura das referências;

• Ferramentas:

• Mendeley;

• Shapes para a modelagem;

• CodeRunner2 para o Script.
Mapeamento

• As ferramentas são citadas em 11 estudos encontrados;

• 2 estudos de caso em projetos [2, 36];

• 7 artigos [3, 7, 8, 11, 12, 49,50];

• 1 mapeamento sistemático [5];

• 1 revisão sistemática [26];
Áreas
Classificação das
ferramentas
• Planilha;

• Dados:
Ferramentas mapeadas
Ferramentas mapeadas
Script
• Automatização simples:

• ShellScript;
Script
• Menu principal: (Java SE)
Script
• Escolha do paradigma:
Script
• Escolha da linguagem:
Script
• Escolha da licença:
• Resultado:

• Dicas;

• Ordem:

• Critério.
Script

• Resultado:

• Escolhas não dinâmicas:

• Baseadas em buscas na planilha;
Estudo de caso

• Porto digital;

• Capital humano;

• Soluções de Cloud Computing;
Estudo de caso
• MidiaCenter:
Estudo de caso
• MidiaCenter:

• Fluxo:
Estudo de caso

• MidiaCenter:

• Resultado:
Limitações
• Ausência de informações sobre boas práticas:

• Modelo limitado;

• Resultados genéricos;

• Não está no escopo;

• Quantidade de ferramentas mapeadas;

• Modelo criado;
Trabalhos futuros
• Revisão Sistemática:

• Melhores práticas;

• Ferramenta Open Source:

• Real automação;

• Instalação;

• Guia de boas práticas;
Conclusão
• Panorama do início da Engenharia de Software até o
DevOps;

• Ideologia Lean;

• Práticas contínuas:

• Implantação Contínua;

• Entrega Contínua;

• Deploy Contínuo.
Conclusão
• DevOps necessita das práticas contínuas;

• Entrega e implantação devem ser automatizadas;

• Olhar somente para as ferramentas não basta:

• Práticas diferentes entre empresas;

• Práticas diferentes entre times;

• Não há uma única forma;
Conclusão

• Possibilidade de criação de ferramentas robustas;

• Observar práticas;
Fim