1. Introduction
A decade ago, software development prioritised the quality and user acceptance of the end product. Essentially, previous parameters, such as functionality, accessibility, security, and scalability are used to evaluate software quality [
1]. Today’s users are referred to the software’s capabilities and usability for long-term operation. This circumstance is consistent with green and sustainable development, ensuring that the software remains valuable and relevant. Software is becoming more widely available and capable of adjusting nearly every area of our personal and work lives. Many applications nowadays necessitate massive and complicated software. The future evolution of software’s relevance and use raises the issue of its environmental impact.
The green software process is essential in supporting ‘greening through IT’ or making societies more environmentally sustainable through IT technology [
2]. It turns out that, in contrast to the hardware components, the software side acquires relevance in research in the framework of ‘Green in IT’, which means to make ICT itself greener and ‘Green via IT’, which explains possibilities to stimulate environmental-friendly movements through ICT. Software is indirectly linked to energy consumption since it drives hardware activity. It has become an essential part of everyday life, and most people cannot survive without software now and in the future. Energy-efficient software is necessary because one of the primary goals of Green IT initiatives is to develop answers to the problem of rising energy usage. To create such software, programmers must understand how it can be done and must have the necessary tools.
The importance of green in software is an application that generates the least amount of waste during development and operation. A previous study found that green software poses minimal direct and indirect harm to the economy, society, humans, and environment due to its growth, deployment, and use, and positive impact on long-term development. Furthermore, producing green software promotes environmental awareness (green by software) and generates less waste during the development cycle [
2]. Thus, software development, operation, and maintenance are handled and managed in an environmentally friendly product. Software engineering methods for development, maintenance, and disposal must be resource-efficient, waste-free, and contribute to long-term development [
3]. Software’s energy efficiency and sustainability are vital parameters for obtaining green software by considering software design that can support a long service life and reuse of components and energy resources [
4].
Based on previous works, green studies concentrated on hardware for energy consumption control, analysis, and monitoring that involved essential hardware components [
5,
6,
7]. Hardware runs software systems that may affect energy consumption [
7]. Carbon emissions from hardware energy consumption can have an environmental impact related to software that indirectly controls computer hardware. As a result, software becomes a factor in achieving environmental sustainability [
8]. At the same time, there is a lack of studies on integration between the dimensions of sustainability and waste reduction [
9]. It is supported by [
10] that green software can be achieved through sustainable development and waste reduction. Current models in the green software process focus more on environmental and economy elements, without incorporating other components of sustainability, such as social and technical [
10,
11].
This study aims to conduct an in-depth qualitative analysis to investigate the best practices and green process factors in collaboration with the software industry in Malaysia. The scope of this study focused on the fundamental software development phases: requirement, design, implementation, and testing. The objectives are: (1) investigate the current practices of the green software process in the industry, (2) identify software process waste, and (3) determine green factors associated with the software process.
This paper presents the qualitative analysis and findings on green software process factors and measures from industrial perspectives. It starts with the background study and related work in
Section 2 and discusses the empirical study in
Section 3.
Section 4 presents the analysis and findings, while
Section 5 elaborates on the result and discussion. This paper concludes with a conclusion in
Section 6.
4. Data Analysis and Findings
The findings from the interviews based on investigation of current practice software process, identification of software waste, and exploring the green software factors are demonstrated in this section. The observation of
Table 3,
Table 4 and
Table 5 shows the interview findings on the software development model used, compliance with process standards, and green practices in specific organisation projects. The data was analysed, and the informants’ frequency of mentioned keywords was counted and shown in the tables.
The finding shows that most organisations still adopt the waterfall model in software development. The model depends on the project and adherence to process standards, such as requirements planning, design analysis, development, implementation, and testing. Organisations do not provide specific practices but indirectly apply certain green techniques in software development. It shows that the software industry is not fully adopting green practices in the software process.
In this study, we asked, “What is the software process model used in software development (Waterfall, Prototyping, Iterative, Spiral or Agile)?”
Table 3 illustrates the informant’s response to the development model practices question. Most of the software development models used are waterfall and agile. It was stated by Informant G “In our development, we often use waterfall and agile models.” “The software process model used is usually Agile, but Waterfall is as the basic” mentioned by informant D. Informant E said, “There are times we use Waterfall software processes, sometimes we use agile. It depends on the time, audience, type of project”.
The question in
Table 4 refers to “Does your organisation have a Standard Operating Procedure (SOP) or standard process? If any, state the standard process.” The primary development process is mainly applied in the organisation based on SDLC activities; as stated by Informant E, “The standard process for our development follows the SDLC as a basis.” Informants F and H indicated that they used and adopted steps according to ISO standards. The interview said, “We follow the development steps in the ISO standard. Start from the requirement, design, implement and follow the flow.”
The question in
Table 5 relates to “Does your organisation implement green practices?” Informant A’s answer stated, “There are no specific guidelines on green practices that we implement.” And this statement was supported by Informant B by saying, “We do paper saving, and it relates to green practices.”
Table 6,
Table 7,
Table 8 and
Table 9 represent the green software process in each of the phases, namely, requirement, design, implementation, and testing. The three primary components of this section have been revealed: best practices, green practices, and software technology. Best practices in the software process breaks down into methods constantly practised by software practitioners, while developing software for each phase. It also aims to streamline the software development process. Green practices reduce the negative impact on the development process that can involve the economic, social, environmental, technical, and individual. It can go through with energy resource reduction, cost savings, paper savings, use of computing technology, and information sharing. Software technology involves using tools or software to accelerate the development process in line with the latest technology and security.
The question of
Table 6 is, “What are the best practices and software technologies used for the requirement phase? Informant C mentioned, “Most of the time we communicate online, we rarely want to meet physically. We use WhatsApp, Zoom, and Google Meet applications. These relate to green practices since we do not use physical transportation.” These arguments relate to green practices in the requirement phase, as shown in
Table 6.
“What are the best practices and software technologies used for the design phase?” is asked, and the analysis is shown in
Table 7. The best practices of design activity refer to “Database must be designed appropriately. If the design is wrong, it will cause a lot of storage usage”, said Informant A.
The implementation phase concerns the use of software technology during the programming stage. Informant G cited, “The framework of PHP is already implemented with security. This framework is used to make it easier and faster for us to create a project. The framework is matured, and we improve and customise it based on our project”. This statement refers to the question in
Table 8, “What are the best practices and software technologies used for the implementation phase?
The best practice in testing is highlighted by Informant D, “Testing phase is asking the users to do the system or software testing. If there are any bugs or errors, we will fix them. There is no implementation of sustainability.” Mostly the informant follows the step of testing, which are UAT, FAT, user feedback, and fixing the error. The question in
Table 9 is, “What are the best practices and software technologies used for the testing phase?”.
The list of software wastes during the software development process for the requirements, implementation, and testing phases was also investigated and surveyed. The result is shown in
Table 10. The identified wastes from the literature review are building wrong product/features, reworking unnecessary complex work, extraneous cognitive overload, waiting, knowledge loss, and ineffective communication [
72]. This survey has revealed there is no waste identified in the design phase. Meanwhile, the new waste discovered in this study is delayed.
The question related to
Table 10 is, “What is the software waste that exists during the software development process in your organisation based on the following activities for requirement, design, implementation, and testing?”. The informant’s answers to software waste are stated in
Table 10. Building the wrong features is a software waste that Informant B said: “When we collect requirements and they are incorrect, the change needs to be handled and this causes us to re-evaluate our specifications. It affects in terms of costing, resources, and man-days”. Conversely, Informant C stated, “We always wait for user feedback after testing has been done. We normally give the users two weeks, but sometimes it is up to two months longer.”
In this survey interview, informants were asked, “How to solve the waste in the software process?” The revealed solutions for the waste are shown in
Table 11. Informant H said, “Waste that occurs in development must be resolved. The best way is to implement best practices from the beginning of development.” The solution for software waste that occurs is by solving the problem at a rapid rate. In addition, developing SOPs is required so establish procedures can carry out development work. Task management must also be given attention so that every software developer can carry out tasks well.
In this interview protocol, informants were asked their opinions about green factors related to the software process, measurement, and metrics.
Table 12 shows the green practices that apply by organisations to ensure the software development runs efficiently and saves time. These findings are associated with the green factor Resource. Resources are identified by cost reduction, computer and ICT tool usage, paper usage, 3R practices, and cloud computing.
The first question related to
Table 12 are (1) “Do you take into account the aspect of cost reduction during the software development process, such as energy consumption of computers and ICT equipment, the use of paper, and 3R practice (Reduce, Reuse, Recycle)?”. It answered by Informant C “We can use a lot of open-source software during development to cut the cost of buying a license if we have enough expertise in this technology.” Informant F indicated, “We use a virtual machine server to change the previous physical server. So that we can save the server storage space.”
The second question related to
Table 12 is the following. (2) “Do you use cloud computing for development process work? What is the percentage (%) of the usage?” One of the informants, Informant D, said, “We fully use cloud computing to store the document, share the document to other teams. It useful and easy to manage it”.
Human resources is referred to as the well-being of human beings as individuals. These include mental and physical well-being, education, self-esteem, and skills.
Table 13 presents the green factor and measurement for people in terms of human resource development, the health of software developers, the role of the software development group, work satisfaction, and green practices among software developers. The team’s positive attitude and pleasure in their work show the highest frequency and is considered the vital measurement that supports the green factor for humans.
Questions of
Table 13 are as follows: (1) “Does your organisation have initiatives to improve human resource development among software developers?” Informant C mentioned, “Training open source is good for the developer to improve or enhance your skill and knowledge about technology.” (2) “In your opinion, are the software development procedures disruptive and affect the health of software developers? If any, state it.” Informant H said, “We, the developer, got stressed due to a lot of additional work other than software development. Manpower also limited”.
(3) “What are the important roles to have in a software development team?” (4) “Are you as a software developer satisfied with the work produced?” and (5) “How are green practices implemented in software developers in your organisation?” Informant E stated, “Most development works are not using the hard papers but just softcopy and through email or shared in the drive.”
An informant offered an example of green practice awareness in an organisation, “Some are involved in open-source campaigns that are related to the green. It has the potential to save cost and time. “We have participated in a government or corporate event to encourage the usage of open-source software” by Informant C.
Table 14 indicates the green factor and measurement for an organisation based on the application of green practices, green practices awareness, stakeholder involvement in green development aspects, investment through developed software, and sharing of knowledge.
Questions on green organisational factors include (1) “How can green and sustainable software development process impact organisations?” Informant F agreed, “When we apply the green practice indirectly, the works become more manageable and systematic.”
The second question (2) “Has your organisation held or attended a campaign to improve awareness of software developers about the importance of green development practices?” (3) “Does the project in your organisation involve stakeholders, such as top management and system users in software development?”. Informant B mentioned that “Yes, most of the software that we develop involve the stakeholder like system users, top management, and so on.” (4) “Do you have plans to make software for a long-term investment with stakeholders?” Informant C stated that “We already generate income for our organisation through this software development.”
Depending on the type of change, all informants considered that system changes without affecting the system’s workflow.
Table 15 shows the green factor and measurement for technical related to the software’s ability to recover from failure, requirement changes in software, conditional changes, additions and modifications to system functions, the operating of software, hardware, and operating system or support system changes.
Technical questions in the green factor are shown as (1) “How do you overcome the situation when there is a software failure?” Informant A stated, “When software fails, it must be fixed and depend on the problem.” (2) “Is the software in your organisation easy to adapt to changes in the future, such as the addition and modification of software functions?” Informant E mentioned, “System must be designed as flexibility so that it is easy to modify or changes in future”. (3) “How do you expect your software able to be used in 5–10 years?” and (4) “Is your software adaptable in different operating environments for the operating system, hardware, and support system changes?” Informant C said, “Some systems still difficult to integrate with other systems depend on their capabilities and functionalities.”
Environmental green factors focus on conservation by minimising harmful impacts on the environment. It also considers the management of e-waste regarding unused hardware and old software. All informants agreed that IT activities are environmentally friendly and do not affect the environment.
Table 16 shows the green factor and environmental measurement in digital platforms, environmental greenery support, e-waste principles and regulations, environmental impact from IT activities, and information gathering process.
The questions of green factors by environmental in
Table 16 are as presented (1) “Do you use a video conference system or teleconferencing during the process of software development?” (2) “How do software developers in your organisation support greening?” Informant F said, “During the pandemic, we use online communication to organise meetings even though it takes a long time to adapt to the new situation” (3) “Do you think the software development and maintenance process can affect the environment?”. Informant D thought that “Software development did not harm the environment unless if any carbon dioxide emission” and (4) “Are there any e-waste policies or regulations in the organisation? If Yes, do you have any knowledge of the matter?”. Informant E stated, “Usually, we apply e-waste management to handle the hardware, such as old computers, unused servers, and hard disks.”
The question in
Table 17 is, “Do you know there are other factors that can contribute to green practices in software development?”. Informants D, F, and G agree that no new factors from the green software process perspective are currently needed, and the existing factors from the literature review are adequate and significant.
Table 17 presents the other green factors and measurements that influence the software process by informants. Political and cultural factors are selected as elements in organisational factors, whereas technology is identified as an essential factor in the green software process.
Technology factors are considered necessary in software development due to the rapidity of software technology [
73]. It is proved by programming languages and the selection of development tools, as shown in
Table 18. Computing technology is also essential as a storage place for information and data. In addition, communication media are becoming increasingly popular because it makes it easier for developers to communicate with other developers in carrying out development work.