Vous êtes sur la page 1sur 3

Sustainability in Software Development

Laxmi B Pandya
University of Mumbai, Tolani College of Commerce,
Shere-E-Punjab, Andheri(East), Mumbai : 4000093, India
Email ID : laxmipant@yahoo.com

Abstract:
Sustainability has been a global aspect today that has been applied in by all industries. Software Industry is no exception to this
although this industry has just made its beginning in considering the sustainability aspects. Sustainability should be considered as one of
the non-functional requirement to be met in software. The Requirement engineers would have a major role in determining various
sustainability indicators for a system domain and to validate the system for sustainability compliance.
This research paper is aimed at providing sustainability reference model to the requirement engineers involved in capturing
preliminary data to build varied software. It would help them gain greater insight into the sustainability aspects and enable them in
making the software sustainable compliant. There exist a future scope of adding sustainability indicators by studying different software
domains and a step ahead a generic sustainability reference model could be created to validate sustainability compliance for all system
domains.
Keywords:Sustainability,
requirement

Requirement engineers , Sustainability indicators, System domain, Sustainably compliant, Non-Functional

1. Introduction

attribute/property during the requirement engineering stage. Just like the

Sustainability refers to the capacity to endure. It includes social,

other non-functional requirements security, availability, reliability,

economic and environmental aspects. Today, it is by no means certain that

performance sustainability should also be considered during the

our society has the capacity to endure at least in such a way that the nine

requirement engineering phase.

billion people expected on Earth by 2050 will all be able to achieve a basic
quality of life. The planet's ecosystems are deteriorating and the climate is

Sustainability aspects can be brought to bear both during the

changing. We are consuming so much, and so quickly, that we are already

development and use of software systems. Software should have a

living far beyond the earth's capacity to support us. And yet nearly a sixth of

positive impact on sustainable development.

our fellow humans go to bed hungry each day: both an unnecessary tragedy
and a source of social and political unrest. Meanwhile, our globalized world
is more interconnected and volatile than ever, making us all more
vulnerable.

Contrary to the common assumption that software is "environmentally


friendly" simply because it is virtual, the processes and methods used to
develop, maintain and deploy software do have an environmental, social
and economic impact that is normally not accounted for by software

While sustainability is about the future of our society, for today's

development practices. For example, e-waste could be greatly minimized if

industries and businesses, it is also about commercial success improving the

software vendors would take into consideration the lifetime of old hardware.

economic, social and environment aspect. Sustainability has been a global


concept now and has been considered in all fields. In Information
Technology area Green IT was a revolutionary concept to support
environmental sustainability. However its discussion was limited to
hardware. Sustainability has its significance in software too directly and
indirectly. Sustainable Software is defined as software whose direct
and indirect negative impacts on economy, society, human beings, and
environment that result from development, deployment, and usage of
the software are minimal and/or which has a positive effect on
sustainable development. Every developed software product will have an

2. B ELOW

ARE SOME OF THE INDICATORS FOR SOCIAL,

ECONOMIC AND ENVIRONMENTAL SUSTAINABILITY TO BE


CONSIDERED DURING SOFTWARE DEVELOPMENT.

economic, social and environmental impact directly or indirectly on


sustainability. So it becomes necessary to consider the sustainability aspect/

Social Sustainability

Economic

Environmental

It includes
rights, Decent
Human Rights,
and
Governance
Community.

Labor
Work,
Health
Safety,
and

Software has led to


reduction in manpower
for performing routine
mundane task thereby
providing opportunity
to the manpower
resource to focus on
intellectual task and
being more productive.
Developers working
from Home get the
benefit of working at
their pace and comfort.
They can spend more
time with their family.
At the same time this
concept deprives them
of social interaction
and work support they
would otherwise have
if they were working at
office in a team.
Software applications
are performing various
mundane, tedious and
laborious jobs thereby
reducing
job
opportunities for the
people doing similar
jobs thus affecting
them socially and
economically.
Cyber Crimes on
account of social
applications affecting
the children safety
Social
applications
like Twitter, Facebook,
Orkut
enables
democratic process at
the same time it can
become an easy place
for open criticism to
anyone.
Software
Product
should be very user
friendly making it
possible for all levels
of user group to access
it smoothly.
Important
software
systems should be
designed in a way
that they are still
available even in an
unreliable
infrastructure

Sustainability
Developer side: COTS
or
Reusability
of
software would bring in
economic sustainability
compared to developing
software
from
the
scratch.
To use energy efficient
algorithms which are
smaller in size and less
time consuming
Client
side:-The
software
product
developed
for
an
organization brings in
economic sustainability
in a way that the manual
tedious tasks were more
people were involved
can be now done with
few resources and the
remaining resources can
be utilized elsewhere in
doing some intellectual
task.
Indirect Impact of
Software on Economic
Sustainability :
Today we have software
application for alarm
clock, calculator, basic
clock,
weather
forecasting and so we
need not buy special
devices thereby having
an impact on economy.
Common man money is
saved however there is a
decline in the business of
such device producers.
Modular programming
leads
to
software
reusability and thus
helps achieve economic
sustainability.
If data is compressed and
stored on the storage
medium more amount of
data can be stored on the
same medium thereby
saving on the cost to
implement new storage
solutions
We have discovered that
improvement
of
performance with data
compression
brings
reduction of energy
consumption per unit of
work, reduces the cost of
database

Sustainability
The functionality of the
product so develop should
support carbon footprint
directly or indirectly
Direct: The software size
should be as low as
possible to make it energy
efficient.
An
energy
efficient product would
consume fewer resources
and emit less heat thereby
emitting less Co2.
To encourage emission of
low radiation.
To provide software
solutions
that
is
environmental
friendly
and may have multiple
utility values. For e.g. for
attendance authentication
a camera can be used
instead
of
biometric
device as a camera has
multiple utility compare
to a biometric machine.
Indirectly:
The
functionality
of
the
product should deliver
such service to the user
that would optimize the
environmental
consideration For. E.g.
When a software product
is being developed for an
organization during the
requirement phase the
employees can be grouped
on the basis of area code
and an arrangement could
be
made
for
carpooling(transit).
Also for a software
product
in
catering
management can consider
the exact number of guest
and food preferences and
accordingly generate an
exact
resource
requirement
report
thereby avoiding any food
wastage or shortage

we must take up this


trend and find ways to
build adequate
Systematic feedback
methods. This will
help to gather
Requirements of a
heterogeneous group
of users and to meet
the needs of people
that will otherwise be
out of scope.
Surveillance
and
monitoring software
for crime protection
defeats people privacy
thereby impacting the
social aspect. Some
countries permit this
and the others may not
allow the same so it all
depends on sociocultural aspect which
has to be considered
during the requirement
engineering stage.

The system should


communicate in the
user
understandable
language.
The software should
comply with all the
legal
laws
and
regulations laid down
by the regulation
authority
Software should be
modular and support
changes in order to be
long lasting. A rigid
software
is
not
sustainable.
Create sustainability
programs to enforce
additional usage of
program and also to
increase the ROI

especially
during
natural disasters

Economic
Sustainability

Some
organizations
prefer
customer
involvement and

Maintenance and makes


the
database
environmental friendly.

accept their
suggestions. In
requirements
engineering

Software that is portable


brings sustainability as it
can be used in wide
platform making it

cost

Developing maintainable
software using code
review/inspection or pair
programming
Preserve
programs

heritage

Emulation (datacentric)
An emulator is a
software package that
mimics
your
old
hardware (and, possibly,
your
operating
environment) so that it
can be run on any
computer.
Migration
(functionality-centric)
If you need to reliably
reproduce the operation
of your software, the best
choice may be migration.
With this approach, you
re-code your software so
that it will work on new
hardware or operate with
new and reliable
software.
Cultivation (processcentric)
This is where you allow
developers or
contributors from outside
to access to your code
under a licence so that
they can work with you.
The deal is that outside
developers get access to
your code so that they
can adapt your software
to meet their exact needs,
but any bugs they fix or
new functionality they
add is given back to your
project., which helps
share the sustainability
workload.

3. Steps involved in determing the Sustainability aspect of


software
1.
2.
3.
4.

Social Sustainability

economically
efficient.

Identify Positive and Negative Sustainability indicators(all social, economic


and environmental) for a software domain.
These indicators so identified should be given weightage number based on
risk value.
Total Number of each Positive and Negative indicators should be listed
The above total should be multiplied by its weight to determine the Total
Positive Sustainability Impact(TPSI) and Total Negative Sustainability
Impact(TNSI).

4. Figure 1 below depicts the steps explained above to determine the


sustainability impact of software.

5.
6.
7.
8.
9.

EnSPI- Environmental Sustainability Positive indicators


EnSNI- Environmental Sustainability Negative indicators
W= weight
TPSI- Total Positive Sustainability Impact
TNSI- Total Negative Sustainability Impact

7. References
[1] Infusing Green: Requirements Engineering for Green In and Through
Software Systems
Birgit Penzenstadler ,University of California, Irvine, Irvine, CA, USA,
bpenzens@uci.edu
[2] Stefan Naumann, Markus Dick, Eva Kern, and Timo Johann. The
greensoft model: A reference model for green and sustainable software and
its engineering. Sustainable Computing: Informatics and Systems 1(4):294
304, 2011
[3] Qing Gu, Patricia Lago, and Simone Potenza. Aligning economic
impact with environmental benefits: A green strategy model
[4] http://www.nist.gov/el/economics/BEESSoftware.cfm- This is an article
on BEES(Building for Environmental and Economic Sustainability) software
with the powerful technique for selecting cost-effective, environmentallypreferable building products. It has been developed by the NIST (National
Institute of Standards and Technology) Engineering Laboratory the tool is based
on consensus standards and designed to be practical, flexible, and transparent.
[5] Social Sustainability Indicators for Software: Initial Review Maryam Al
Hinai Department of Computer Science , University of Leicester, Leicester, UK masah1@leicester.ac.uk
Ruzanna Chitchyan, Department of Computer Science, University of Leicester
,Leicester, UK -rc256@le.ac.u
[6] Discovering Sustainability Requirements: An Experience Report
Martin Mahaux, Patrick Heymans, and Germain Saval PReCISE Research
Centre University of Namur, Belgium {martin.mahaux, patrick.heymans,
germain.saval}@fundp.ac.be .

Figure 1

5.

Abbreviation for Figure 1


1.
2.
3.
4.

6.

SSPI- Social Sustainability Positive Indicators


SSNI-Social Sustainability Negative Indicators
ESPI- Economic Sustainability Positive Indicators
ESNI- Economic Sustainability Negative Indicators

Conclusion and Future Work


Sustainability is one of the important non-functional requirements of
software which have been ignored for long. However, it needs special
attention today. The research paper has attempted to identify some
sustainability indicators and also proposed a model to calculate the
sustainability. But these indicators are not complete, every software domain
needs to be studied to identify specific sustainability indicators for software
and finally a generic reference model for sustainability can be created. Also
there exists a scope of enhancing the metrics for sustainability measure.

[7] Sustainable Development, Big Data and Supervisory Control :Service


Quality in Banking Sector-David Luigi Fuschi, Manuela Tvaronaviien Brunel
University, Uxbridge UB8 3PH, London, United KingdomVilnius Gediminas
Technical University, Saultekio Av. 11, LT-10223 Vilnius, Lithuania E-mails:
David.Fuschi@brunel.ac.uk; Manuela.Tvaronaviien@vgtu.lt Received 15
October 2013; 20 December 2013 accepted Journal of Security and
Sustainability Issueswww.lka.lt/index.php/lt/217049/ISSN 2029-7017 /ISSN
2029-7025
online
2014
Volume
3(3):
514
http://dx.doi.org/10.9770/jssi.2014.3.3(1)
[8] Sustainability a new dimension in information systems evaluationWojciech Piotrowicz and Richard Cuthbertson Sad Business School, University
of Oxford, Oxford, UK
[9]http://software.ac.uk/resources/guides/developing-maintainable-software