Keywords

1 Introduction

The financial sector is responsible for 14% of investments in technology in the world, according to [1]. Only in Brazil, the investments increased 24% in 2019 when comparing to the last four years. Since 2015 the financial sector is developing its own software and investing in mobile banking, representing over 89,9 billion digital transactions such as payments and electronic money transfer [1].

Sustainability is one of the aspects that the financial sector should be aware of and practice. They play a significant role as an enabler of social, environmental, and economic responsibility; therefore, they must comply with the Brazilian Central Bank policies [2]. Since April 25th of 2014, banks must comply with the Social and Environmental Responsibility Policy article 6º, resolution Nº 4.327. One of the initiatives is to control greenhouse emissions by improving business processes, systems, and controls.

A pathway to sustainability is to develop software product using sustainable software engineering practices. The definition of Sustainable Software Engineering [3] is the software code being sustainable and agnostic of purpose. In [4] the software purpose is to support the achievement of sustainability goals, for instance to improve the sustainability of humankind on our planet. We can take this definition forward by defining Sustainable Software Engineering in the way of developing software with these approaches: minimizing the environmental impacts on natural resources [5,6,7,8]; maximizing the social aspects in the local community [9,10,11]; and, changing software economics perspective from expenses to investment, and return on it as valuable and tangible benefits regarding sustainability [12]. In the context of product life cycle management, software is a product when it includes activities like portfolio management, strategy definition, product marketing, product development, development engineering process, sales distribution, and support [13]. From the perspective of Sustainable Software Engineering, the practices can be applied in all phases of software product management.

The primary motivator of this research is the possibility to identify Sustainable Software Engineering practices in a financial company since they are pioneers on the usage of ICT to run their business, they seek for opportunities of reducing costs, investing on social initiatives and technology. According to the scenario and the definitions of Sustainable Software Engineering stated before, the general objective of this work is: to understand how Sustainable Software Engineering practices are applied in Information Technology in the financial sector. Therefore, to investigate how these practices were applied, a case study was conducted in five financial sector organizations. The multiple case studies were composed of field data collection through semi-structured interviews and individual case description, in the light of the analysis, data analysis in aggregate form, outlining the panorama of the sector and extracting the generalizations and conclusions.

The results have shown that these organizations apply practices of sustainability during their software development process and thus in software product management. Using Grounded Theory methods, these practices were categorized to analyze the answers and identify systematic practices also found in the literature. In the end, a set of 80 practices were obtained by this exploratory research and classified into seven categories related to sustainability dimensions, energy consumption, energy efficiency, business process, social responsibility, and sustainability awareness which can be used as a reference of how the organization can implement these practices to manage the software life cycle development as a product.

This paper is structured as follows. Section 1 presented here aims to provide the reader an overview of this research’s objective and motivation. Section 2 describes the literature review available about the topic. In Sect. 3, we report the case studies structure and steps conducted. The case studies results are reported in Sect. 4, and Sect. 5 concludes this work with contributions and future works.

2 Literature Review

Information Communication Technology (ICT) has positives and negatives impacts on the sustainability regarding carbon dioxide gigatons (GtCO2) emissions as reported by SMARTer 2030 Projections [14]. The projection shows that adverse effects are increasing each year; in contrast, the reduction in global emission percentage is perceived as a positive impact. The SMARTer justifies this decrease in footprint due to high investments in the sector [14].

In the book ICT for sustainability [15], it is clearly described and synthesized the dimensions of ICT impacts, order of impacts, and technology activities that lead ICT to be the part of solution, as enabler of sustainability as part of the problem too. In the matrix proposed by [15], the first-order impact considers the “direct environmental effects of the production and use of ICTs”, such as hardware or software life cycle assessment. The second-order impact is described as “indirect environmental impacts through the change of production processes, products, and distribution systems”. The third-order impact is stated as “indirect environmental impacts through impacts on lifestyles and value systems”.

Social, economic, environmental, technical sustainability aspects related to software requirements was proposed by [16] in the form of a survey to identify the contribution of sustainable software requirements to develop software product which is: a) social: data privacy, data access, data integrity, and safety; b) economic: user satisfaction, testability, and freedom from risk; c) environmental: energy consumption, maintainability, and environmental risk mitigation; d) technical: functional correctness, functional appropriateness, availability, interoperability, and reliability.

Many practices applied during software development can be used to determine the sustainability achievements of the software developed [17]. The set of practices related to Software Engineering can be found in the Software Engineering Body of Knowledge [18] and the standard of software development life cycle ISO/IEC/IEEE [19]. Regarding life cycle assessment (LCA), the proposed life cycle sustainability assessment of a product can be adopted during the sustainable software engineering process while developing a software [20], which means that the product life cycle management for a software development is similar in terms of ideation, initial assessment, business case, construction or development, test, release, and business review [21, 22]. Studies related to Sustainable Software Engineering suggest adding or refactoring the best practices and standards proposed and commonly used nowadays to consider sustainability practices during software development, as presented in the systematic mapping of Penzenstadler et al. (2014) [23].

3 Case Study

Due to the research characteristics, the case study method was chosen once it is a research method that investigates contemporary phenomena in any form of data collection [24]. It is possible to develop a theory from multiple case studies by defining research strategies, propositions, or theoretical constructs from empirical evidence [25].

The following steps were carried out: i) definition of research roadmap and protocol; ii) unit of analysis description; iii) propositions review; iv) case study execution in the companies; v) transcriptions of individual’s case; grounded theory; vi) proposition analysis; vii) propositions analysis aggregation; viii) reflection about the scenarios; and ix) generalization and final considerations.

Step i) definition of research roadmap and protocol is composed of research presentation, non-disclosure terms, operational procedures, propositions with the corresponding analysis points, and interview analysis points sent to the organizations. The next stage is the ii) unit of analysis description. According to [26], a unit of analysis is formed by an organization, a person, an event, or any entity as decisions, programs, and processes to implement organizational change as presented in Fig. 1. It describes the object to be studied to identify or describe a phenomenon. We defined the criteria described: a) an organization from the financial sector classified by Banco Central do Brasil as a financial institution taking demand deposits, foreign exchanges banking, and insurance companies [27]; b) have one or more Information Technology areas present in Brazil regardless of being a national or international bank; and c) in this IT area, have people working with software development directly or indirectly hired by the organization.

Fig. 1.
figure 1

Organizations profile

Individually each of the organizations is in accordance with the criteria presented and is part of the Brazilian Financial System. All of them have an information technology area in Brazil that is responsible for its software development.

Regarding the steps of iii) proposition review, to identify how the organizations follow the PRSA in the Information Technology area during the software development, three propositions and thirteen analysis points (AP) were defined and reviewed based on previous systematic literature reviewed [17] results as below:

  • Proposition P1 – Organizational policies driven to sustainability are systematically applied in software development in the financial sector.

    • This proposition was created thinking about the practices found in the literature that could be systematically applied in the organization – following organizational policies or guidelines.

  • Proposition P2 - Sustainable Software Engineering practices are applied in a non-systematic way during software development.

    • In this proposition, we analyze whether there are practices not related to any policies or guidelines defined or determined by the organization. It means a practice adopted because of individuals’ past experiences, seniority, or observation.

  • Proposition P3 - Tools that automatically measure or change the energy consumption of developed software are used.

    • This proposition was created thinking about tools, techniques, or implementation in the source code of an application that automatically change its state when an energy consumption peak is identified.

Once the propositions and analysis points were created based on the systematic literature review results, step iv - case study execution in the companies was executed by scheduling an interview with the selected participants. An authorization to record this interview was signed off. After finishing the interviews, step v - transcription of individual cases - was performed. During this step, the Grounded Theory (GT) research method was applied for each transcript as a mechanism of qualitative data analysis [28]. The first step to be conducted in GT analysis is the open code analysis. The second step is the axial code to identify each code as systematic or non-systematic, helping to answer our propositions. One network for systematic and another for non-systematic was created for each organization. The networks help the researcher identify the relationships and helps to bring to the surface new categories or relate the existing ones.

The third step was part two of axial code, to refine even more the findings, allowing the abstraction of the theoretical concepts found. In this step, practices were classified as new practices when new data not yet listed in the literature was found in the interviews. On the other hand, we named it as existent practices when we found practices from the literature. Moreover, to the networks be understandable for the reader, we preferred to represent the codes with colors and relationship names “is new practices of” and “is a”.

The fourth step is the last part of the analysis and is about finding the connections between new practices and existing practices with analysis points and their concepts. This was done by looking at each network created and marking the findings in a table. This result is detailed in each Organizations’ section about Analysis Points descriptions. The networks are also shown on each Organization section about Network analysis.

For each unit of analyses the step vi - proposition analysis regarding the units of analysis - was conducted, and the data was a) neither non-systematic nor systematic, meaning that nothing was found or referred to this question during the interview and GT analysis; b) non-systematic, meaning that the result found is applied or defined by the employee and is not something that is found in organization policy or guidelines; and c) the result is systematic, meaning that the organization has policies or guidelines about sustainability in any level of organizational planning and software life cycle.

Step vi - proposition analysis aggregation - aimed to analyze the results of all organizations together and report it clearly stating the findings between the organizations.

Regarding steps vii - reflection about the scenarios - and ix - generalization and final considerations – they are presented in the discussion section along with each organization results presentation.

4 Discussion

Table 1 presents the Analysis Points (AP-01 to AP-13) and the related Propositions (P1 to P3) that the AP helps to analyze. For example, AP-01 helps to analyze propositions P1 and P2.

Table 1. Description of analysis point

The networks presented in the next sections were created based on Grounded Theory (GT) open and axial coding steps performed after interview transcription to AtlasTI software tool. For each network, we classified systematic practices (institutionalized), and non-systematic practices (not institutionalized) in the Organizations. The third classification was about the existent practices (from the literature) marked in purple and new practices (discovered in the organizations) marked in green. Due to the quantity of practices discovered in Organization C and E the networks figures were removed from this article and the results were summarized containing the most relevant practices.

4.1 Organization A - Analysis Points Description

In Fig. 2 it is possible to identify four practices discovered in Organization A that are applied in a systematic way. Organization A has guidelines about these practices, noted as purple, categorized into Practices of Sustainability Dimensions which are Internal Communication about Organizational Sustainability (organization raises awareness of individuals about environment protection); and Use of Less Paper (it is possible to identify initiatives of sustainability in the company level). Regarding the new practices, we discovered two practices. One was categorized into Practices of Business Process, and another into Practices of Energy Consumption.

Fig. 2.
figure 2

Organization A network

Even though Organization A has a concern to raise awareness about sustainability to the employees and the customer, confirmed in AP-01, it is not related to the Information Technology area. This is related to the organizational level, and it does not mean that the employee in the IT area check these communications frequently and are aware of this. The concern to inform the customer about adopting sustainability practices is confirmed in a non-systematic way by AP-08. It means that the employees care about its adoption. However, there is no evidence or documents regarding the application, measurement, or quality control by the organization. The same reason to be classified as non-systematic occurs for AP-09.

The AP-13 was confirmed by the new practices found in Organization A about Sustainability as a mean of marketing. In this case, Organization A promotes marketing campaigns regarding using mobile banking without internet connection. Therefore, when we analyzed the practices adopted in IT area that impact software development, we concluded that P1 has non-systematic practices invalidating our assumptions that organization policies are applied systematically in the software development area.

Regarding P2, we concluded that this proposition was valid once non-systematic practices were found (AP-02, AP-03, AP-08, and AP-09). We can also see these practices in the network presented before. It is essential to observe that the interviewee reported two new practices related to end-user energy consumption. They applied it without guidance from the organization and without knowing about Sustainable Software Engineering. Since propositions P1 and P2 complement each other, it is possible to observe the same results of AP-01 and AP-13 reported in proposition P1 previously.

Proposition P3 is about using algorithms, measures of power consumption, and methods that automatically change the application state when there is high energy usage. It was not possible to identify practices related to P3. We concluded that it was not possible to validate Proposition 3 in Organization A.

4.2 Organization B – Analysis Points Description

In Organization B, it was possible to identify five practices applied systematically, as presented in Fig. 3. In this case, we found five existent practices from SLR present in Organization B categorized into Practices of Sustainability Dimension. Two new practices identified in the interview was discovered in Organization B and are categorized into Practices of Sustainability Dimension.

Fig. 3.
figure 3

Organization B network

It was possible to confirm systematic practices in AP-01, AP-05, AP-06, and AP-07 as detailed in the previous section. Organization B presents the sustainability aspects at the organizational strategy level since they raise awareness about sustainability initiatives by emails to the employees and choose a green data center.

If we look at the IT area, the sustainability aspects are adopted as the organization is changing its architecture model to use hybrid mobile development technologies. This decision was based on project costs, short timelines, and available resources that know about the technology used. Therefore, when we analyzed the practices adopted in the IT area that impact software development, we concluded that the organization has systematic practices validating our assumptions that organization policies are applied systematically during software development (P1).

Proposition 2 is related to P1 but tries to find non-systematic practices during the software development. When we looked at the AP’s, we found non-systematic practices in AP-03, AP-08, and AP-09. The critical finding of this P2 is about the new practices, and new category emerged from the interviews. The new category is Practices of Code Improvement, which means implementations to turn the software code more supportable and easier to understand. None of the selected papers from SLR [17] nor the literature review references mentioned those practices discovered in Organization B. It seems evident for everyone working as a programmer that code maintenance, refactoring, and best practices should be applied. However, from the interviewee’s perspectives, even the more experienced one, code improvements are considered a Sustainable Software Engineering practice, and it is crucial for their daily work routine.

The result of P2 is positive since we could find many new practices and existing practices in a non-systematic way and could identify a new category and the understanding from the interviewee who developed the software of Organization B.

Regarding P3, we concluded that Organization B has no measures or tools to identify this information in the application. Even though avoiding building solutions that use too much mobile battery is considered, it does not mean that these solutions are applied automatically without human intervention.

4.3 Organization C - Analysis Points Description

Organization C is the second bank in Brazil in assets, and it has noticeable concerns about social responsibility and sustainability. Since 2008 the bank has created Digital channels like the internet and mobile services. These channels are used by 73% of the customers in contrast with standard channels like ATMs or physical branches (27%). Consequently, the organization has invested millions of dollars in technology and its infrastructure; a new data center was built with many green implementations that had saved tons of water, representing an economy of 300 million dollars. Compared with other sustainability initiatives, the initiative regarding IT is where the most savings happen.

There are twenty-five existent practices discovered in Organization C. From this network, two practices are categorized into Practices of Energy Consumption, an example is “Use of software power metrics like disk hits transaction per second”. Sixteen practices are organized into Practices of Sustainability Dimension one of them is “Communications about green data center and hardware energy efficiency”. The last category is Practices of Evaluating Energy Efficiency with seven practices, for instance the “Use of development best practices to reduce the application size and perform better”.

The systematic new practices are composed of eight new practices. Two of them were categorized into Practices of Sustainability Dimensions one of them is “Sustainability indicators are communicated to employees”; one into Practices of Code Improvement for instance “Code refactoring to enhance application performance”; one into Practices of Energy Consumption which is “Applications automatically change its performance when high CPU process are being used”; two into Practices of Business Process one of them is “Practices of performance are not communicate openly due to market strategy”, and two into Practices of Evaluating Energy Efficiency one of them is “Develop a mobile app that do not require a lot memory our too much hardware processing”.

Analyzing the Organization C profile, we identified that sustainability gains are recognized and are part of its business strategy. The evidence regarding these analysis points is found in Organization C’s annual reports available online to the public and freely confirmed by its employees.

AP-04 was not possible to confirm in its totality since it was not possible to find evidence regarding a survey, model, or guide to identify sustainable software requirements. This is probably because the organization does not know the term “Sustainable Software Engineering” and has never used a model or guideline to apply such an approach. However, isolated evidence of systematic practices was found related to other software development phases, as an example “Sustainability as means of marketing” when the software is released which also contributes positively to confirm P1 from the AP-13 point of view.

Regarding P2 non-systematic practices, the AP-04 was neither non-systematic nor systematic. Therefore, it was not possible to identify guidelines about sustainability requirements. Regarding the remaining analysis points it was possible to find systematic practices mostly. This happens because there is only one new practice related to non-systematic related to Develop a code that is easier for everyone to understand and support.

Regarding the validation of Proposition 3, it is possible to identify systematic practices applied that are variables to support software energy consumption measurements responding to AP-11.

4.4 Organization D - Analysis Points Description

The Central Bank of Brazil identifies organization D as global payments type. The main business stream is credit card processing and services used by other banks and companies worldwide. In Brazil, the IT area has around 200 employees. All the employees working to Organization D are hired through an international company that provides IT services.

In Fig. 4, it is possible to observe the new practices and existing practices applied systematically. In the network, there are two new practices not found in SLR, which were categorized as Practices of Code Improvement. Regarding the existent practices there are six practices. Three of them are categorized into Practices of Sustainability Dimensions and three into Practices of Evaluating Energy Efficiency.

Fig. 4.
figure 4

Organization D network

Only three APs were confirmed in Organization D for Proposition 1. It is possible to find some systematic practices at Strategic and Operational levels. Specifically on strategic level, the practices found are related to organizational aspects and not to the IT area. However, at the operational level, we found practices used during software development. Those practices were discovered at software testing and maintenance phases supporting AP-09. About the software testing, practices discovered were related to quality criteria and software performance evaluation.

For Organization D the software performance is crucial for its business since millions of credit card transactions are made by second. If one fails, it means money and reputational losses. This justifies why the testing area dedicates time and resources to performance testing. However, it is crucial to notice that energy consumption is not monitored nor measured.

Regarding software maintenance, it is possible to see a list of tools used to improve code performance, understanding, and supportability, allowing the programmers to adjust the code immediately. From interviews, it was possible to find the mention of best practices as sustainable software practices. Although there are some analysis points with systematic findings, it is not enough to conclude that P1 was confirmed.

Regarding P2 - Non-systematic Sustainable Software Engineering practices - it is possible to see that we found only systematic practices related to software development (AP-03 and AP-09). Organization D has non-systematic practices; however, it did not support this proposition since we had it only on maintenance phase of software development. The same analysis was made for AP-09, which has non-systematic only on software design. In this case we concluded that P2 was not confirmed.

It was possible to find practices that support software testing and software maintenance; however, they do not perform it automatically. No evidence of energy consumption measure was found on developed software or during the software development. Therefore, P3 was not confirmed in Organization D.

4.5 Organization E - Analysis Points Description

Organization E is identified in the Central Bank of Brazil as a global payment operator and a Fintech offering payment methods services to international companies. A Fintech is an organization that provides parts of bank services. In this case, payment methods. Founded in 2012 to democratize the bank drafts for many international companies, this Fintech has been growing and providing digital services with impressive expansion.

In this Organization six new practices were discovered. Five of them are categorized into Practices of Sustainability Dimensions, one of them is “Use of agile methods allows good requirements specifications”. One is categorized as Practices of Business Process which is “Communication to external client about digital services”; and one is categorized as Practices of Code Improvement which is “Code refactoring to enhance application performance”.

It was possible to find eight existent practices applied in the Organization E in systematic away. Two Practices of Evaluating Energy Efficiency one of them is “Apply performance test prior to production deploy”. Four Practices of Sustainability Dimensions, for instance “Implement non-functional requirements”. Two Practices of Energy Consumption, one of them is “Use of server services to automatically adjust memory and CPU when the application requires”.

The P1 analysis points can be confirmed since practices related to Sustainability are applied in the Organization systematically (AP-05, AP-06, AP-07, AP-09, AP-12, and AP-13).

Some observations around the practices found in this Organization are about the way sustainability is conducted. They know about sustainability, and the employees demonstrate good behavior towards sustainability without the organization asking for it. Therefore, it is something that occurs naturally.

A robust practice related to Sustainability as a means of marketing emerged by the insight of an employee. He sent the information to the customers about the new functionality of scanning the screen rather than printing a paper. This was initially seen as a concern regarding user experience, but they later noticed its sustainability aspect. Therefore, it was possible to conclude that P1 is confirmed in Organization E.

Regarding P2, it is possible to observe only systemized practices related to software development. This is good from the perspective of P1. However, for P2, it means it did not reach the assumption of non-systematic practices been adopted. Therefore, we concluded that P2 was not confirmed.

Proposition 3 seems to be confirmed in Organization E, but it is not fully guaranteed since it did not meet the primordial analysis points AP-10 and AP-11.

4.6 Reflection About the Results

What we concluded about P1, is that some Organizations are more ahead of this time than others. For example, Organization C keeps the IT area informed about all the changes. From interviews, everyone knows about the same topics. Another positive point of Organization C is the sustainability report, which details the actions, CO2 emissions in its operations, and more. Organization B is the second place on this P1 list and mainly because the company’s architecture is working with sustainability practices.

Regarding AP-02, the concepts related to Practices of Sustainability Dimensions considered during software development applied in a non-systematic way were only identified in Organization A, which has many practices not defined by the organization. An example is the “Technical solutions for use less battery and less 3G/4G” that an employee raised.

AP-03 (Practices of Energy Consumption), the second category with more than 70 practices found from the literature [17] returned with one organization as non-systematic and another as neither systematic nor non-systematic.

In Organization C, it was possible to confirm P3 due to the new practice related to AP-11 (application monitoring to identify lazy processes). The interviewee reported that all the applications are monitored regarding performance like CPU usage and memory performance. However, when the application is too slow, they report this to the development team, who investigates the problem presented.

The indicator presented on AP-11 - use of MIPS indicator to identify transaction slowness - applied by Organization C, is commonly used in mainframe servers provided by IBM. In the end, it is only possible to confirm the use and application of this proposition by this Organization only. Although we have confirmed all the propositions on Organization C, the main contribution of this study is to provide a list of sustainability practices that are applied in the industry and/or are proposed in other studies. In addition, some of the practices can be used to identify, implement, and promote the environmental and social responsibility of organizations worldwide.

The intention of AP-13 was to investigate whether the organizations informed your customer about sustainability or received a recognition for developing sustainable software. In this case, it was possible to confirm this finding in Organizations A, C and E. Although none of them has received recognition for it, they shared their initiatives about sustainability to the customer as a means of marketing for their product and organization, therefore it confirms P1.

Regarding the limitation of this study, it is not possible to confirm that all the 80 practices can be applied in any organization since there are some specific practices regarding the software development process. As future work, we intend to measure and check efficiency in terms of the positive and negative impacts of applying these practices during the software life cycle.

5 Conclusion

We reflect on the results returning to the general objective of this work: to understand how Sustainable Software Engineering practices are applied in Information Technology areas of the financial sector. Observing the results presented on each analysis point and proposition, we discovered new practices and existing practices used at all levels of the organizations, not only during the software development. For instance, when we have initiatives of sustainability communicated throughout the organization and naturally adopted by the employees, we recognize the organization is not greenwashing the terms but strongly applying sustainability on a daily basis. Therefore, the results suggest that a smart organization can adopt these practices to support, as an attempt to accomplish, the corporate social responsibility terms during its software development process or software life cycle management.

During the interviews, it was asked what the interviewee knew about sustainability and Sustainable Software Engineering. To our surprise, all interviewees replied what they know about sustainability in general, and all answers were correct. However, about Sustainable Software Engineering, nobody answered as expected. As we progressed through the interview, the employees started understating what Sustainable Software Engineering is, and they could make associations and remember facts from the organization they represented.

Moreover, the financial sector applies some of the Software Engineering practices proposed by this study systematically. The systematic practices are in summary related to organizational process, and just a few of these practices could be applied during the software development. On one hand, we concluded that this observation is typical due to a lack of knowledge about Sustainable Software Engineering that is present even nowadays. On the other hand, Sustainable Software Engineering practices related to business process, sustainability dimensions and energy consumption can support the organizations on their corporate social responsibility agreements and facilitate the adoption of these practices either at the tactical, operational, and strategic level of any product life cycle management.