0% found this document useful (0 votes)
59 views41 pages

Sustainable Software Development

This document summarizes a research paper on identifying methods to improve the sustainability of software development processes like Scrum and Kanban. The research included a literature review identifying sustainability guidelines and criteria. Interviews with developers explored how sustainably they work and opportunities for improvement. The analysis resulted in a taxonomy of attributes for each development phase and recommended best practices to integrate sustainability into planning and development, like using renewable energy and prioritizing reusable code.

Uploaded by

hijabhassan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
59 views41 pages

Sustainable Software Development

This document summarizes a research paper on identifying methods to improve the sustainability of software development processes like Scrum and Kanban. The research included a literature review identifying sustainability guidelines and criteria. Interviews with developers explored how sustainably they work and opportunities for improvement. The analysis resulted in a taxonomy of attributes for each development phase and recommended best practices to integrate sustainability into planning and development, like using renewable energy and prioritizing reusable code.

Uploaded by

hijabhassan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 41

SUSTAINABLE SOFTWARE

DEVELOPMENT
– CRITERIA FROM THEORY AND THEIR USE
IN PRACTICE
Kandidatuppsats i Informatik

Ishtar Starxin

VT 2019KANI41
Svensk titel: Hållbar Mjukvaruutveckling – Kriterier från Teori och deras Användning i
Praktiken

Engelsk titel: Sustainable Software Development – Criteria from Theory and Their Use in
Practice

Utgivningsår: 2020

Författare: Ishtar Starxin

Handledare: Anders Hjälmarsson Jordanius

Abstract

The need for software continues to grow exponentially within every aspect of our society and
the demand for intricate software solutions have led to many attempts at improving the
development of software. In this overwhelming wave of the positive impact of software on the
world, it is easy to dismiss the negative effects software has on the environment. The effects of
climate change are becoming more evident day by day and it is crucial to learn the impact of
software, and particularly the development of software, on the environment and through which
means it can be mitigated.

This research paper aims at identifying methods and practices that can be used to improve
existing software development methodologies with regards to sustainability. The software
development processes in question are Scrum and Kanban.

The research is done over two phases, the first of which is a literature review that is aimed at
identifying existing solutions and guidelines for ensuring sustainability within software
development. The second is a set of interviews with developers and managers that work with
Scrum and Kanban on daily bases in order to collect information regarding how sustainable
their ways of software development are and how they can be improved.

The analysis of the literature review resulted in a taxonomy or a classification of a set of


attributes that are recommended to be taken into account during the various phases of software
development. These attributes, and in combination with the results of the interviews, yielded a
recommended set of best practices that can be used to improve the planning and development
phases of software both in Scrum and Kanban with regards to sustainability.

Keywords: Sustainability, Software Development Processes, Agile, Scrum, Kanban, Green


IT, Green IS.

I
Sammanfattning
Behovet av mjukvara fortsätter att växa exponentiellt inom alla delar av vårt samhälle, och
efterfrågan på komplicerade mjukvarulösningar har lett till många försök att förbättra
mjukvaruutveckling. I denna överväldigande våg av programvarans positiva påverkan på
världen, är det lätt att bortse från de negativa effekterna programvaran har på miljön. Effekterna
av klimatförändringar blir tydligare dag efter dag och det är avgörande att lära sig effekterna av
mjukvara, och särskilt utvecklingen av mjukvara, på miljön och på vilket sätt det kan mildras.

Detta forskningsdokument syftar till att identifiera olika metoder som kan användas för att
förbättra befintliga mjukvaruutvecklingsmetoder med avseende på hållbarhet. De
mjukvaruutvecklingsprocesserna i fråga är Scrum och Kanban.

Forskningen görs över två faser, varav den första är en litteraturstudie som syftar till att
identifiera befintliga lösningar och riktlinjer för att säkerställa hållbarhet inom
mjukvaruutveckling. Den andra är en uppsättning intervjuer med utvecklare och chefer som
arbetar med Scrum och Kanban dagligen för att samla in information om hur hållbara deras sätt
att utveckla mjukvara är och hur de kan förbättras.

Analysen av litteraturstudien resulterade i en taxonomi eller en klassificering av en uppsättning


attribut som rekommenderas att beaktas under de olika faser av mjukvaruutveckling. Dessa
attribut och i kombination med resultaten från intervjuerna gav en rekommenderad uppsättning
bästa praxis som kan användas för att förbättra planerings- och utvecklingsfaserna för
programvara både i Scrum och Kanban när det gäller hållbarhet.

Nyckelord: Hållbarhet, Grön IT, Grön IS, Mjukvaruutvecklingsprocesser, Agil, Scrum,


Kanban.

II
Table of Contents
1.1 Problem Formulation ......................................................................................................... - 1 -
1.2 Research Questions ............................................................................................................ - 2 -
1.3 Research Goals................................................................................................................... - 2 -
1.4 Significance of Study ......................................................................................................... - 2 -
1.5 Impact of Study .................................................................................................................. - 3 -
2.1 Sustainability...................................................................................................................... - 4 -
2.1.1 Green IT......................................................................................................................... - 4 -
2.1.2 Green IS ......................................................................................................................... - 5 -
2.2 Software Development Processes ...................................................................................... - 5 -
3.1 Research Methodology ...................................................................................................... - 8 -
3.2 Research Approach ............................................................................................................ - 8 -
3.3 Literature Review Process ................................................................................................. - 8 -
3.3.1 Data Sources .................................................................................................................. - 9 -
3.3.2 Search Strategy .............................................................................................................. - 9 -
3.3.3 Inclusion Criteria ......................................................................................................... - 10 -
3.3.4 Data Extraction ............................................................................................................ - 10 -
3.3.5 Data Analysis and Storage ........................................................................................... - 10 -
3.4 Conducting Interviews ..................................................................................................... - 11 -
3.4.1 Technical Aspects ........................................................................................................ - 11 -
3.4.2 Criteria for Company Inclusion ................................................................................... - 11 -
3.4.3 Target Group................................................................................................................ - 12 -
3.4.4 Guidelines for Interview Questions ............................................................................. - 12 -
3.4.5 Pilot Interview ............................................................................................................. - 13 -
3.4.6 Interview Respondents ................................................................................................ - 13 -
3.4.7 Data Collection ............................................................................................................ - 14 -
3.5 Combining the Results ..................................................................................................... - 14 -
3.6 Result Presentation........................................................................................................... - 15 -
4.1 Empirical Results of the Literature Review ..................................................................... - 16 -
4.1.1 The GREENSOFT Model............................................................................................ - 16 -
4.1.2 Software Sustainability Metrics ................................................................................... - 17 -
4.1.3 ISO/IEC 25010 ............................................................................................................ - 17 -
4.1.4 ISO/IEC 25010 ............................................................................................................ - 17 -
4.1.5 Quality Aspects in Model Driven Software Engineering (MDSE) ............................. - 18 -
4.2 Analysis of the Literature Review Results ....................................................................... - 19 -
4.3 Results of the Interviews .................................................................................................. - 21 -
4.4 Analysis of the interview results ...................................................................................... - 23 -
4.5 Discussion ........................................................................................................................ - 25 -
4.6 Recommended Practices for Agile Software Development ............................................. - 26 -
4.6.1 Planning Phase............................................................................................................. - 26 -
4.6.2 Development Phase ..................................................................................................... - 27 -
5.1 Threats to Literature Review Process .............................................................................. - 29 -
5.2 Threats to Interview ......................................................................................................... - 29 -
5.3 Threats to Data ................................................................................................................. - 29 -
5.4 Threats to Results ............................................................................................................. - 29 -
6.1 Future Work ..................................................................................................................... - 30 -
8.1 Appendix 1 – Interview Questions................................................................................... - 35 -

III
1 Introduction
Climate change has been a recurring topic in various aspects of life. No day goes by without
news regarding how climate change is impacting life in all its forms. It is affecting all life on
the planet including all living creatures and even air, water, and land. The reasons why climate
change is a growing issue is long, and several of these reasons are related to how humans are
living their lives, indulging in the different delights offered by the planet's resources. One of
these delights is information technology (IT) in all its varieties, from companies’ servers and
clouds to private individuals’ smartphones.

No one can deny the impact of IT on the world. It made things people thought impossible,
possible, easily and inexpensively. Everything is being digitalized constantly. The typing
machine of the past is now part of almost every electronic device and physical shops are slowly
being replaced by online shops. While humans are making great progress on every level thanks
to IT, the cost of this progress is the planet itself, and if they do not change their ways of
manufacturing, using and disposing of these electronic devices, they might cease to exist
altogether.

IT has long been seen as a factor that contributed to the deterioration of the environment since
it requires resources for hardware manufacturing, emits heat during usage and adds to the
growing problem of electronic waste (E-waste) contaminating the environment. However, in
recent years, there has been an awareness regarding IT’s different functions (Piccoli 2008) and
how IT can be used to enable sustainable processes, services, and products (Melville 2010).

One of the attempts to make IT more environmentally friendly, or greening IT, is the green
movement within the business sector (Molla, Cooper, Corbitt, Deng, Peszynski, Pittayachawan,
and Teoh 2008). Green IT and Green information systems (IS) focus on energy equipment
utilization of IT, energy efficiency as well as design and implementation of IS (Watson,
Boudreau, & Chen 2010). An important part that plays a big role in IT and IS is software
development processes, that is, the design and implementation mentioned as part of Green IT
and Green IS. There are diverse ways to develop software from a simple thought to a complete
product. This paper will focus on agile software development, more specifically, Scrum and
Kanban and how they can be improved to take sustainability into account when designing and
developing software.

1.1 Problem Formulation


The number of software produced is growing exponentially with more companies and
organizations around the world, turning to IT solutions in order to optimize their work
processes. While IT, in general, has a negative impact on the environment, from development
to usage and e-waste, sustainable methods are required to increase awareness of the
environmental effects of IT. Thus, leading to new or improved methods for developing and
using software.

To understand the importance of software development for the software industry and its effect
on the environment, Iacoban (2004) states that developing a single software needs about “7
person-years of effort”, and with the industry's 7 million developers, there is a release of about
1 million software per year. Evidently, this is guaranteed to have a major effect on the
environment considering the heat emission, electricity consumption, and e-waste generation
during that period. Therefore, the software development industry needs to optimize software
development processes in the near future since it is responsible for environmental degradation.
1.2 Research Questions
Based on the problem formulation, the paper thus intends to establish an answer to the following
questions:

a. What kind of methods and techniques are being used to account for sustainability
within software development?

b. How can we improve agile development methodologies with regards to


sustainability?

These questions will be answered through a combination of a literature review and interviews
with companies. The literature review will be used mainly for answering the first question and
will help in creating the questions that will be used for the interviews. The combination of the
two methods is used to establish an answer to the second question.

1.3 Research Goals


The purpose of this research is to identify the most important aspects that should be taken into
account throughout the various phases of software development. This will be accomplished by
achieving the following goals:

• Explore and identify existing research about general criteria that can be used for
improving agile development processes with regards to sustainability.
• Utilize the results of the literature review in order to create a list of questions that can
be used for the interviews.
• Set up a number of interviews with development teams from various software
development industries.
• Analyze the results of the interviews in order to extract a list of the most important
criteria that should be used in software development.
• Based on the criteria, create a list of recommended practices that can be used to improve
the agile development processes.

The literature review and the number of interviews that are conducted are dependent on the time
frame of the thesis.

1.4 Significance of Study


The topic of sustainable software has been approached in the past by various researchers within
the field of IT. One such research is by Naumann, Dick, Kern and Johann (2011) where they
tried to define green software and created the GREENSOFT model to be used as a reference
model for green software development from the beginning to the end of the process
development lifecycle. The GREENSOFT includes “structure concepts, strategies, activities,
and processes of Green IT” (Naumann et al. 2011). The model also includes a roadmap as to
how future development will be executed in regard to sustainability.

Another research that addresses IS and sustainability is that of Watson et al. (2010) where the
researchers mentioned how environmental sustainability, while an urgent issue, is still not
receiving enough recognition from the IS community. Therefore, their goal was to engage IS
educators, researchers and association leaders in developing Green IS. They chose to focus on
energy consumption and proposed establishing a subfield of energy informatics, where IS skills
apply to reduce energy consumption. The researchers also laid a groundwork for IS scholars to
integrate sustainability as a fundamental aspect when teaching IS development. Finally, they
aimed for IS leaders to adopt environmental sustainability as a core principle and advocated
changes that can help reduce the negative environmental effects of IS.

Furthermore, in an interview with Steve Raspudic, a manager and deployment and provisioning
architect at IBM Canada, by Bener and Miranskyy (2014), Raspudic discussed how Software
developers can incorporate green software development practices. Raspudic (2014) stated that
although developers are aware of the effect of IT on the environment, which is why they are
using hardware in the most efficient way they can find; they still do not have any active action
plans when it comes to software development. He also believes that this area has not been
explored correctly thus far and to make sustainability a norm in software development, a
standard must be implemented, otherwise, Green IS will never exceed the scope of separate
individuals who only focus on developing efficient software to reduce energy consumption.
Raspudic (2014) suggests that the only way to promote Green IS is to make it attractive to
business leaders, that is, have a clear advantage for the business. He continues to highlight the
importance of sustainability during the design phase and that it should be a normal consideration
for those who want more efficient software. Raspudic (2014) explains that efficient software is
as good as the algorithms used are and that the goal should be to have the software run fast with
minimum hardware requirements. He mentions that efficient software can mean lower costs
since it consumes less energy and requires less powerful software, but consumers do not usually
concern themselves with efficient software as much as they concentrate on lower costs which
do not always mean a green design.

Finally, a research paper by Dick, Drangmeister, Kern & Naumann (2013) examines the
increasing energy consumption of information and communication technology (ICT). They rate
the impact of ICT using carbon footprint. They present a method to calculate the carbon
footprint over a software’s life cycle. They also suggest ways to integrate carbon footprint
measurement strategies in software development processes. They introduce impacts and tools
regarding carbon footprint calculation to be able to show how software development processes
can become more sustainable.

The purpose of this paper is to continue previous research within the area of software
development processes and sustainability by finding a set of applicable criteria for agile
software development, mainly scrum and Kanban. Unlike previous research, these criteria
intend to not only affect energy consumption and Carbon dioxide emission but also how
sustainability can be incorporated in scrum and Kanban activities to create a culture where
sustainability is the norm.

1.5 Impact of Study


A solution to the problem of minimizing the effect of product development on the environment
is very much in demand and is being researched very extensively within academia. However,
minimizing the impact of software development on the environment is getting little if no
attention, especially within the industry.
That being said, solving such a problem within the span of a bachelor’s thesis is not feasible,
as this is one of the hardest problems that requires a great deal of time and effort in order to
resolve, and even then, there might be no one ideal solution to the problem.
Thus, the intention of this thesis is not to solve the problem of software development’s impact
on the environment, but rather to come up with a set of criteria, and a set of practices or
recommendations that can be utilized to improve the existing agile software development
methodologies within the industry.
The results of this paper are intended to be of some useful value to both academia as well as the
industry. From the point of view of the industry, the set of criteria and practices that result from
this thesis are applicable for both small scale companies and independent developers, as well
as large scale corporations. They are also applicable to the various fields of software
engineering and development, and since they are not very complicated or expensive to use, the
cost of using them would be considerably cheap, given the possible results that could arise from
utilizing them.

From an academic point of view the results of this thesis can be used to expand on existing
research within academia for improving agile software development processes, particularly
Scrum and Kanban, and possibly other processes.

2 Theory
This chapter aims to explain the terminology used in sustainability within software
development. It should give the reader an explanation of what these different terms mean and
how they relate to each other, as well as sustainable software development.

2.1 Sustainability
Sustainability is a simple, self-explanatory word and it means “The ability to be maintained at
a certain rate or level” (Sustainability n.d). There are several types of sustainability such as
environmental and development sustainability. Environmental sustainability aims to preserve a
planet where all living beings can thrive in water, air and on land (Leemans & Solecki 2013).
There have been attempts in many fields to work towards environmental sustainability from
different perspectives and using a variety of approaches depending on the field. IT is no
different than any other field in striving to achieve environmental sustainability, especially
considering the unfavorable impact of IT on the environment as mentioned before. While IT
has been associated with negative environmental effects, it still has the potential to assist
different fields into becoming more environmentally sustainable (Piccoli 2008), but a good start
can be by making IT itself Green, which is where Green IT and Green IS come forth.

2.1.1 Green IT
As mentioned before, Green IT is a recent addition to the green movement, and while it has
been surfacing in several papers and conversations in the IT world, it still lacks a clear
explanation as to what is actually meant by it (Molla et al. 2008). Some believe Green IT to be
related to an economic concern (Schmidt, Cruz & Iyengar 2005), an environmental concern
(Green, Morton & New 1996), a social concern (Galtung 1986), a strategic differentiator (Porter
and Van der Linde 1995) and an enabler of other green initiatives (Jones & Mingay 2008).
Molla et al. (2018) believe green It to be an approach that is both systematic and holistic that
focuses on the issues surrounding the IT infrastructure such as energy efficiency and data center
space as well as IT’s contribution to improve businesses and their effect on the environment,
IT’s support for sustainable business practices, and the role of IT in low-carbon economy.

To understand what Green IT is and how it affects the environment and corporation, one can
study a corporation’s costs. According to Rasmussen (2006), electricity costs make a
considerable portion of the costs of running a data center. Green It is expected to help
corporations reduce energy costs and it is also expected to support businesses in enabling
sustainability initiatives such as creating analytical tools and IS that can manage carbon
emission. Equally, Green It will make business practices, such as meetings and information
sharing more environmentally friendly by using online platforms (Jones & Mingay 2008).

To summarize the different research papers, Green IT utilizes all the benefits IT has to offer in
order to make work practices more environmentally sustainable. It does not stop there, however,
because it focuses on improving the way software is developed, used, reused and even includes
hardware and how it is disposed of at the end of its lifecycle.

2.1.2 Green IS
While green IT focuses on the entire IT field, Green IS are specifically the systems being
developed as part of Green IT. Green IS means to develop new and dedicated systems to solve
current business and social issues (Gregor & Jones 2007) through utilizing IT infrastructure to
alter organizational processes and practices to better energy efficiency, reduce environmental
effects and present “environmentally healthy products and services” (Brooks, Wang, & Sarker,
2012).

For a long time, IS have been classified as a key enabler for leading companies and societies
towards environmental sustainability (Elliot 2001). Other expectations of Green IS include
having an effect on individual fundamentals regarding environmental sustainability (Melville
2010), facilitate sustainable work practices by virtualization and remote work (Bose and Luo
2011), facilitate organizations to meet compliance mandate and social norms (Butler 2011) and
use Business intelligence systems to supply environmental data to assist sensemaking or
decision-making processes (Seidel et al. 2013).

2.2 Software Development Processes


As the name states, software development processes are methods to accomplish software
projects, from initiation to a finished product. Software development processes have an
extensive effect on the quality of the software developed and the output attained in the project,
hence, there is a constant need to evaluate the development processes used for completing
software projects and improving them (Iacoban 2004).

Software is growing more complex by the day, which is why software development processes
need to meet up this complexity using a set of tools to help manage and speed up the
development processes. Some examples of these tools are an integrated development
environment, a system that controls the different versions of the software being developed,
including all files and their editors, an issue tracker that consists of a list of all comments
available for a specific issue, an integration framework and a system that can manage all
documents related to the developed software (Wendel, Kunde & Schreiber 2010).

Agile development processes are software development processes that emerged after the
articulation of the agile manifesto in 2001 (The Agile Manifesto 2001). At the time, they were
met by a series of speculation and skepticism from different communities within the It field.
These development processes revolve around the agile principles stated in the agile manifesto
(The Agile Manifesto 2001). These principles emphasize people and the interaction between
people in the development processes over traditional processes and tools, software that works
over extensive documentation, a collaboration between the development team and the
customers rather than negotiations in contracts, and finally the ability to adapt to changes during
the development processes instead of following long term plans. According to the Agile
Manifesto (2001), these principles are supposed to make software development easy and
flexible for everyone.
An example of agile software development processes is Scrum. Scrum consists of a scrum team,
which include the development team members, who develop the product, a scrum master, who
coaches the team and keeps the client from requesting new changes during the sprint, and the
product owner, representing the client (Moe, Dingsøyr & Dybå 2010). Rising and Janoff (2000)
explain the processes of Scrum as a process for small teams that consist of a series of iterations,
called sprints. The researchers continue to clarify that the scrum team has authority and
responsibility over their work. The team is responsible for planning the assignments and they
can decide on how their work should be done. The image below in Figure (1) displays the cycle
of the scrum process (Scrum.org, 2019).

Figure 1. The Scrum Framework

One more agile software development process is Kanban which is shown in Figure (2.a). Unlike
scrum, Kanban does not have iterations, but is made up of a continuous workflow structure,
keeping the teams active and ready for new requests or changes from the client (Esparrago
1988). The tasks, listed as cards on a board, known as the Kanban board, are moved between
different stages. The stages are represented as columns and they are usually categorized into 5
categories: (To Do, In Progress, In Review, Blocked, and Done).

There are no defined roles in Kanban teams. Instead, each member of the team has the
responsibility of managing and delivering tasks. Figure (3.a) shows the Kanban board where
tasks are sorted to reflect the daily ways of working of the process.
Figure 2.a The Kanban Framework

Figure 2.b Kanban Way of Working


3 Approach
This chapter discusses the details of the approach that the thesis follows. The chapter goes
through a number of important points such as the research methodology, as well as the process
through which the literature review and interviews were carried out.

3.1 Research Methodology


Based on the research questions and the nature of the research goals, and since the purpose of
the study is to create a service that builds on existing artifacts, the most suitable choice of a
research methodology for this thesis is a design research (Collins, Joseph & Bielaczyc 2004)
and (Vaishnavi & Kuechler 2015). The choice was made since the research is a combination of
a literature review and a set of interviews that will be utilized in order to establish a set of
criteria and practices that can be used for improving existing agile development processes.
There are a number of other viable research methods, such as an action research (Avison, Lau,
Myers, & Nielsen 1999) as well as case study (Mills, Durepos & Wiebe 2010), however the
former is done over an extended period of time that is not applicable to the time frame of this
thesis, and the latter is focused on one particular use case that would be too narrow for the
purpose of this research.

It is important to note that this thesis does not follow the rules of design research to the letter,
as the goal is to extrapolate the most useful elements of this methodology and apply it to this
thesis, thus the research can be considered similar to, or based on design research.

3.2 Research Approach


The research is divided into a number of phases. The first phase of the research is the planning
phase, which involves all necessary preparations to the thesis, such as writing a thesis proposal,
a description of the problem along with research questions, and then having the proposal
approved, getting assigned a supervisor. The phase also includes a bit of a study over related
work in order to establish a research gap that the thesis is trying to fulfill.

The next phase is a planning phase that is done in order to create a plan for the thesis to be done,
this includes looking for an appropriate research methodology, along with setting up the various
objectives and milestones of the thesis.

The next phase is the literature review, which is described in detail in the next section. The
results of the literature review will help in creating the questions that will be used for the next
phase, conducting interviews, the results of which will be analyzed alongside the literature
review results in order to come up with a set of criteria and practices that can be used for
improving the agile software development processes (Scrum and Kanban). Thus, the results of
the literature review, interviews, and the set of criteria and practices will be the results of this
thesis.

The final phases of the thesis include writing the research paper, conducting a presentation and
a defense, and submitting a camera-ready version for the examiner.

3.3 Literature Review Process


This section discusses in detail the process through which the literature review was carried out.
3.3.1 Data Sources
The goal of the literature review is to find as many primary studies that are linked to
sustainability within software development as possible. In order to have a structured process of
data collection, there needs to be a number of reliable sources where research papers can be
gathered (Booth, Papaioannou, & Sutton 2012).
The main data sources which were used for the search process include the following libraries:

• ACM
• AIS E-Library
• ArXiV
• CiteSeerX
• Digital Library
• DOAJ
• IEEE Xplore
• Inspect
• Springer

All of the above libraries are accessible online through Google Scholar and other search
engines. Those libraries are well known and are some of the most reliable sources of
information with regards to the fields of information technology, computer science as well as
software development and sustainability. They contain some of the oldest as well as the latest
publications and their content are regularly maintained.

3.3.2 Search Strategy


Searching through the above libraries meant going through a very large number of research
papers, which would take a considerable amount of time. In order to cut this time short, an
efficient method of searching had to be used.
One of the many benefits of using smart search engines such as Google Scholar to access the
above libraries, is that it is possible to set up a number of customizable search strings that can
be combined with each other in order to limit the number of resulting papers.
The search queries combine a number of keywords that are directly related to the subject matter
of this thesis, that is, sustainability as well agile software development processes. It is also
important to combine these keywords using Boolean statements such as (AND, OR) in order to
filter out unrelated papers (Booth, Papaioannou, & Sutton 2012). Based on all of this, the
following search strings were formulated and used for the search:

• Agile OR AGILE SOFTWARE DEVELOPMENT AND Sustainability.


• Agile OR AGILE SOFTWARE DEVELOPMENT AND Sustainability.
• Agile OR AGILE SOFTWARE DEVELOPMENT AND Green IT.
• Agile OR AGILE SOFTWARE DEVELOPMENT AND Green IS.
• SCRUM OR KANBAN AND Sustainability.
• SCRUM OR KANBAN AND Green IT.
• SCRUM OR KANBAN AND Green IS.

There were other search queries that were used in the search process; however, the above strings
were the ones that yielded the most useful and related results.
3.3.3 Inclusion Criteria
The search strings were used in all data sources that were mentioned above and yielded almost
identical results with slight variations from one library to the other. However, the number of
resulting papers was still too large to be handled throughout this brief literature review process.
In order to further limit the number of resulting papers and articles, a number of inclusion
criteria were set out to exclude papers that are not relevant to the study (Booth, Papaioannou,
& Sutton 2012). The criteria state that the paper must:

• Be specifically about agile software development processes with regards to


sustainability, green IT or green IS.
• Be written in English and is peer reviewed.
• Be no older than 25 years old.
• Contain a set of criteria or practices that are related to sustainability, green IT or green
IS.

All papers that did not match one of the above criteria was excluded, thus severely limiting the
resulting number of relevant papers.

3.3.4 Data Extraction


Data extraction involves the process of going through each paper that was found through the
search process and extracting relevant and useful information that can be used for the next phase
of the research (Booth, Papaioannou, & Sutton 2012). Thus, each paper will be analyzed and
summarized into what will later become the result of the literature review process. The
extraction process is done as follows:

• Going over the research paper’s abstract as well as the introduction, to establish an
overview of the paper.
• Identifying the problem that the paper is attempting to resolve.
• Establishing the method by which the paper is attempting to resolve the problem.
• Understanding the results and conclusions of the paper.
• Establishing the level of relevance of that paper to the subject of software process
improvement with regards to sustainability.

The above steps are done for each paper, for as long as the time span of the phase allows.

3.3.5 Data Analysis and Storage


The data that has been gathered thus far is analyzed using a method known as the thematic
analysis (Guest, Macqueen & Namey 2011). This method is useful because it can be used to go
over multiple documents or sources of data in order to find specific patterns that are being
searched for. In this case the pattern is the set of criteria that can be used for improving software
development processes. The analyzed data for each paper is stored in documents locally, where
the process of the storage includes, creating a document for each paper, which contains:

• A brief description of the problem the paper is attempting to resolve.


• An abstraction of the method by which it attempted to resolve the problem.
• A summary of its results, discussion and conclusion.
• A set of criteria for improving software processes with regards to sustainability.
• Personal reflection on what important aspects that were extracted from the paper which
will be used in the next phase of the study.
Ideally, the set of criteria will be the same for all the papers, however that is rarely the case for
any problem in academia. Thus, depending on the number of extracted criteria, there is the
possibility of creating groups of criteria that share common characteristics, along with some
value that represents their importance to the software development process in terms of
sustainability.

3.4 Conducting Interviews


The next phase of the study involves conducting a set of interviews with people from various
software development industries, in order to establish industry specific values with regards to
sustainability. The phase involves utilizing the data that was extracted from the literature review
phase in order to help with creating a list of generic questions that are used for the interviews.

The data that is gathered from these interviews will provide the study with valuable insight into
what sustainable criteria and practices are used today through the software development process
(Barriball & While 1994). However, due to time constraints, and the fact that not all companies
are available for interviews at any given time, the number of interviews that can be conducted
is limited to the duration of the thesis.

3.4.1 Technical Aspects


The goal of the interviews is to collect raw information from within the industry about what is
currently being done within software development processes with regards to sustainability. In
order to collect as much information as possible from these interviews (Barriball & While
1994), it is important to structure those interviews in a way that allows for ongoing discussions
about the various topics.

Thus, the interview questions are designed to be semi-structured, with the majority of the
questions formed in an open-ended way, thus leaving the possibility for discussion and
elaboration for each question.

The interviews are meant to be on-site with face to face discussions, failing that, it should be
possible to conduct them over a video-chat or over the phone, and in the worst-case scenario in
the form of E-mail with questionnaires. Each interview session is estimated to take about 40 to
60 minutes depending on how long the discussions and elaborations will continue (Barriball &
While 1994).

The companies are allowed to be anonymous, in which case they will be referred to as
“Company X”, and the interviewees are allowed to remain anonymous as well, or they might
not want to reveal their position or role in the company, in which case such information will be
redacted. The data that are gathered from the interviews will be summarized, transcribed and
stored into data sheets for future reference and for later analysis.

3.4.2 Criteria for Company Inclusion


Considering the very large number of companies that are involved in software engineering and
development, and given the limited time span of the thesis, it is important to set up a number of
criteria for selecting the companies/participants that will be interviewed [BW94].
The goal is to choose companies that are open to the idea of spending more time and effort into
improving their agile software development processes, making them more sustainable and
greener. Thus, in order for a company to be selected for an interview, they:
• Must be involved in software development, software engineering or information
technology (Not hardware).
• Should be open to provide information about their work without confidentiality
problems.
• Ought to be utilizing one of the popular agile development processes (Scrum or Kanban)
• Can reply to contact in a short period of time
• Should be ok with their interview being published if need be.
• Need to be close to the proximity of the researchers (i.e. in Gothenburg).

The next chapter will describe the chosen respondents based on the above-mentioned criteria.

3.4.3 Target Group


The main group that will be targeted throughout the interview phase are actors within the
various fields of the software development industry which are utilizing agile software
development processes (Barriball & While 1994), specifically Scrum and Kanban.

Ideally the actors will be playing daily roles within those software development processes, such
as Developers, Tests and Designers. It is also likely to be very useful to meet with management
level actors, such as Scrum Masters, Product Owners and Managers.

It might also be useful to interview multiple participants from the same company, however in
that case, it would be more useful to select the participants from different teams, or even
products, as that will result in a larger spread of data.

Thus, the respondents of the interview ought to have the following criteria to be eligible for the
interview, they:

• Must be a developer, tester, designer, or in the alternative, must somehow be involved


in the development process, such as Scrum Master, Product owner, etc.
• Can talk about their work without confidentiality problems.
• Should be able to speak in English.
• Are available for further questions if need be.

The above criteria are enough to limit the number of interviewees to a small pool which can be
done over the time scale of the thesis.

3.4.4 Guidelines for Interview Questions


The interview questions are based on the results of the literature review phase. This means that
after the data extraction and analysis of the literature review, a generic set or groups of criteria
should be established, which will be used as the bases for formulating the questions of the
interviews (Barriball & While 1994).

Moreover, the interviews are designed to include questions that are meant to explore the nature
of the software development processes that are currently being utilized by those companies.
The questions are also intended to find out if there are other applicable criteria that these
companies use, or plan on using, or even consider using for improving their software
development processes in terms of sustainability. Thus, the main list of questions will be about:
• The role that the interviewee plays in the software development process.
• The software development process in general.
• The relevance of sustainability to the software development process.
• The criteria from the literature review.
• Plans for criteria or practices beyond what has been discussed.
• Other criteria or practices that the interviewee may think of.

It is possible for some interviews to deviate a little from the main list of questions that were
formulated for the interview, however the goal is to keep the discussions related and relevant
to what the thesis is about. The full list of the questions along with their answers from each of
the interviewees can be found in (Appendix 1 – Interview Questions).

3.4.5 Pilot Interview


An important part of conducting interviews, is the pilot interview, which is the very first
interview that occurs right after the questions are set up (Barriball & While 1994). The reason
is, the first interview involves the first interaction with the interviewees, thus revealing what
questions were being misunderstood, or hard to grasp, or which questions did not result in any
useful or relevant information. The pilot interview is also useful for finding out what questions
were missing and should have been included in the interview.

The interview questions will then go through a round of modification based on the information
that was gathered from the pilot interview in order to have the optimal set of questions for the
next interviews. It is important that this process is only conducted once, as not to deviate too
much from the original set of questions and therefore the original goal of the thesis (Barriball
& While 1994). The pilot interview revealed a number of issues with the questions, such as:

• The first interview did not have an intro to the background of agile development and
sustainability, this was taken into account for later interviews.
• The original questions did not have questions about the company’s background. While
this may not be vital information, it might be useful in identifying whether some criteria
are company specific or not.
• The original questions did not include the role that the interviewee plays in the software
development process.
• The questions about the criteria were repetitive, because some of the criteria were
similar or related to each other. The modified questions grouped those criteria together.

There were some other minor changes that were made to the questions, which are not worth
mentioning here. The above issues, while minor, still resulted in very useful modifications to
the list of questions, which made the later interviews go much more smoothly.

3.4.6 Interview Respondents


This section aims to provide an accurate description of the people who were interviewed
including their companies, roles, levels of experience as well as their disposition to answer the
interview questions.

The interviews were carried out with a total of 6 people. The age range is between 23 and 38,
and there were 4 males and 2 females. One person, a developer at HiQ working in an agile team.
The person was only interviewed once for the pilot interview, while the others were interviewed
twice, once to answer the interview questions and the second time to validate the newly
generated sustainability criteria in software development. There were 4 companies involved in
the interviews, Volvo Cars, Volvo Trucks, Ericsson and HiQ, all based in Gothenburg, Sweden.

The first respondent (Excluding the pilot interviewee) is a developer from Volvo Cars, working
in a team that has recently adapted an agile way of working, namely Kanban. This person has
been working as a developer at Volvo Cars for 5 years. This person showed interest in the study
and was curious to find out how his company measure up to the questions of the interview since
Volvo is keen on releasing sustainability reports annually. while this person could not always
provide concrete answers on the company’s overall action plans to be more sustainable, they
were able to answer the questions related to agile software development and sustainability
accurately.

The second respondent is a scrum master from Volvo Trucks, working in a team that has been
working in an agile way for over 2 years now, which makes them experts compared to the team
in the first of the first respondents. This person has been the scrum master since the team
switched to scrum, therefore, they were able to provide answers relating to the company’s way
of working more accurately, as well as questions related to scrum and sustainability.

The third respondent is a design architect from HiQ who’s been working with software
development for several years, and has been working in a scrum team for one year and a half,
but they have worked before in a team that used Kanban as a way of working. This person was
highly invested and focused in the process of developing software rather than the effect it has
on the environment believing that well developed software does not have a great negative
impact on the environment.

The fourth respondent is a scrum master from HiQ, who has been working as a scrum master
for almost 2 years. This person believes that sustainability issues are to be taken by the
stakeholders and HiQ before the scrum teams can do anything of effect regarding the question
of sustainability. In other words, it is the upper management that should pick up the issue of
sustainability and make it a clear goal for the company before the teams can be interested in it
and start working towards it.

The fifth respondent is a product owner from Ericsson, who has been working at Ericsson for
over 10 years, but they have only been a product owner for 4 years. This person could give
answers that were more general to the company’s attitude towards sustainability in different
forms, rather than just the software the company develops, mentioning that sustainability is a
natural result of the quality they demand of their software.

3.4.7 Data Collection


The data that is collected from the interviews is transcribed, summarized and stored for analysis
and future references. All interviews and their answers can be found in (Appendix 2 – Interview
answers).

3.5 Combining the Results


The results of the literature review will be the bases through which the questions of the
interviews will be built. These questions are then used for all interviews, and the responses will
then be summarized and recorded. From these responses, a set of the most important criteria
will be presented and later on used for establishing a set of practices or recommendations that
can be used for improving agile software development methods.
3.6 Result Presentation
The results of this thesis will be presented in three parts which are described below:

• Results of the literature review process, which includes a number of papers summarized
and analyzed, along with a taxonomy of the criteria that were found. The results of the
literature review provide an answer to the first research question (RQ1.2.A).
• Results of the interviews, which are also summarized into the most important criteria
for software development.
• A set of best practices or recommendations that are based on those criteria, which can
be used to improve agile software development methodologies (e.g. Scrum, Kanban).
• The results of the interview along with the set of best practices provide an answer to the
second research question (RQ1.2.B).

Some information from the interviews might be omitted in the cases that it reveals sensitive
data about the interviewing company. The set of practices and recommendations are also sent
to all interviewed companies, in case they are interested in utilizing them for their own
development.
4 Introduction
In this section, the results of this research will be presented, which include the results of the
literature review and the results from the interviews, as well as the final results introduced in
the form of a set of criteria.

4.1 Empirical Results of the Literature Review


The goal of the literature review is to identify any methods and processes that exist within
academia as well as the industry today which are being used to account for sustainability within
software development. Thus, the results of the literature review serve as an answer to the first
research question (e.g. Research Question 1.2.A).

• RQ1.2.A: What kind of methods and techniques are being used to account for
sustainability within software development?

After applying the literature review process that was discussed in Chapter 3.3, an initial number
of 16 papers were identified with matching results to the searched keywords of sustainability
and software development. However, from those, only 5 were qualified as related to the subject
of this research paper, as these were the only papers that provided models, techniques, methods
or processes that involve applying sustainability to software development.

The following is a summary of these methods and processes, along with a set of attributes that
were extracted from them which are important for sustainability within software development.

4.1.1 The GREENSOFT Model


The GREENSOFT model is a “conceptual reference model for Green and Sustainable
Software”, which aims to help developers, users and administrators to create, use and maintain
software in a sustainable way (Naumann et al. 2011). The model also gives a set of defined
sustainable criteria and metrics. These metrics and criteria allow for the measurement of quality
and evaluation of software sustainability.

• Reusability is the ability to use software components to build other software, this allows
for reduced efforts in building new software.
• Modifiability is having the ability to make quick changes to the software with minimum
effort and time.
• Usability is making the software user friendly, thus making it easier to accept and learn.
• Accessibility aims to make the software suitable for all types of users including users
with varied levels of physical and mental abilities, as well as users who have hardware
with limited functionality.
• Predictability is being able to predict the amount of time it takes for the development
team to implement certain functionality. All these criteria contribute to environmental
sustainability on social and economic levels.
• Efficiency focuses on runtime and usage of memory.
• Performance which relates directly to efficiency since both affect runtime, leading to
reduced energy consumption.
• Portability means hardware obsolescence and it works by measuring the amount of
hardware that will be replaced until the software reaches its end of life.
• Feasibility considers how development processes follow sustainability criteria during
development
• Reflectivity which does not have reliable metrics at the moment, and sustainability,
which includes aspects of purpose, reduction and beauty.

4.1.2 Software Sustainability Metrics


In the search for more sustainable practices in software development, Venters, Capilla, Betz,
Penzenstadler, Crick, Crouch, Nakagawa, Becker & Carrillo (2018) were also trying to find
ways to make the software development approach more sustainable than it currently is. They
were able to form a list of quality attributes that can be used to estimate software sustainability,
the parameters below are the main metrics that they have used in their analysis:

• Complexity
• Modularity
• Analyzability
• Effectiveness
• Understandability
• Reusability
• Modifiability
• Changeability
• Cost
• Stability
• Evolvability
• Timeliness

4.1.3 ISO/IEC 25010


The ISO/IEC 25010 is a universal set of standards used to control the quality of software with
regards to sustainable products (Estdale & Georgiadou 2018). Estdale & Georgiadou (2018) list
the characteristics of the ISO/IEC 25010 as follows:

• Effectiveness
• Efficiency
• Satisfaction (Usefulness, Trust, Pleasure, Comfort)
• Freedom from risk (Economic risk mitigation, Health and safety risk mitigation,
Environmental risk mitigation)
• Context coverage (Context Completeness, Flexibility)
• Functional suitability (Functional completeness, Functional correctness, Functional
appropriateness)
• Performance efficiency (Time behavior, Resource utilization, Capacity)
• Compatibility (Co-existence, Interoperability)
• Usability (Appropriateness recognizability, Learnability, Operability, User error
protection, User interface aesthetics, Accessibility)
• Reliability (Maturity, Availability, Fault tolerance, Recoverability)
• Security (Confidentiality, Integrity, Non-repudiation, Accountability, Authenticity)
• Maintainability (Modularity, Reusability, Analyzability, Modifiability, Testability)
• Portability (Adaptability, Installability, Replaceability)

4.1.4 ISO/IEC 25010


The Karlskrona Manifesto for Sustainability Design was created during the Third International
Workshop on Requirements Engineering for Sustainable Systems (Oyedeji, Seffah &
Penzenstadler 2018) which was held in Karlskrona in Sweden. Oyedeji et al. (2018) state that
the Karlskrona Manifesto aims to blend sustainability into the agile community with the support
of many software engineering researchers. The Karlskrona Manifesto includes 9 sustainable
software design principles (Becker, Chitchyan, Duboc, Easterbrook, Mahaux, Penzenstadler,
Rodriguez-Navas, Salinesi, Seyff, Venters, Calero, Kocak & Betz 2015) which provide a guide
to different stakeholders, those working in academia and industry to refer to when designing
software.
The principles cover high level aspects, making them too general and difficult to implement
into agile software development processes such as Scrum and Kanban, but that does not mean
that they cannot be used as a basis for environmentally sustainable development. The following
table shows the 9 principles of the manifesto (Oyedeji et al. 2018):

4.1.5 Quality Aspects in Model Driven Software Engineering (MDSE)


In an attempt to find a way to measure the level of sustainability of the software being
developed, a paper was written by two researchers, Calero and Torre (2016) to create a set of
qualities to be considered when developing software using models. These qualities are as
follows:

• Energy efficiency focuses on developing software that requires less energy.


• Time effectiveness focuses on minimizing the time used to model.
• Portability and Reuse-Recycling focuses on the ease of importing and exporting other
model software artefacts.
• Standardability focuses on having a standard specification and maximizes
compatibility, consistency, correctness, interoperability, safety, repeatability,
commoditization of the MDSE activities.
• Model Quality Checkability focuses on checking the qualities of a model software
artifact such as correctness, consistency, completeness, maintainability.
• Reliability and Perdurability focuses on how long a model can be used, that is, its
ability to be modified and reused.
• Transformability focuses on the level of difficulty regarding transforming the model
into executable code.
4.2 Analysis of the Literature Review Results
The goal of the literature review is two folds. First is to identify any methods or processes that
exist within academia or the industry which tackle the problem of sustainability within software
development. This would provide an answer to the first research question that is posed by this
paper.

Second is to identify a set of themes and patterns that are shared between these methods. A set
of attributes that are grouped together under relevant categories which serve as the most
important aspects of sustainability within software development, and serve as the basis for
setting up the interview questions and an important part of the set of best practices that will be

The empirical results of the literature review show that while there has been quite a bit of
research into the subject of sustainability within software development, there is no clear
guideline or a set of best practices that can be recommended to engineers and developers
working within the industry in order to ensure sustainable software development. This is further
evidence of the importance of establishing the set of practices which are the main goal of this
research paper.

The results also show that there are many attributes that researchers are paying attention to with
regards to sustainability within software development. These attributes can be grouped under
certain themes which share common characteristics between them. The following is a list of all
the attributes that were identified and extracted from the literature’s empirical results:

Efficiency Effectiveness Stability Utilization Capacity Perdurability Feasibility

Portability Flexibility Adaptability Transformability Modifiability Changeability Evolvability

Replaceability Complexity Modularity Analyzability Understandability Testability Compatibility

Maintainability Security Safety Accessibility Predictability Confidentiality Obscureness

Integrity Traceability Accountability Authenticity Fault tolerance Recoverability Usability

Operability Learnability Recognizability Reflectivity Cost Timeliness Usefulness

Standardability Reliability Maturity Availability Applicability Time Functional


effectiveness suitability

The goal of grouping the above attributes is to create a method of understanding and therefore
explaining how the attributes can be utilized in a way that relates to sustainability within
software development. Looking at the attributes, it is possible to identify four categories which
combine the attributes that share common or relative characteristics. These four groups are
(Functional Attributes, Performance Attributes, Coding Attributes, Security Attributes).

• Functional Attributes:
Combines the set of attributes which decide how the resulting system should operate
and how users can interact with it, this includes the following attributes:
o Usability, Operability
o Learnability, Recognizability, Reflectivity
o Availability, Reliability, Maturity
• Performance Attributes:
Combines the set of attributes which reflect the behavior of the resulting system in terms
of sustainability, this includes the following attributes:
o Energy Efficiency, Capacity, Utilization, Cost
o Feasibility, Effectiveness
o Stability, Perdurability

• Coding Attributes:
Combines the set of attributes which elaborate how the codebase of a resulting system
ought to be in terms of sustainability, this includes the following attributes:
o Reusability, Portability, Flexibility, Adaptability, Transformability
o Modifiability, Changeability, Evolvability, Replaceability
o Complexity, Modularity
o Analyzability, Understandability
o Testability, Maintainability, Compatibility

• Safety Attributes:
Combines the set of attributes which determine the qualities of a sustainable resulting
system should be with regards to sustainability, this includes the following attributes:
o Security, Accessibility, Authenticity
o Integrity, Recoverability, Fault tolerance
o Confidentiality, Obscureness
o Traceability, Accountability

The above categories serve as a means of classifying the attributes into groups that combine
similar aspects with the goal of making it easier to follow and understand these attributes.
The four categories of software sustainability and their attributes are then visualized in a
diagram that can be used in order to summarize and quickly elaborate them. Thus, a visual
representation of the classification of these attributes can be found in the diagram shown in
Figure (3).

Figure 3. Classification of Software Suitability Attributes


One of the goals of this research is to establish whether any of these attributes are being taken
into account when developing software within the industry. Thus, an important part of the
interview is an introduction to the results of the literature review through the above shown
diagram and an elaboration of each classification group of the attributes. Therefore the
interviewees are well aware of these attributes while answering the questions that are put
forth, and will be able to shed light on which of these attributes are being considered during a
team’s software development process and which are not.

4.3 Results of the Interviews


This section provides the results that were obtained from the interviews conducted with the
different IT companies. The interview phase was carried out for as long as it was feasible for
the duration of the research. The number of companies that accepted the interview requests
were four, namely: Ericsson, HiQ, Volvo Cars, Volvo Trucks. A total of 6 people were
interviewed from those four companies, 2 interviewees from Ericsson, 2 from HiQ, 1 from
Volvo Cars, 1 from Volvo Trucks.

Before each interview, a quick explanation of the results of the literature review was carried out
in the form of the diagram showing the software sustainability attributes and their classification,
then the questions were presented to the interviewees.
Since listing the answers from all the interviewees for each question would yield a lengthy bulk
of text, it was advisable to list a summary of the results for each question instead. The summary
of the questions can be found below:

• Q1: The roles of the respondents were a developer, 2 scrum masters, a design architect
and a product owner.

• Q2: All the respondents assured that their companies take sustainability into account.
Some respondents, like the product owner at Ericsson stated that since Ericsson is a big
company with many software products, they find it as part of their social corporate
responsibility to constantly aim for a better future through sustainable choices. The
respondents from Volvo Cars and Volvo Trucks also mentioned that Volvo as a
company has always worked on having environmentally sustainable product lifecycle.
However, when asked specifically about sustainability at a development level, the point
that was taken up the most was having energy-saving hardware and developing high
performance software since that is a goal that interests everyone involved.

• Q3: No respondent provided a clear description of how sustainability is directly


presented or discussed when meeting customers. Compared to the list of the attributes
the respondents were presented with, the focus is mainly on attributes that affect the
customer directly such as functionality, usability and cost.

• Q4: To this question, the respondents all agreed that as far as the customers are
concerned, they are being provided with what they are paying for, that is, software with
the functions they required that is stable and easy to use. Even though energy costs are
high, the companies involved wish to reduce energy usage mainly to reduce costs, and
the positive environmental result of this step is a bonus.
• Q5: The majority of the respondents stated that environmental sustainability is not
directly considered during design. what is considered is aspects of usability,
functionality and safety. Some respondents said that a high performing software can be
seen as environmentally sustainable but environmental sustainability is not a goal that
the teams or customers actively pursue.

• Q6: All the respondents stated that environmental sustainability is not considered during
sprint planning or replenishment modeling session and that what is considered is only
what to do in the upcoming sprint.

• Q7: The respondents stated that environmental sustainability is not considered during
backlog refinement and that only matters of functionality, usability and security are
discussed, as well as how a feature for example should be implemented.

• Q8: All respondents stated that environmental sustainability is not part of their daily
ways of working, therefore it is not considered during their sprint retrospectives.

• Q9: Those of the respondents who work with development stated that their aspiration
is for their code to follow all the attributes they were presented with and that they
constantly work to improve it since that will improve their software and simplify their
daily work. This is why they have high standards on how new code should be added and
how existing code can be modified.

• Q10: The scrum masters the developer and the design architect all though that they are
and can affect all categories, but some attributes such as availability, capacity, cost,
security, traceability and accountability are more likely to be affected by a product
owner or those who have a high position in the company since they require major
changes in their way of working. One example would be cost. costs are managed by the
customer through the product owner making the effect of all others little, if non-existing.
Another example is that of capacity, since the software is usually hosted and managed
by the customer company, the developers and scrum masters normally have no access
to change how much memory is available for their product, but must go through the
product owner or others who manage the hosting services to have more memory. The
product owner believes that he can affect the software by having specific requirements
that are related to all attributes and that he can work together with the team to help them
achieve that which they may not be able to do alone.

• Q11: While Volvo measures their cars’ greenhouse gas emissions and energy
consumption and while Ericsson measure their hardware’s heat emission, neither of
them measure any parameters when it comes to their software. All the respondents stated
that, as far as they know, there are no measurements of any parameters being recorded
when developing software and that these kinds of measurements are applied to hardware
or cars instead of software.

The above interview answers represent the empirical results of the interview process. An
analysis is then carried out on these results in order to establish commonalities and differences
between the ways of working of the companies based on the answers of the interviewees.
4.4 Analysis of the interview results
The main goal of conducting the interviews is to establish whether environmental sustainability
is being considered in the way of working for any of the software development teams within
the industry. Another goal is to find out whether these companies are interested in adopting
modifications to their way of working, specifically their software development processes, that
would yield improvements to their end products with regards to sustainability.
The empirical results of the interviews clearly show that sustainability is one of the last aspects
that are taken into account in a software development process. This is especially true if the goals
of sustainability conflict with other goals that the company may have such as economy,
expediency, and time.

Further analysis of the results of the interviews and obtained by looking for themes and patterns
in the answers to each question helped establish differences and similarities between the
companies and the teams. The following has been identified with regards to sustainability
within the industry:

• The companies had an interest in their impact on the environment. but only on a
general level:
While everyone stated that their company has sustainability in the plans, they still had
a tough time pointing out exactly how the company is carrying out sustainability in their
plans of action. Of course, there were also some differences from one company to
another. Being a company with several software products, Ericsson’s sustainability plan
was more focused on having sustainable software development. Volvo on the other hand
leans more towards making their cars and trucks have a less negative environmental
effects. HiQ is a consultancy, which means that their software is as sustainable as their
customers want it to be, even if they try to promote environmental sustainability as a
company. All of the respondents claimed that their companies follow general rules of
environmental sustainability, such as using energy saving hardware, reusing and
recycling hardware as much as possible.

• All companies consider sustainability, but only when it is cost-effective:


It is clear for everyone that aspects such as energy usage, reusing and recycling are
directly related to environmental sustainability, as well as the overall costs that each
company has to take into account. Since there is a strong relation between these
environmental aspects and cost reduction, they are considered by all the companies that
were interviewed. However, this mostly includes energy saving hardware, and reusing
and recycling hardware This means that even when environmental sustainability is
considered, it is not considered for the environment, but for some other unrelated
reasons.

• The customers lack awareness of the environmental impact of software:


According to the answers received from the respondents, the customers see the
importance of stable and high performing software that meets their needs, and nothing
more. One can argue that high performing software is also sustainable since it requires
less power because it runs faster and it is more efficient. It also takes less time to modify
and it is more fault tolerant. However, just as mentioned in the previous point, these
sustainable aspects are an intentional result of the functional software that customers
wish to have. This also means that other sustainability aspects will be ignored or
forgotten.
• Scrum and Kanban activities have no focus on environmental sustainability:
When asked about the different activities within agile software development processes,
the respondents informed that sustainability is not part of their Scrum or Kanban
activities. This may not come as a surprise since both Scrum and Kanban are
frameworks for software development and focus on how to work when developing
software rather than what is being developed, which leaves the question of software
sustainability up to those who work with it instead of having sustainability aspects as
part of Scrum or Kanban. With that said, this does not mean that Scrum or Kanban are
lacking as software development processes, but that they can be improved to
accommodate the new way of working the world is heading towards.

• Companies do not consider their software effect on the environment and are
unaware of it.:
Due to the lack of awareness and interest from the companies developing the software
and their customers, having any parameters to measure the effect of the software on the
environment is not considered. By comparison, Volvo Cars, Volvo Trucks and Ericsson
all measure various parameters when it comes to their hardware such as heat emission,
greenhouse gas emission and energy usage. HiQ does most of their work on their
customer’s machines, therefore they do not measure any parameters. None of the above-
mentioned companies have any parameters to measure as part of the agile software
development processes.

• High quality codebase is essential for high performing software:


The respondents who are developers and who are working with the codebase on daily
basis said that they follow a set of rules to make their code easily modified, reusable,
flexible, secure along with other attributes similar to the ones they were presented with.
This makes the codebase environmentally sustainable, but not for environmental
sustainability reasons. This codebase makes for high performing software which is
favorable by the customers and it also makes working with the code easier and
smoother, which is favored by the developers. This does not come as a surprise since
sustainability tends to make for a better solution in the long run. This also means that
the developers will not face much difficulties in trying to achieve a more
environmentally sustainable state for their products. Finally, this makes promoting
environmental sustainability a much easier task than expected.

• Implementing an environmentally sustainable way of working can be challenging:


When one considers the current state of environmental sustainability based on these
interviews, one can immediately see that there is still a long way to go for environmental
sustainability to be a norm in the IT field. It certainly is not the norm today in the
companies that were interviewed. It is going to require major changes in order to make
the topic of environmental sustainability a norm and have it implemented in the various
areas of the IT field. These changes will require several resources that many companies
will be unable or unwilling to use towards environmental causes. Agile software
development processes will have to be revisited and revaluated, then altered to adapt to
an environmentally sustainable way of working. As a result of these changes, those who
work with agile software development processes will have to be trained further to meet
the new environmentally sustainable requirements.
4.5 Discussion
Based on the results of the interviews, it is clear that there are common problems which can be
found among the companies interviewed and the research found in the literature review can be
used as a backbone to discuss solutions with the companies.

The interview results share a similarity with the previous research found in this paper. Most
companies do in fact aim to be more sustainable in their daily work (Raspudic 2014) but they
lack the knowledge of how to make their efforts effective. For example, the interviewed
companies try to have energy saving solutions and reuse and recycle hardware, however, they
forget to concentrate on their main products, the software, or the practices around them to make
them more sustainable. The solution presented in this paper, supported by the literature review
results, can help these companies achieve their sustainability goals with their most important
products, while maximizing profits and having high quality products.

Another issue that was revealed through the interviews, which was also mentioned by Raspudic
(2014), is the fact that the main focus for most IT companies is profit, and that they will not be
convinced or encouraged to make any changes unless that change results in a higher profit.
Adapting to a new way of working, where sustainability is at the center, can be challenging
because it means the company needs to acquire the resources to help establish sustainability as
a norm. There is no denying the fact that changing the way a company works will be time
consuming and costly to say the least, but if applied the same way the GREENSOFT model,
The Karlskrona manifesto or in a combination of the mentioned methods this paper presents, it
can quickly become the normal way of working. Companies can start applying these criteria on
a smaller scale, which will surely prove to be beneficial and will lead to higher quality software.
In effect, it will be easy to promote sustainability for customers and maximize profits.

Any business in the world aims to maximize profits and gain more customers, and since
customers are how profit is generated, satisfying customers is one of the main goals for
businesses. A sustainable way of working has two direct results. The first result is maximizing
profits for the company, by making work more effective and reducing working hours on things
that may be unnecessary or that can be made more efficient, along with reducing energy
consumption as a natural result of the reduced work. The second result is minimizing costs for
the customer, while still providing them with high quality software. Avoiding time and energy
spent on unimportant tasks or tasks that can be improved in order to be done more efficiently
makes the way of working more concise and simpler, at the same time, have a less of a negative
impact on the environment. In addition, customers are more likely to encourage sustainable
software if they experienced their benefits, and the customers might be inspired themselves to
pursue a more sustainable way of working.

As mentioned before in this paper, software is one of the most important, if not the only, product
the companies interviewed provide for their customers. It is a major source of profit, making it
natural for companies to focus on the quality of their software to ensure their survival. This is
one reason why sustainability is neglected since companies are unaware of the value it will add
for the quality of their software or the contentment of their customers. However, the results of
this research show that by creating sustainable software, the quality of the software will be
improved immediately because the focus of sustainable software is directly related to how well
the software is designed, implemented, and maintained. To put it differently, sustainable
software is high quality software, therefore it should not be a difficult decision for companies
to make their software more sustainable.
The effect of sustainability extends throughout the entire lifecycle of software. It affects those
who design it, those who implement it and those who maintain it and those who use it, thus
affecting the entire company and the customers. The changes may only apply to the software
development processes, but the effects transcend the company’s limits and eventually, end up
affecting the world through their effect on the environment. It is surprising to see companies
unaware of this effect, but considering the results of this paper, it will not be long until
companies realize the importance of sustainable software, both for them and for the world.

4.6 Recommended Practices for Agile Software Development


This section introduces a method of improving software development processes with regards to
sustainability by combining the analytical results of the literature review with the ways of
working of companies and organizations based on the results of the interviews.

The intention is to provide a recommended set of best practices that should be taken into account
during the planning and development phases of software which would put some focus on the
sustainability of the resulting software.
Thus, these practices serve as an answer to the second research question of this paper (e.g.
Research Question 1.2.B).

• RQ1.2.B: How can we improve agile development methodologies with regards to


sustainability?

The recommended improvements that are introduced here can be divided into two categories.
The first category focuses on the planning phase of a development cycle, this would entail
discussing what can be done as part of the development processes activity, such as sprint
planning in Scrum (Rising & Janoff 2000) and replenishment modeling session in Kanban
(Esparrago 1988).

The second category focuses on the development phase. In this phase, a set of criteria can be
applied over the implementation of a software and how the code can be made sustainable
according to the criteria that was established as a result of the literature review.

4.6.1 Planning Phase


Sustainability can be applied throughout the various steps of the planning phase of a software
development cycle. A recommended set of best practices for improving the planning phase of
a software development cycle with regards to sustainability can be found below:

• Backlog Refinement: During the refinement phase of a backlog, new stories or requests
are added and are then refined into tasks that describe the steps by which these stories
can be completed. An ideal practice in terms of sustainability would be to add an extra
task or an additional definition of done that takes into account the effect of the feature
on the environment. The team can also take into consideration whether something is
worth making into a story since each story takes time and energy to be completed.

• Sprint Planning/Replenishment Modeling Session: Sustainably can and should be


taken into account when planning for a new sprint (Scrum) or work segments (Kanban).
The team members and the product owner would then have a discussion over the
implications of the features and functions they are going to implement during the next
phase of the development cycle, with regards to sustainability.
• Sprint Retrospective/Kanban Retrospectives: During the retrospective of a sprint or
a work segment the team considers what went well and what should be avoided during
the next development cycle. An additional part of the retrospective would then be to
analyze the environmental consequences of the sprint and try to find new ways to reduce
the negative environmental impact of each sprint. For example, the team can try to do
tasks simultaneously or drop a story if they deem it to be unnecessary.

• Sprint Review/Demonstration: When the results of a sprint are being presented to the
customers, the environmental impact of the software or feature developed can also be
mentioned in order to make customers aware of the product’s effect on the environment,
and to raise interest in sustainable software by showing the benefits of sustainability and
its effect on the customer’s products.

• Stand Up/Coordination: While standups and coordination meetings are meant to be a


quick method of synchronizing the activities of the day between the team members, it
is very much worth adding a quick discussion point over the sustainability of these
activities and their effect on the team and their way of working.

4.6.2 Development Phase


Sustainability can also be applied or taken into account when implementing and development
the software. A recommended set of best practices for improving the development phase of a
software as well as the resulting software artifact with regards to sustainability can be found
below:

• Usability
What is meant with usability is for the code to be easy to read, learn, recognize and
manage. In order to have a code with these qualities, it needs to be able to reflect the
actual system that is being presented. For example, if the code is making up a library
system, it should be easy to recognize what items, such as books, are reflected in the
code variables and what operations, such as borrowing books, are reflected in the code
functions. This will make the code available for any programmer to work with it and
maintain it. This is especially important in agile development processes where the code
is revisited on a regular basis by several developers with varying levels of skills in
programming.

• High performance
High performance is directly dependent on effectiveness and efficiency, and for a code
to be efficient, it will have to be stable and durable. These attributes are acquired with
continuous improvements, which is a natural part of agile development processes. The
code needs to be tested repeatedly to see how stable and durable it is with all the
continuous changes it undergoes as part of the agile way of working. All of this will
make the code easier to maintain and modify whenever needed. It will also increase the
system’s ability to cope with larger capacities as they arise and eliminates the need to
make small changes constantly to adapt to new changes being made in other parts of the
system.
A result of high performing code is lower costs. High performing code requires less
work from the developers, which means less time spent on correcting and adapting to
new small changes made to the overall system. High performing code also requires less
powerful hardware to run. A combination of less powerful hardware and less time spent
fixing bugs and problems means lower energy costs and ultimately decreasing the
overall cost for the company and the customers. It is also worth noting that all these
results are directly related to the software having less impact on the environment.

• High quality
For a code to be considered of high quality, it needs to follow various rules, usually set
by the developers since it is related to their daily work, and eventually to the quality of
their software. Based on the attributes collected in this paper, high quality code needs
to be reusable, that is to say, it can be used in more than one place or even in more than
one software. This is part of having the code being flexible, portable and easy to adapt
to new environments. Having a code that can easily be moved from one place to another
and is easy to adapt into new software, also means that the code has high modifiability
and can be evolved into more complex functions to accommodate the customers’ ever-
changing needs. However, it is important to consider not having a complex code that
will make it difficult to understand, maintain, analyze and test.
In conclusion, high quality code is meant to make the developers’ daily work easier by
aspiring to adapt to several rules. These rules are set to refine the code continuously
which is exactly what software agile development processes helps one achieve by
revisiting the code and improving the overall functionality of the software. High quality
software is a consequential result of high-quality code and one cannot have one without
the other.

• Security and safety


When developing any software that is meant to be used by many users, safety and
security cannot be dismissed. These two points are of great importance since they are
the controls over what users can do using the software they are provided with and a
well-developed software should always have a set of rules to follow from the start. One
of these rules is accessibility and authenticity, that is to say, who can access what and
how do they authenticate their identity when accessing the software. Another thing to
consider is who has the authority to see which user is performing which actions and how
developers can protect users’ identities from being used by others who have no right to
perform certain actions or access certain information. Finally, it is crucial to be able to
have the ability to trace users’ actions in order to make sure that the software is not
being used in any way other than the way the customer intends it to.
All these points need to be considered whenever the code is modified or developed
further for new features and functionalities. Agile software development processes
enable maintaining high security software because of the continuous development and
improvement of the software. Following security rules also prevents problems that will
require a lot of time to fix and interrupt the customers' daily work, resulting in
unnecessary costs and efforts being put into places where it should not be needed. As
mentioned before in this paper, any extra work consumes energy and time which
impacts the environment negatively.

While there are certainly plenty of other ways to improve the development phase towards
sustainability, it is important to make sure that the development team members do not go out
of their daily ways of working in order to ensure sustainability. The goal is to encompass
these practices into the team’s development phase without affecting the existing process
otherwise the team is very likely to abandon these practices.
5 Threats to Validity and Management
Any study or research comes with its risks to validity. This chapter deals with the various types
of risks and threats that could arise from the research methodology, and how they are handled.

5.1 Threats to Literature Review Process


The literature review is conducted according to the steps that are described in detail in section
3.3. However, there are a number of aspects that need to be taken into account here.

• The literature review may have skipped a number of important papers due to lack of
time of processing all related papers on the subject. This was dealt with through the
regress inclusion criteria.
• The literature review results might be summarized a bit too much in order to limit the
result section, otherwise the paper would be out of proportion.
• The literature review may have included a paper that is not peer review. All papers were
checked from the data sources to make sure that they are, but it could still happen.
• The literature review results may have included a paper that is outdated or deprecated.
This was dealt with by setting a limit on how old the research papers should be.

5.2 Threats to Interview


The following includes a number of possible threats to the interview process and its results, and
how they were dealt with:

• The questions that were prepared for the interviews are based on the results of the
literature review, as well as the author’s own knowledge on the matter. Beyond that, it
might be possible that the questions may have skipped an important criteria or factor
that needs to be taken into account in the research. This was avoided by pilot testing,
which did result in modification of the questions, which yielded better results for later
interviews.
• The participants might not be willing to answer all questions, this was avoided by
interviewing more than one member from the same team, or different team.
• The data that was collected from the interviews might reveal information that are
sensitive to the company, this was avoided by showing all the answers of the interview
to the company and getting their permission to publish them.

5.3 Threats to Data


A possible threat here is that the data that was collected from the interviews or the literature
review might have been lost, this was avoided by backing up all data online through some
systems that support version control, such as Google Docs.

5.4 Threats to Results


The results might be only applicable to agile software development methodologies and not other
processes. Another risk is that the results may not be applicable to all companies/teams, this
was dealt with by introducing those results to the companies and taking their opinion on whether
they’re usable or not.
6 Conclusions
All the previous research mentioned in this paper and the interview results indicate a clear lack
of awareness regarding the environmental impact of software on the environment, and the
situation will not change, unless major changes are to take place at the center where everything
begins, that is, software development.

However, the journey for sustainable software development is long for a list of reasons. One of
these reasons, and it is probably the most important reason of al, is that of resources and profit.
Companies in general, IT companies included, have only recently started to try and adapt to a
more environmentally friendly way of work because the concept of environmental concern is
still relatively new, and while companies are focusing on it, they may still be lacking the
knowledge and tools that can help transform their entire work routines to be sustainable. In
order to adapt entirely to a sustainable way of working, companies will need to have the
resources to train their employees, and companies may not have the motivation to spend their
funds on something as trivial as sustainability since they do not see the benefit of it.

Companies need to be encouraged to adapt a sustainable way of working, and this can be done
if companies learned of the financial benefits of sustainability. An increase in profits of a
decrease of costs can steer the company’s and the customer’s interest towards sustainability.
How that can be done in software development is through embedding sustainability criteria into
the company’s way of working. More specifically, into the way software is being developed.

Agile is a relatively new way to develop software (The Agile Manifesto 2001) where the focus
is on software that can adapt to changes throughout the entire development processes. Scrum
and Kanban are two of the most used processes in agile software development. Since Agile
processes focus on the ability to adapt and change over time, it makes them perfect candidates
to adopt sustainable software development. Scrum and Kanban can be made sustainable through
a set of criteria that can be applied to their activities and development.

The activities included in Scrum and Kanban such as sprint planning and backlog refinement
can be adjusted to include sustainable aspects where the environmental effect of each story or
task can be discussed and reduced, to help make clearer stories and tasks that are also easier to
implement since sustainability supports efficient development. The development part of the
aforementioned agile processes can also be made sustainable by applying some coding rules
such as flexibility and efficiency. A flexible code will enable developers to reuse it and modify
it for instance, while an efficient code will run faster and help reduce the time and energy
consumed to run the software, leading to reduced costs and pleased customers.

In conclusion, sustainability is far more important than the IT fields considers it to be, but it is
the lack of awareness that is a setback for it to become a central aspect of software development.
Although it can be difficult to implement sustainable software development processes at first,
it will be advantageous in the long run to develop sustainable software sustainably because it
will come at a lower price and with a higher quality. Finally, the possibility of developing
sustainable software through agile processes exists and is not far-fetched, but it only requires
time for sustainability to be normalized into IT companies.

6.1 Future Work


There can be several ways to go from this paper that can help shift the focus towards
sustainability in IT. A way to improve the results of this paper is to make another study on a
larger scale that can result in a more generic set of rules for sustainable development. In other
words, a set of rules that can apply to all software development in general regardless of the
process used to develop software. Another way is to focus on non-agile software development
processes, and while these processes may not be as modern and flexible as agile processes, they
are still used around the world and can be improved for greener software.

A study that tests the implementation of the results of this research can be of interest for those
interested in green software development and can be beneficial for companies striving to reduce
their carbon footprint and the costs of software development. Other studies can be carried out
to discover more specific criteria for a specific software development processes, or a specific
company and that company’s way of working.

There are many ways to expand the research towards green software development and to
explore the results of this study towards different levels, including software development
processes, ways of working, specific companies or teams, and even specific development
languages. Sustainable IT can and should be delved into since it will be inevitable at some point
in the future and software development will be difficult, or even impossible without it being
sustainable.
7 References
Agile Manifesto (2001). The agile manifesto. https://agilemanifesto.org/ [2019-05-03].

Avison, D. E., Lau, F., Myers M. D. & Nielsen, P. A. (1999). Action research. Commun. ACM,
42(1):94–97. doi: 10.1145/291469.291479

Barriball, K. L. & While, A. (1994). Collecting data using a semi-structured interview: a


discussion paper. Journal of Advanced Nursing, 19(2). pp. 328-33. doi: 10.1111/j.1365-
2648.1994.tb01088.x

Bener, A. B. & Miranskyy, A. (2014). Deploying and provisioning green software. IEEE
Software. 31(3), pp.76–78. doi: 10.1109/MS.2014.59

Bener, A. B., Morisio, M. & Miranskyy, A. (2014). Green software. IEEE Software. 31 (3),
pp.36–39. doi: 10.1109/MS.2014.62

Booth, A., Papaioannou, D. & Sutton, A. (2012). Systematic approaches to a successful


literature review. Sage Publications.

Bose, R. & Luo, X. (2011). Integrative framework for assessing firms’ potential to undertake
Green IT initiatives via virtualization – A theoretical perspective. Journal of Strategic
Information Systems, 20(1), pp.38–54. doi: 10.1016/j.jsis.2011.01.003

Brooks, S., Wang, X. & Sarker, S. (2012). Unpacking Green IS: A review of the existing
literature and directions for the future. Green Business Process Management: Towards the
Sustainable Enterprise. Springer-Verlag Berlin Heidelberg. pp. 15–37. doi: 10.1007/978-3-
642-27488-6_2

Butler, T. (2011). Compliance with institutional imperatives on environmental sustainability:


Building theory on the role of Green IS. Journal of Strategic Information Systems, 20(1),
pp.6–26. doi: 10.1016/j.jsis.2010.09.006

Collins, A. Joseph, D. & Bielaczyc. K. (2004). Design research: Theoretical and


methodological issues. Journal of the Learning Sciences, 13(1):15-42. doi:
10.1207/s15327809jls1301_2

Elliot, S. (2011). Transdisciplinary perspectives on environmental sustainability: A resource


base and framework for IT-enabled business transformation. MIS Quarterly, 35(1), pp. 197-
236.

Esparrago, R. (1988). Kanban. Production and Inventory Management Journal. 29 (1), pp.6-
10.

Estdale, J. & Georgiadou, E. (2018). Applying the ISO/IEC 25010 quality models to software
product. Communications in Computer and Information Science. Springer Verlag. pp. 492–
503. doi: 10.1007/978-3-319-97925-0_42

Galtung, J. (1986). The Green Movement: A socio-historical exploration. International


Sociology. 1(1), pp.75–90. doi: 10.1177/026858098600100106
Green, K., Morton, B. & New, S. (1996). Purchasing and environmental management:
interactions, policies and opportunities. Business Strategy and the Environment, 5(3), pp.188–
197. doi: 10.1002/(SICI)1099-0836(199609)5:3<188::AID-BSE60>3.0.CO

Gregor, S. & Jones, D. (2007). The anatomy of a design theory. Journal of the Association of
Information Systems, 8(5), pp.312–335.

Guest, G., Macqueen, K. & Namey, E. (2011). Applied thematic analysis. SAGE Publications.

Kern, E., Dick, M., Naumann, S. & Hiller, T. (2015). Impacts of software and its engineering
on the carbon footprint of ICT. Environmental Impact Assessment Review. pp.52, 53–61. doi:
10.1016/j.eiar.2014.07.003

Iacoban, V. (2004). Software development processes. Computer Science Journal of Moldova.


12 (1(34)), pp.89–106.

Mills, A. J., Durepos, G. & Wiebe, E. (2010). Encyclopedia of case study research, volumes I
and II. Thousand Oaks, CA: Sage. doi: 10.4135/9781412957397

Rising, L. & Janoff, N. S. (2000). The scrum software development process for small teams.
IEEE Software.17 (4), pp.26–32. doi: 10.1109/52.854065

Jones, A. R. & Mingay, S. (2008). Executive summary: going green: The CIO’s role in
enterprisewide environmental sustainability, Gartner Exp Premier.

Leemans, R. & Solecki, W. (2013). Redefining environmental sustainability. Current Opinion


in Environmental Sustainability. 5(3-4), pp. 272–277. doi: 10.1016/j.cosust.2013.07.006

Melville, N. P. (2010). Information systems innovation for environmental sustainability.


Management Information Systems: MIS Quarterly. 34 (1), pp.1–21.

Moe, N. B., Dingsøyr, T. & Dybå, T. (2010). A teamwork model for understanding an agile
team: A case study of a scrum project. Information and Software Technology. 52(5), pp.480–
491. doi: 10.1016/j.infsof.2009.11.004

Molla, A., Cooper, V., Corbitt, B., Deng, H., Peszynski, K., Pittayachawan, S. & Teoh, S.
(2008). E-Readiness to G-Readiness: Developing a Green Information Technology Readiness
Framework. ACIS 2008 Proceedings. 35, pp. 669-678.

Naumann, S., Dick, M., Kern, E. & Johann, T. (2011). The GREENSOFT Model: A reference
model for green and sustainable software and its engineering. Sustainable Computing:
Informatics and Systems. 1(4), pp.294–304. doi: 10.1016/j.suscom.2011.06.004

Piccoli, G. (2008). Information systems for managers: Texts & cases. Wiley & Sons.

Planview. (n.d). https://www.planview.com/resources/articles/use-kanban-boards/ [2019-04-


28].
Porter, M., & van Der Linde, C. (1995). Toward a new conception of the environment-
competitiveness relationship. The Journal of Economic Perspectives, 9(4), pp.97.

Process Exam. (n.d). https://www.processexam.com/blog/how-effective-kanban-system [2019-


05-03].

Rasmussen, N. (2006) Implementing energy efficient data centres. APC White Paper. (114).

Schmidt, R., Cruz, E. & Iyengar, M. (2005). Challenges of data center thermal management.
IBM Journal of Research and Development, 49(4-5), pp.709–723.

Scrum.org (n.d). What is scrum. https://www.scrum.org/resources/what-is-scrum [2019-05-


03].

Seidel, S., Recker, J. & Vom Brocke, J. (2013). Sensemaking and sustainable practicing
functional affordances of information systems in green transformations. Management
Information Systems: Mis Quarterly, 37(4), pp.1275–1299.

Sustainability. (n.d). https://en.oxforddictionaries.com/definition/sustainability [2019-05-02].

Vaishnavi, V. & Kuechler, W. (2004). Design science research in information


systems. http://www.desrist.org/design-research-in-information-systems [2019-05-02].

Venters, C. C, Capilla, R., Betz, S., Penzenstadler, B., Crick, T., Crouch, S., Nakagawa, E. Y.,
Becker, C. & Carrillo, C. (2018). Software sustainability: Research and practice from a
software architecture viewpoint. The Journal of Systems & Software, 138 (C), 174–188. doi:
10.1016/j.jss.2017.12.026

Vom Brocke, J., Seidel, S., Loos, P. & Watson, R. T. (2013). Green IS. Business &
Information Systems Engineering, 5(5), pp. 295-297. doi: 10.1007/s12599-013-0288-y

Watson, R.T., Boudreau, M.C. & Chen, A.J. (2010). Information systems and environmentally
sustainable development: Energy informatics and new directions for the IS community. MIS
Quarterly, 34(1), pp. 23–38.

Wendel, H., Kunde, M. & Schreiber, A. (2010). Provenance of software development


processes. N.p. 6378. pp.59–63. doi: 10.1007/978-3-642-17819-1_7
8 Appendices
Below is a list of all exhibitions and appendices that relate to the research.

8.1 Appendix 1 – Interview Questions


Note: As part of the interview phase, the results of the literature review are presented to the
interviewee in the form of the diagram showing the classification of the attributes for
sustainable software.

• What is your role at the company?


• To what extent is your company/team interested in software sustainability?
• Do you actively discuss environmental sustainability to encourage your customers to
consider it?
• Which economic benefits of environmentally sustainable software do you consider and
how do you promote them to your customers?
• What environmental impacts of software do you consider during the design phase?
• Which aspects of environmental sustainability does your team consider during sprint
planning/replenishment modeling session?
• How is environmental sustainability considered during backlog refinement of stories
and tasks?
• Looking back at your sprints, do you make any environmentally sustainable action point
or goals?
• How sustainable is your codebase, with regards to the code attributes that were
presented to you?
• Of the four categories that were presented to you, which do you think you and your team
can affect the most?
• Which parameters do you measure in order to understand the effects of your software
on the environment? (Electricity consumption, heat emission, greenhouse effect gases
emission, etc.)
Högskolan i Borås är en modern högskola mitt i city. Vi bedriver utbildningar inom ekonomi och
informatik, biblioteks- och informationsvetenskap, mode och textil, beteendevetenskap och lärarutbildning,
teknik samt vårdvetenskap.

På sektionen för informationsteknologi har vi tagit fasta på studenternas framtida behov. Därför har vi
skapat utbildningar där anställningsbarhet är ett nyckelord. Ämnesintegration, helhet och sammanhang är
andra viktiga begrepp. På sektionen råder en närhet, såväl mellan studenter och lärare som mellan företag
och utbildning.

Våra utbildningar med huvudområdet informatik är centrerade kring grundläggande begrepp som
systemutveckling och verksamhetsutveckling. Inom vårt breda spektrum av inriktningar finns allt ifrån att
programmera avancerade system, analysera behov och krav på verksamheter, till att bedriva integrerad IT-
och affärsutveckling, dock med gemensamt syfte att verka för god IT-användning i företag och
organisationer.

Vid sektionen bedrivs IT-relaterad forskning inom högskolans forskningsområde Handel & IT.
Forskningsverksamheten är huvudsakligen ämnesmässigt inom datavetenskap respektive
systemvetenskap. Speciella fokusområden är data science respektive information systems science.
Forskningen är både vetenskapligt och professions-orienterad, vilket bland annat tar sig uttryck i att
forskningen i många fall bedrivs med grund i domänspecifika verksamhetsbehov, med företag och offentliga
organisationer på lokal, nationell och internationell arena. Forskningens professionsinriktning manifesteras
också ofta genom vår delaktighet i Swedish Institute for Innovative Retailing (SIIR), som är en
centrumbildning vid Högskolan med syfte att bidra till handelsföretag och det omgivande samhället med
utveckling av innovativ och hållbar handel.

BESÖKSADRESS: JÄRNVÄGSGATAN 5 · POSTADRESS: ALLÉGATAN 1, 501 90 BORÅS


TFN: 033-435 40 00 · E-POST: [email protected] · WEBB: WWW.HB.SE/HIT

You might also like