Projeto Green Software Development
Green Software Development
Visão Geral
Um dos componentes principais da TI é o software. Como, então, podemos produzir um software mais sustentável? Na verdade, existem maneiras diferentes de se pensar sustentabilidade em software (1) green in software, (2) green by software e (3) green in software engineering, conforme ilustra a Figura 1.
Figura 1: Green Software e seus aspectos. Adaptado de Calero (2015a)
Green by software diz respeito a software cujo domínio seja a preservação do meio ambiente, por exemplo softwares de gerência energética (Calero, 2015a). Já (green in software diz respeito a como desenvolver software de uma maneira mais sustentável, incluindo tanto questões do desenvolvimento do software como questões além destas, por exemplo, questões estratégicas e de governança (Calero, 2015a). Finalmente, a sustentabilidade em Engenharia de Software (Green in Software Engineering ou Green Software Development) tem como principal objetivo incluir práticas de sustentabilidade no processo de desenvolvimento de software, em outras palavras, considerar tais práticas como parte do desenvolvimento do software (Calero, 2015a).
A Engenharia de Software é definida como “a aplicação de uma abordagem sistemática, disciplinada e quantificável no desenvolvimento, operação e manutenção de software, que é a aplicação da engenharia para o software” (ISO, 2010).
Considerando essa definição, é possível sintetizar a sustentabilidade em engenharia de software como o conjunto de práticas que consideram aspectos relacionados ao meio-ambiente (Calero, 2015a). Em outras palavras, diz respeito a conduzir todas as atividades do ciclo de vida do software de maneira sustentável, desde quando ele é concebido até o momento em que é retirado do uso. Essa definição é ilustrada na Figura 2.
Figura 2. Sustentabilidade na Engenharia de Software. Adaptado de (Calero, 2015a)
Das 15 áreas de conhecimento da Engenharia de Software apresentadas no SWEBOK (Bourque e Fairley, 2014), Calero et al. (2019a) identificou que já foram realizadas pesquisas considerando o aspecto de sustentabilidade em cinco delas: requisitos, design e arquitetura, construção, testes e qualidade de software. Os principais focos destas pesquisas estão em: desenvolvimento sustentável, engenharia de requisitos, hardware, software embarcado, algoritmos, big data e aplicações mobile.
Apesar de mais de duas décadas de existência, a preocupação com sustentabilidade na engenharia de software tem sido alvo constante e crescente de pesquisa. Entretanto, muito ainda precisa ser estudado e, mais que isso, muito dos resultados dessas pesquisa ainda precisam ser aplicados ao desenvolvimento de software, no dia a dia das empresas que produzem software no mundo.
Um estudo conduzido por Calero et al. (2019b) investigou a aplicação de práticas de sustentabilidade em software em dez grandes empresas produtoras de software: CA Technologies, EMC, Hewlett-Packard, Microsoft, VMware, SAP, Symantec Corp, Apple, IBM, e Oracle. Os autores não identificaram a aplicação de nenhuma prática na dimensão green in software em mais da metade dessas empresas: Microsoft, VMware, SAP, Symantec Corp, Apple e Oracle.
Essa situação não é diferente no Brasil. Karita et al. (2021) conduziram um survey com 99 profissionais de software brasileiros. Dentre os achados, o estudo encontrou que grande parte dos respondentes possui pouco conhecimento relacionado a sustentabilidade em Software. Ora, se os profissionais desconhecem a área, certamente a aplicação do conhecimento está longe de ser uma realidade.
Esse projeto, portanto, tem como objetivo chamar a atenção para a necessidade de conhecermos essa área e, uma vez que possuamos esse conhecimento, levá-lo para as empresas. Dessa forma, estaremos contribuindo para construção de softwares que se preocupem com os efeitos que produzem para o meio-ambiente.
Referências
- Bourque, P., and Fairley, R. E., Eds. SWEBOK: Guide to the Software Engineering Body of Knowledge, version 3.0 ed. IEEE Computer Society, Los Alamitos, CA, 2014
- Calero, C., García-Rodríguez De Guzmán, I., Moraga, M., and García, F. Is software sustainability considered in the CSR of software industry? International Journal of Sustainable Development & World Ecology 26, 5 (2019), 439–459.
- Calero, C., Mancebo, J., García, F., Moraga, M. Á., Berná, J. A. G., Fernández-Alemán, J. L., and Toval, A. 5ws of green and sustainable software. Tsinghua Science and Technology 25, 3 (2019), 401–414.
- ISO/IEC/IEEE 24765: 2010 systems and software engineering-vocabulary.
- Karita, L., Mourão, B. C., Martins, L. A., Soares, L. R., and Machado, I. Software industry awareness on sustainable software engineering: a Brazilian perspective. Journal of Software Engineering Research and Development 9 (2021), 2–1.
Objetivo
Chamar a atenção para a necessidade de conhecermos essa área e, uma vez que possuamos esse conhecimento, levá-lo para as empresas. Dessa forma, estaremos contribuindo para construção de softwares que se preocupem com os efeitos que produzem para o meio-ambiente.
Integrantes
- Profa. Dra. Fabiana Freitas Mendes (coordenadora do projeto)
- Ana Carolina Costa Cesar (bolsista PIBIC)
- Gabriela da Gama Pivetta (bolsista PIBIC e aluna de TCC)
Publicações
- A.C. C. Cesar, G. G. Pivetta and F. F. Mendes “GreenGame: Solving the climate crisis in a Game to actually take action in real life,” 2022 IEEE Intl Conf on Parallel & Distributed Processing with Applications, Big Data & Cloud Computing, Sustainable Computing & Communications, Social Computing & Networking (ISPA/BDCloud/SocialCom/SustainCom), Melbourne, Australia, 2022.