O documento discute preocupações com qualidade e impactos no modelo de negócios na abordagem DevOps. Apresenta uma breve caracterização de DevOps e um estudo de caso sobre estabelecer um serviço contínuo de desenvolvimento de software. Também aborda a necessidade de assegurar a qualidade do software para evitar multas, focando em especificações, arquitetura, código e testes de qualidade.
Rio Info 2015 - Salão da Inovação - Uruguai - Ricardo Fynn
DevOps qualidade impacto modelo
1. DevOps: Preocupações com Qualidade
e Impactos no Modelo de Negócio
Prof. Dr. Marcos Kalinowski
kalinowski@ic.uff.br
2. Agenda
• DevOps (Breve Caracterização)
• Estudo de Caso: Estabelecendo um Serviço
Contínuo de Desenvolvimento de Software
• Preocupações com Qualidade e Impactos no
Modelo de Negócio
2Marcos Kalinowski DevOps
5. DevOps
Preocupações com a Qualidade!
Marcos Kalinowski DevOps 5
Fonte: http://www.soapui.org/testing-dojo/world-of-api-testing/dev-ops-trends.html
6. DevOps
Marcos Kalinowski DevOps 6
Fonte: http://www.nimbleams.com/blog/2014/2/12/my-devops-take-aways/
E o Modelo Negócio por trás das Entregas?
7. DevOps
Marcos Kalinowski DevOps 7
Lwakatare, L.E., Kuvaja, P., Oivo, M., (2015) Dimensions of DevOps. In: Proceedings of the 16th International Conference
on Agile Software Development, pp. 212–217, Helsinki, Finland.
8. DevOps
• Não há um entendimento claro sobre o que
DevOps representa (Lwakatare et al., 2015).
• Elementos de DevOps:
– Colaboração
– Automação
– Medição
– Monitoramento
Marcos Kalinowski DevOps 8
Lwakatare, L.E., Kuvaja, P., Oivo, M., (2015) Dimensions of DevOps. In: Proceedings of the 16th International Conference
on Agile Software Development, pp. 212–217, Helsinki, Finland.
9. DevOps
• Colaboração:
– Responsabilidade compartilhada; uma equipe responsável
por todo o serviço ou produto.
• Automação:
– Implantação contínua de funcionalidade e infraestrutura
disponível.
• Medição
– Dados operacionais são utilizados para medir a
performance do desenvolvimento.
• Monitoramento
– Visão consolidada dos dados operacionais como feedback.
Marcos Kalinowski DevOps 9
Lwakatare, L.E., Kuvaja, P., Oivo, M., (2015) Dimensions of DevOps. In: Proceedings of the 16th International Conference
on Agile Software Development, pp. 212–217, Helsinki, Finland.
10. • Não existem evidências disponíveis relativas a:
– Benefícios
– Limitações
– Riscos
• Necessidade de pesquisa experimental para
investigar o fenômeno!
Marcos Kalinowski DevOps 10
DevOps
12. Estruturando Desenvolvimento de
Software como um Serviço Contínuo
12Marcos Kalinowski DevOps
• Orientações concretas podem ser encontradas em
(Kalinowski et al., 2014)
– Aspectos Contratuais
– Controles Gerenciais
KALINOWSKI, M.; BIFFL, S.; SPÍNOLA, R.O.; REINEHR, S. (2014) From project-oriented to service-oriented software
development: an industrial experience guided by a service reference model. Journal of Software Engineering Research and
Development (JSERD), vol.2, no. 10, pp. 1-22.
13. Estruturando Desenvolvimento de
Software como um Serviço Contínuo
13Marcos Kalinowski DevOps
• Aspectos Contratuais
KALINOWSKI, M.; BIFFL, S.; SPÍNOLA, R.O.; REINEHR, S. (2014) From project-oriented to service-oriented software
development: an industrial experience guided by a service reference model. Journal of Software Engineering Research and
Development (JSERD), vol.2, no. 10, pp. 1-22.
15. Estruturando Desenvolvimento de
Software como um Serviço Contínuo
15Marcos Kalinowski DevOps
• Controles Gerenciais
– Planilha de Controle de Atendimento da SLA
– Sistema de issue tracking
– Quadro Kanban
KALINOWSKI, M.; BIFFL, S.; SPÍNOLA, R.O.; REINEHR, S. (2014) From project-oriented to service-oriented software
development: an industrial experience guided by a service reference model. Journal of Software Engineering Research and
Development (JSERD), vol.2, no. 10, pp. 1-22.
16. Estruturando Desenvolvimento de
Software como um Serviço Contínuo
16Marcos Kalinowski DevOps
• Controles Gerenciais
KALINOWSKI, M.; BIFFL, S.; SPÍNOLA, R.O.; REINEHR, S. (2014) From project-oriented to service-oriented software
development: an industrial experience guided by a service reference model. Journal of Software Engineering Research and
Development (JSERD), vol.2, no. 10, pp. 1-22.
17. Estruturando Desenvolvimento de
Software como um Serviço Contínuo
17Marcos Kalinowski DevOps
• Fatores de Sucesso (seleção)
– Práticas de Engenharia de Software Previamente
Estabelecidas
• Arquitetura e projeto do software
– Projeto de alta coesão e baixo acoplamento, facilitando a manutenção
corretiva e evolutiva.
• Rastreabilidade de requisitos
– Apoiou a análise de impacto e a estimative de esforço para tartar cada
requisição.
• Automação de build, testes e implantação
– Apoiou a estratégia de entrega continua.
KALINOWSKI, M.; BIFFL, S.; SPÍNOLA, R.O.; REINEHR, S. (2014) From project-oriented to service-oriented software
development: an industrial experience guided by a service reference model. Journal of Software Engineering Research and
Development (JSERD), vol.2, no. 10, pp. 1-22.
19. Preocupações com a Qualidade e
Impactos no Modelo de Negócios
19Marcos Kalinowski DevOps
• Qualidade é uma questão crítica para o Cliente!
20. Preocupações com a Qualidade e
Impactos no Modelo de Negócios
20Marcos Kalinowski DevOps
• Qualidade é uma questão crítica para o Fornecedor!
– Multas por demandas operacionais não atendidas no
prazo!!!
KALINOWSKI, M.; BIFFL, S.; SPÍNOLA, R.O.; REINEHR, S. (2014) From project-oriented to service-oriented software
development: an industrial experience guided by a service reference model. Journal of Software Engineering Research and
Development (JSERD), vol.2, no. 10, pp. 1-22.
21. 21Marcos Kalinowski DevOps
KALINOWSKI, M.; BIFFL, S.; SPÍNOLA, R.O.; REINEHR, S. (2014) From project-oriented to service-oriented software
development: an industrial experience guided by a service reference model. Journal of Software Engineering Research and
Development (JSERD), vol.2, no. 10, pp. 1-22.
22. Preceitos da Engenharia de Software
22Marcos Kalinowski DevOps
• Gestão
– É preciso gerenciar de forma eficiente o alinhamento entre o desenvolvimento e as demandas
operacionais.
– O formato de projeto tende a não atender à dinâmica DevOps.
– Opções de Solução:
• Adotar boas práticas de gerenciamento de serviços
• Conceitos de medição e gerência quantitativa
• Estabelecer e manter a rastreabilidade de requisitos
• Qualidade da Especificação Funcional
– A especificação precisa estar completa, consistente, correta e precisa!
– Erros de requisitos em produção podem ser caríssimos!
– Opções de Solução:
• Boas práticas de engenharia de requisitos
• Revisões de requisitos (inspeção)
• Qualidade da Arquitetura e do Projeto de Software
– Manutenibilidade se torna um requisito não funcional crucial!
– Não há tempo para refatorações!
– Opções de Solução:
• Princípios de arquitetura e projeto de software
• Revisões de arquitetura e projeto (inspeção)
23. Preceitos da Engenharia de Software
23Marcos Kalinowski DevOps
• Qualidade do Código
– Código errado não pode entrar em operação!
– Opções de Solução:
• Boas práticas de programação
• Testes unitários (técnicas estruturais)
• Revisão de código (inspeção)
• Qualidade dos Testes
– É preciso focar em mais do que Automação de Build, Testes e Deploy!
– Os testes precisam ser de qualidade! Falhas muitas vezes não são toleráveis!
– Opções de Solução:
• Planejamento e projeto de testes (utilizando técnicas adequadas)
– Considerando dados operacionais e idealmente valor agregado ao negócio.
– Testes de requisitos funcionais e não funcionais
» Confiabilidade, Desempenho, Operabilidade, Segurança, Portabilidade...
• Revisão do projeto de testes (inspeção)
24. • Diversas tecnologias (métodos, técnicas e ferramentas) tratando
estas questões foram concebidas e avaliadas ao longo de anos de
pesquisa em Engenharia de Software!
• Conhecimento em Engenharia de Software é fundamental para a
implantação adequada de um processo baseado na abordagem
DevOps!
Marcos Kalinowski DevOps 24
Considerações Finais
25. DevOps: Preocupações com Qualidade
e Impactos no Modelo de Negócio
Prof. Dr. Marcos Kalinowski
kalinowski@ic.uff.br