DevOps: Preocupações com Qualidade
e Impactos no Modelo de Negócio
Prof. Dr. Marcos Kalinowski
kalinowski@ic.uff.br
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
DEVOPS (BREVE
CARACTERIZAÇÃO)
3Marcos Kalinowski DevOps
DevOps
Marcos Kalinowski DevOps 4
Fonte: http://www.soapui.org/testing-dojo/world-of-api-testing/dev-ops-trends.html
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
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?
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.
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.
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.
• 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
ESTUDO DE CASO:
ESTABELECENDO UM
SERVIÇO CONTÍNUO DE
DESENVOLVIMENTO DE
SOFTWARE
11Marcos Kalinowski DevOps
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.
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.
14Marcos Kalinowski DevOps
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.
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.
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.
PREOCUPAÇÕES COM A
QUALIDADE E IMPACTOS NO
MODELO DE NEGÓCIO
18Marcos Kalinowski DevOps
Preocupações com a Qualidade e
Impactos no Modelo de Negócios
19Marcos Kalinowski DevOps
• Qualidade é uma questão crítica para o Cliente!
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.
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.
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)
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)
• 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
DevOps: Preocupações com Qualidade
e Impactos no Modelo de Negócio
Prof. Dr. Marcos Kalinowski
kalinowski@ic.uff.br

Rio Info 2015 - Desenvolvimento Operações Impactos na criação e entrega de software - Marcos kalinowski

  • 1.
    DevOps: Preocupações comQualidade e Impactos no Modelo de Negócio Prof. Dr. Marcos Kalinowski kalinowski@ic.uff.br
  • 2.
    Agenda • DevOps (BreveCaracterizaçã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
  • 3.
  • 4.
    DevOps Marcos Kalinowski DevOps4 Fonte: http://www.soapui.org/testing-dojo/world-of-api-testing/dev-ops-trends.html
  • 5.
    DevOps Preocupações com aQualidade! Marcos Kalinowski DevOps 5 Fonte: http://www.soapui.org/testing-dojo/world-of-api-testing/dev-ops-trends.html
  • 6.
    DevOps Marcos Kalinowski DevOps6 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 DevOps7 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: – Responsabilidadecompartilhada; 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 existemevidências disponíveis relativas a: – Benefícios – Limitações – Riscos • Necessidade de pesquisa experimental para investigar o fenômeno! Marcos Kalinowski DevOps 10 DevOps
  • 11.
    ESTUDO DE CASO: ESTABELECENDOUM SERVIÇO CONTÍNUO DE DESENVOLVIMENTO DE SOFTWARE 11Marcos Kalinowski DevOps
  • 12.
    Estruturando Desenvolvimento de Softwarecomo 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 Softwarecomo 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.
  • 14.
  • 15.
    Estruturando Desenvolvimento de Softwarecomo 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 Softwarecomo 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 Softwarecomo 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.
  • 18.
    PREOCUPAÇÕES COM A QUALIDADEE IMPACTOS NO MODELO DE NEGÓCIO 18Marcos Kalinowski DevOps
  • 19.
    Preocupações com aQualidade e Impactos no Modelo de Negócios 19Marcos Kalinowski DevOps • Qualidade é uma questão crítica para o Cliente!
  • 20.
    Preocupações com aQualidade 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 Engenhariade 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 Engenhariade 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 comQualidade e Impactos no Modelo de Negócio Prof. Dr. Marcos Kalinowski kalinowski@ic.uff.br