Derivation of Green
Metrics for Software
Fabrizio Fabbrini*,Giuseppe Lami*, Luigi Buglione**
*Istituto di Scienze eTecnologie dell’Informazione – CNR, Pisa (Italy)
**Engineering.IT spa Rome (Italy) and Ecole deTechnologie Superieure (ETS) Montreal, Canada
13th
International SPICE Conference
on Process Improvement and Capability dEtermination in Software,
Systems Engineering and Service Management
Bremen, 4-6 June 2013
Why metrics for Greener Software
 The global ICT industry is claimed to account for
approximately two percent of global carbon dioxide (CO2)
 Software development has a significant impact on CO2
emissions
 Process-centric approach as a possible way to face the
question
 to deploy and control the sustainability-related processes, the
availability of metrics is necessary
Background:
Green SW from a Process-centric Perspective
Process
Name
Sustainability Management
Process
Purpose
The purpose of the Sustainability Management
Process is to ensure that products, services and life cycle
processes meet sustainability objectives.
Process
Outcomes
As a result of the successful implementation of the
Sustainability Management process:
1)Principles and criteria for sustainability are
established.
2)The scope of the sustainability-related activities for
the project is defined.
3)Activities for sustainability are planned and
implemented.
4)Tasks and resources necessary to complete the
activities for sustainability are sized and estimated.
5)An organization structure for sustainability
(responsibilities, roles, reporting channels, interfaces with
other projects or OUs …) is established.
6)Activities for sustainability are monitored,
sustainability non conformities are reported, analysed,
and resolved.
7)Agreement on sustainability policy and requirements
for supplied products or services is achieved.
8)Supplier’s activities for sustainability are monitored.
Process
Name
Sustainability Engineering
Process
Purpose
The purpose of the Sustainability Engineering
process is to ensure that sustainability is adequately
addressed throughout all stages of the engineering
processes.
Process
Outcomes
As a result of the successful implementation of the
Sustainability Engineering process:
1)Factors affecting sustainability (e.g. resource
consumption sources) are identified
2)Sustainability analysis is performed in order to
determine the sustainability impact of factors
affecting sustainability
3)Sustainability objectives are defined for the
product development
4)Green principles are applied to development
processes to identify techniques and methods
suitable to achieve the sustainability objectives.
5)Techniques and methods for sustainability are
applied
6)Impact on sustainability of change requests is
analysed
Systematic Derivation of
Green Metrics
Direct
Effects
Sustainabilit
y Assets
Green
Factors
Green
Metrics
Green Software:
Sustainability Assets
 Many assets responsible for carbon
emissions at software
development and operation time
can be derived
 A recent survey identifies 18 key
success factors belonging to 4
classes *
Success
Factors Class
Success Factor
People &
Action
Developers
Users
Top management
External agents
Project team
Social interaction
Project Content Project characteristics
Project scope, goals, objectives
Resources
Technology
Development
Process
Requirements determination
Project management
Use of standard method
User participation
User training
Management of change
Institutional
Context
Organizational properties
Environmental conditions* Mc Leod, Mac Donnel, ACM Computing Surveys Vol.43, n. 4; 2011
** Lami, G. and Buglione, L. IWSM/MENSURA 2012.
 In a recent paper ** we identified
the following sustainability asset
classes
SW
Sustaianbility
Infrastructure People / HR Processes Product
Direct
Effects
Sustainability
Assets
Green
Factors
Green
Metrics
Green Software:
Sustainability Assets
Direct
Effects
Sustainability
Assets
Green
Factors
Green
Metrics
Green Software:
Direct Effects
 ICT may contribute to CO2 emissions in different ways
 Three level of Effects of ICT in terms of environmental impact:
Direct, Indirect and Systemic Effects *
 Direct Effects refer to those caused by ICT infrastructures and
equipment at production, usage and disposal time.
The most relevant are:
 Greenhouse Emissions
 Power waste
 Effort/Time waste
 Fuel waste
 Material waste production
 Paper waste
* Saving the Climate @ the Speed of Light”; ETNO – WWF Report; 2008
Direct
Effects
Sustainability
Assets
Green
Factors
Green
Metrics
Green Software
Green Factors
 Green Factors (definition):
significant characteristics of a software project able to
influence one or more Direct Effect
 Green Factors can be derived taking into account DE
and SA according to a bi-dimensional scheme
Software direct
Effects
Sustainability Assets
People Project infrastructure Processes
Institutional
context
Product
Power waste ---
Tool efficiency
Tool suitability
Process Efficiency
Process Predictability
Process Capability
Team location Algorithmic – code efficiency
Effort/time
waste
Team
composition
Tool efficiency
Tool suitability
Process Efficiency
Process Predictability
Process Capability
Team location Maintainability
Material waste
production
---
Avoidance of environmentally
hazardous materials
--- ---
Avoidance of environmentally
hazardous materials
Paper waste --- --- Dematerialization --- ---
Fuel waste --- Teleconferences ---
Flexi-work
Team location
---
Direct
Effects
Sustainability
Assets
Green
Factors
Green
Metrics
 Entity – Attribute – Measure (E.A.M.) taxonomy mapped on
the bi-dimensional scheme to derive Green Factors
 Each metric contains the explicit reference to the Entity and
Attribute it is based on
Derivation of
Green Metrics
Direct
Effects
Sustainability
Assets
Green
Factors
Green
Metrics
E. A. M. Entity name
Attribute
name
Measure id.
Measure
Formula
Measure
Rational
Green Metrics
ENTITY: People
ATTRIBUTE:
Team Composition
MEASURE ID: Fitness for Role (FfR)
MEASURE
FORMULA:
RP= number of competences and
skills required by the project role;
AP=number of actual competencies
and skills of the persons allocated to
the project role. FfR=AP/RP
RATIONALE: The higher FfR the better.
Note: The fitness-for-role of the
people involved in a project allows a
saving in terms of effort spent
Green Metrics
ENTITY: Project
Infrastructure
ATTRIBUTE:
Teleconferences
MEASURE ID: % teleconference meetings (PTM)
MEASURE
FORMULA:
NT=Number of teleconferences;
NF=Number of face-to-face
meetings. PTM= NF /(NT+ NF)
RATIONALE: The higher PTM, the more fuel
saved.
Note: PTM allows for monitoring and
control of the number of travels due
to meetings related to project’s
activities
Green Metrics
ENTITY: Project
Infrastructure
ATTRIBUTE:
Tool Efficiency
MEASURE ID: Earned Value (EV)
MEASURE
FORMULA:
ET=Actual effort spent using the
tool; PE= planned effort using the
tool; EV=PE/ET
RATIONALE: The smaller EV, the higher the effort
saved.
Green Metrics
ENTITY: Project
Infrastructure
ATTRIBUTE:
Tool Suitability
MEASURE ID: Tool functionalities usage rate (TUR)
MEASURE
FORMULA:
NF= number of functionality allowed
by the tool; UF: used functionalities
of the tool; TUR=UF/NF
RATIONALE: The higher TUR, the more resource
savings.
Note: TUR can be used to evaluate if
the tool is over-dimensioned for the
actual needs.
Green Metrics
ENTITY: Project
Infrastructure
ATTRIBUTE:
Dematerialization
MEASURE ID: % of hardcopies of project’s
documents (PHP)
MEASURE
FORMULA:
Z=amount of project’s documents;
NDi=number of released versions of
the document i; SDV= ND1+ND2+ … +
NDZ NH=number of hardcopies of
project documents;
PHP= NH/SDV
RATIONALE: The smaller PHP, the more paper
saved
Green Metrics
ENTITY:
Institutional
Context
ATTRIBUTE:
Flexi-work
MEASURE ID: % of work time spent at home
(WAH)
MEASURE
FORMULA:
MHO=amount of Man Hours spent
at Office by project team;
MHH=amount of MAN Hours spent
at home by project team;
WAH=MHH/(MHH+MHO)
RATIONALE: The most appropriate value depends
on the specific local conditions
Green Metrics
ENTITY:
Institutional
Context
ATTRIBUTE:
Team Location
MEASURE ID: Team Entropy (TLE)
MEASURE
FORMULA:
where: m=number of project teams;
n=number of spatial condition;
li=spatial conditions where teamk
operates.
RATIONALE: TLE describes if team members’
movement results in spatial clusters
of workers or not, determining the
probability of all members being co-
located.
( il kteam ) / (size ( kteam ))
i=1
n
∑
k=1
m
∑
Green Metrics
ENTITY:
Product
ATTRIBUTE: MEASURE ID: Percentage hazardous waste per
total waste generated (PHW)
Avoidance of
environmentally
hazardous materials
MEASURE
FORMULA:
NHW=Not-treated hazardous waste;
THW=Total hazardous waste;
PHW=NHW/THW
RATIONALE: The lower the PHW, the better
Green Metrics
ENTITY:
Product
ATTRIBUTE: MEASURE ID: Computational cost of software
(CCS)
Algorithmic/ code
efficiency
MEASURE
FORMULA:
NF=number of functionalities
implemented by software;
NPCi=average CPU cycles required
by the functionality ith
implemented
by software; CCS=NPC1+NPC2+ … +
NPCNF
RATIONALE: The lower CCS, the more power
saved.
Green Metrics
ENTITY:
Product
ATTRIBUTE: MEASURE ID: Information Flow Complexity (IFC)
Maintainability MEASURE
FORMULA:
LOCA= lines of Code of A;
FANINA=number of calling
subprograms + global variable read
in A; FANOUTA=number of called
subprograms + global variable set in
A; IFCA=LOCA * ( FANINA *
FANOUTA)2
RATIONALE: The lower IFC the better.
Green Metrics
ENTITY:
Process
ATTRIBUTE: MEASURE ID: Peaks and Lows (PAL)
Process Efficiency MEASURE
FORMULA:
UCL= Upper Control Level; LCL =
Lower Control Level; PAL = amount
of work days the effort spent is out
of the range [UCL, LCL]
RATIONALE: The lower PAL the better.
Green Metrics
ENTITY:
Process
ATTRIBUTE: MEASURE ID: Schedule Variance (SV)
Process Predictability MEASURE
FORMULA:
BCWP: Budgeted Cost of Work
Performed; BCWS: Budgeted Cost of
Work Scheduled  SV=BCWP –
BCWS
RATIONALE: The closer SV to 0, the better.
Note: SV is a typical project-based
measure for determining if the
activities run are (or not) aligned
with plans, for any eventual re-
planning.
Green Metrics
ENTITY:
Process
ATTRIBUTE: MEASURE ID: ISO/IEC 15504 Process Attributes
Ratings (PAR)
Process Capability MEASURE
FORMULA:
[Refer ISO/IEC 15504 ]
RATIONALE: The higher PAR, the better
Conclusions
 EAM analysis as a simple and effective way to validate an
initial set of metrics
 Set of Metrics provided represent a starting point
 To be enlarged/completed
 To provide a document with details for actual use
 To be validated by means of case studies

Derivation of Green Metrics for Software

  • 1.
    Derivation of Green Metricsfor Software Fabrizio Fabbrini*,Giuseppe Lami*, Luigi Buglione** *Istituto di Scienze eTecnologie dell’Informazione – CNR, Pisa (Italy) **Engineering.IT spa Rome (Italy) and Ecole deTechnologie Superieure (ETS) Montreal, Canada 13th International SPICE Conference on Process Improvement and Capability dEtermination in Software, Systems Engineering and Service Management Bremen, 4-6 June 2013
  • 2.
    Why metrics forGreener Software  The global ICT industry is claimed to account for approximately two percent of global carbon dioxide (CO2)  Software development has a significant impact on CO2 emissions  Process-centric approach as a possible way to face the question  to deploy and control the sustainability-related processes, the availability of metrics is necessary
  • 3.
    Background: Green SW froma Process-centric Perspective Process Name Sustainability Management Process Purpose The purpose of the Sustainability Management Process is to ensure that products, services and life cycle processes meet sustainability objectives. Process Outcomes As a result of the successful implementation of the Sustainability Management process: 1)Principles and criteria for sustainability are established. 2)The scope of the sustainability-related activities for the project is defined. 3)Activities for sustainability are planned and implemented. 4)Tasks and resources necessary to complete the activities for sustainability are sized and estimated. 5)An organization structure for sustainability (responsibilities, roles, reporting channels, interfaces with other projects or OUs …) is established. 6)Activities for sustainability are monitored, sustainability non conformities are reported, analysed, and resolved. 7)Agreement on sustainability policy and requirements for supplied products or services is achieved. 8)Supplier’s activities for sustainability are monitored. Process Name Sustainability Engineering Process Purpose The purpose of the Sustainability Engineering process is to ensure that sustainability is adequately addressed throughout all stages of the engineering processes. Process Outcomes As a result of the successful implementation of the Sustainability Engineering process: 1)Factors affecting sustainability (e.g. resource consumption sources) are identified 2)Sustainability analysis is performed in order to determine the sustainability impact of factors affecting sustainability 3)Sustainability objectives are defined for the product development 4)Green principles are applied to development processes to identify techniques and methods suitable to achieve the sustainability objectives. 5)Techniques and methods for sustainability are applied 6)Impact on sustainability of change requests is analysed
  • 4.
    Systematic Derivation of GreenMetrics Direct Effects Sustainabilit y Assets Green Factors Green Metrics
  • 5.
    Green Software: Sustainability Assets Many assets responsible for carbon emissions at software development and operation time can be derived  A recent survey identifies 18 key success factors belonging to 4 classes * Success Factors Class Success Factor People & Action Developers Users Top management External agents Project team Social interaction Project Content Project characteristics Project scope, goals, objectives Resources Technology Development Process Requirements determination Project management Use of standard method User participation User training Management of change Institutional Context Organizational properties Environmental conditions* Mc Leod, Mac Donnel, ACM Computing Surveys Vol.43, n. 4; 2011 ** Lami, G. and Buglione, L. IWSM/MENSURA 2012.  In a recent paper ** we identified the following sustainability asset classes SW Sustaianbility Infrastructure People / HR Processes Product Direct Effects Sustainability Assets Green Factors Green Metrics
  • 6.
  • 7.
    Green Software: Direct Effects ICT may contribute to CO2 emissions in different ways  Three level of Effects of ICT in terms of environmental impact: Direct, Indirect and Systemic Effects *  Direct Effects refer to those caused by ICT infrastructures and equipment at production, usage and disposal time. The most relevant are:  Greenhouse Emissions  Power waste  Effort/Time waste  Fuel waste  Material waste production  Paper waste * Saving the Climate @ the Speed of Light”; ETNO – WWF Report; 2008 Direct Effects Sustainability Assets Green Factors Green Metrics
  • 8.
    Green Software Green Factors Green Factors (definition): significant characteristics of a software project able to influence one or more Direct Effect  Green Factors can be derived taking into account DE and SA according to a bi-dimensional scheme Software direct Effects Sustainability Assets People Project infrastructure Processes Institutional context Product Power waste --- Tool efficiency Tool suitability Process Efficiency Process Predictability Process Capability Team location Algorithmic – code efficiency Effort/time waste Team composition Tool efficiency Tool suitability Process Efficiency Process Predictability Process Capability Team location Maintainability Material waste production --- Avoidance of environmentally hazardous materials --- --- Avoidance of environmentally hazardous materials Paper waste --- --- Dematerialization --- --- Fuel waste --- Teleconferences --- Flexi-work Team location --- Direct Effects Sustainability Assets Green Factors Green Metrics
  • 9.
     Entity –Attribute – Measure (E.A.M.) taxonomy mapped on the bi-dimensional scheme to derive Green Factors  Each metric contains the explicit reference to the Entity and Attribute it is based on Derivation of Green Metrics Direct Effects Sustainability Assets Green Factors Green Metrics E. A. M. Entity name Attribute name Measure id. Measure Formula Measure Rational
  • 10.
    Green Metrics ENTITY: People ATTRIBUTE: TeamComposition MEASURE ID: Fitness for Role (FfR) MEASURE FORMULA: RP= number of competences and skills required by the project role; AP=number of actual competencies and skills of the persons allocated to the project role. FfR=AP/RP RATIONALE: The higher FfR the better. Note: The fitness-for-role of the people involved in a project allows a saving in terms of effort spent
  • 11.
    Green Metrics ENTITY: Project Infrastructure ATTRIBUTE: Teleconferences MEASUREID: % teleconference meetings (PTM) MEASURE FORMULA: NT=Number of teleconferences; NF=Number of face-to-face meetings. PTM= NF /(NT+ NF) RATIONALE: The higher PTM, the more fuel saved. Note: PTM allows for monitoring and control of the number of travels due to meetings related to project’s activities
  • 12.
    Green Metrics ENTITY: Project Infrastructure ATTRIBUTE: ToolEfficiency MEASURE ID: Earned Value (EV) MEASURE FORMULA: ET=Actual effort spent using the tool; PE= planned effort using the tool; EV=PE/ET RATIONALE: The smaller EV, the higher the effort saved.
  • 13.
    Green Metrics ENTITY: Project Infrastructure ATTRIBUTE: ToolSuitability MEASURE ID: Tool functionalities usage rate (TUR) MEASURE FORMULA: NF= number of functionality allowed by the tool; UF: used functionalities of the tool; TUR=UF/NF RATIONALE: The higher TUR, the more resource savings. Note: TUR can be used to evaluate if the tool is over-dimensioned for the actual needs.
  • 14.
    Green Metrics ENTITY: Project Infrastructure ATTRIBUTE: Dematerialization MEASUREID: % of hardcopies of project’s documents (PHP) MEASURE FORMULA: Z=amount of project’s documents; NDi=number of released versions of the document i; SDV= ND1+ND2+ … + NDZ NH=number of hardcopies of project documents; PHP= NH/SDV RATIONALE: The smaller PHP, the more paper saved
  • 15.
    Green Metrics ENTITY: Institutional Context ATTRIBUTE: Flexi-work MEASURE ID:% of work time spent at home (WAH) MEASURE FORMULA: MHO=amount of Man Hours spent at Office by project team; MHH=amount of MAN Hours spent at home by project team; WAH=MHH/(MHH+MHO) RATIONALE: The most appropriate value depends on the specific local conditions
  • 16.
    Green Metrics ENTITY: Institutional Context ATTRIBUTE: Team Location MEASUREID: Team Entropy (TLE) MEASURE FORMULA: where: m=number of project teams; n=number of spatial condition; li=spatial conditions where teamk operates. RATIONALE: TLE describes if team members’ movement results in spatial clusters of workers or not, determining the probability of all members being co- located. ( il kteam ) / (size ( kteam )) i=1 n ∑ k=1 m ∑
  • 17.
    Green Metrics ENTITY: Product ATTRIBUTE: MEASUREID: Percentage hazardous waste per total waste generated (PHW) Avoidance of environmentally hazardous materials MEASURE FORMULA: NHW=Not-treated hazardous waste; THW=Total hazardous waste; PHW=NHW/THW RATIONALE: The lower the PHW, the better
  • 18.
    Green Metrics ENTITY: Product ATTRIBUTE: MEASUREID: Computational cost of software (CCS) Algorithmic/ code efficiency MEASURE FORMULA: NF=number of functionalities implemented by software; NPCi=average CPU cycles required by the functionality ith implemented by software; CCS=NPC1+NPC2+ … + NPCNF RATIONALE: The lower CCS, the more power saved.
  • 19.
    Green Metrics ENTITY: Product ATTRIBUTE: MEASUREID: Information Flow Complexity (IFC) Maintainability MEASURE FORMULA: LOCA= lines of Code of A; FANINA=number of calling subprograms + global variable read in A; FANOUTA=number of called subprograms + global variable set in A; IFCA=LOCA * ( FANINA * FANOUTA)2 RATIONALE: The lower IFC the better.
  • 20.
    Green Metrics ENTITY: Process ATTRIBUTE: MEASUREID: Peaks and Lows (PAL) Process Efficiency MEASURE FORMULA: UCL= Upper Control Level; LCL = Lower Control Level; PAL = amount of work days the effort spent is out of the range [UCL, LCL] RATIONALE: The lower PAL the better.
  • 21.
    Green Metrics ENTITY: Process ATTRIBUTE: MEASUREID: Schedule Variance (SV) Process Predictability MEASURE FORMULA: BCWP: Budgeted Cost of Work Performed; BCWS: Budgeted Cost of Work Scheduled  SV=BCWP – BCWS RATIONALE: The closer SV to 0, the better. Note: SV is a typical project-based measure for determining if the activities run are (or not) aligned with plans, for any eventual re- planning.
  • 22.
    Green Metrics ENTITY: Process ATTRIBUTE: MEASUREID: ISO/IEC 15504 Process Attributes Ratings (PAR) Process Capability MEASURE FORMULA: [Refer ISO/IEC 15504 ] RATIONALE: The higher PAR, the better
  • 23.
    Conclusions  EAM analysisas a simple and effective way to validate an initial set of metrics  Set of Metrics provided represent a starting point  To be enlarged/completed  To provide a document with details for actual use  To be validated by means of case studies