Detectando e propondo melhorias em cenário DevOps de uma empresa de desenvolvimento de software

  • Diogo Pavan UTFPR
  • Érica de Souza UTFPR
  • Rafael Oliveira UTFPR

Resumo


DevOps (Desenvolvimento e Operações) é o termo que se refere a uma cultura de desenvolvimento colaborativo de software no qual duas equipes distintas são designidas: (i) equipe de desenvolvimento, responsável por criar novas funcionalidades e produtos e; (ii) equipe de operações, responsável por manutenções e ajustes. A adoção de DevOps automatiza processos de modo a promover entregas em menor tempo, mais colaboração entre as equipes e menos custo para resolução de problemas. Entretanto, a implantação da cultura DevOps é delicada e complexa devido a diversos fatores como, por exemplo, falta de cooperação entre a equipe, necessidade de mudanc¸a de hábitos, implementação de mecanismos de compartilhamento de informações/conhecimento, etc. O presente estudo apresenta uma estratégia para a detecção de pontos críticos para a melhora de cenários DevOps em empresas que estão iniciando com a filosofia. A partir de uma survey que foi modelada e executada em um cenário real de uma empresa de desenvolvimento de software, este estudo apresenta as seguintes contribuições: (i) proposta de um método genérico para detecção de problemas em cenários DevOps; e (ii) uma validação empírica que pode ser base para estudos similares.

Referências

Bass, L. (2018). The software architect and devops. IEEE Software, 35(1):8–10.

CATechnologies (2015). Assembling the devops jigsaw. https://www.ca.com/us/modern-software-factory/content/assembling-the-devops-jigsaw.html, Setembro.

Cruz, F. (2015). Scrum e Agile em Projetos: Guia completo. Brasport, Rio de Janeiro.

Davis, J. and Daniels, K. (2016). Effective DevOps: Building a Culture of Collaboration, Affinity, and Tooling at Scale. O’Reilly Media, Inc., Sebastopol.

Freitas, H., Oliveira, M., Saccol, A. Z., and Moscarola, J. (2000). O método de pesquisa survey. Revista de Administração da Universidade de S˜ao Paulo, 35(3):105–112.

Jabbari, R., bin Ali, N., Petersen, K., and Tanveer, B. (2016). What is devops?: A systematic mapping study on definitions and practices. In Proceedings of the Scientific Workshop Proceedings of XP2016 (XP 2016), pages 1–11, New York. ACM.

Kamuto, M. B. and Langerman, J. J. (2017). Factors inhibiting the adoption of devops in large organisations: South african context. In Proceedings of the 2nd International Conference on Recent Trends in Electronics, Information Communication Technology (RTEICT 2017), pages 48–51, Bangalore. IEEE.

Kim, G., Debois, P., Willis, J., and Humble, J. (2016). The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations. IT Revolution Press, Portland.

Machado, P. H. A. (2017). Redução de desperdícios no desenvolvimento de software de grande porte por meio de ferramentas lean. Dissertação (mestrado em engenharia de produção e sistemas), Universidade Tecnológica Federal do Paraná, Pato Branco. Pressman, R. (2010). Engenharia de Software: Uma abordagem profissional. McGraw-Hill Education, New York, 7th edition.

Puppet (2017). 2017 state of devops report. https://puppet.com/resources/whitepaper/2017-state-of-devops-report, Setembro.

Samarawickrama, S. S. and Perera, I. (2017). Continuous scrum: A framework to enhance scrum with devops. In Proceedings of the 17th International Conference on Advances in ICT for Emerging Regions (ICTer), pages 19–15, Colombo. IEEE.

Sato, D. (2017). DevOps na prática - entrega de software confiável e automatizada. Casa do Código, S˜ao Paulo.

Serrador, P. and Pinto, J. (2015). Does agile work? — a quantitative analysis of agile project success. International Journal of Project Management, 33(5):1040–1051.

Society, I. C., Bourque, P., and Fairley, R. E. (2014). Guide to the Software Engineering Body of Knowledge (SWEBOK(R)): Version 3.0. IEEE Computer Society Press, Los Alamitos, CA, USA, 3rd edition.

Sommerville, I. (2010). Software Engineering. Addison-Wesley Publishing Company, USA, 9th edition.

Vadapalli, S. (2017). Hands-on DevOps: Explore the concept of continuous delivery and integrate it with data science concepts. Packt Publishing, Birmingham.

Vasanthapriyan, S., Tian, J., and Xiang, J. (2015). A survey on knowledge management in software engineering. In Proceedings of the International Conference on Software

Quality, Reliability and Security (QRS 2015), pages 237–244,Washington. IEEE Computer Society.

Wettinger, J., Andrikopoulos, V., and Leymann, F. (2015). Automated capturing and systematic usage of devops knowledge for cloud applications. In Proceedings of the 3rd International Conference on Cloud Engineering (IC2E 2015), pages 60–65, Tempe. IEEE Computer Society.

Wohlin, C., Runeson, P., H¨ost, M., Ohlsson, M. C., Regnell, B., and Wesslén, A. (2012). Experimentation in Software Engineering. Springer, New York.
Publicado
22/10/2018
PAVAN, Diogo; DE SOUZA, Érica; OLIVEIRA, Rafael. Detectando e propondo melhorias em cenário DevOps de uma empresa de desenvolvimento de software. In: ESCOLA REGIONAL DE ENGENHARIA DE SOFTWARE (ERES), 2. , 2018, Dois Vizinhos/PR. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2018 . p. 129-136.