Derivation of Green Metrics for Software
Fabrizio Fabbrini*, Giuseppe Lami*, Luigi Buglione**
*Istituto di Scienze e Tecnologie dell’Informazione – CNR, Pisa (Italy)**Engineering.IT spa Rome (Italy) and Ecole de Technologie Superieure (ETS) Montreal, Canada
13th International SPICE Conferenceon 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
Sustainability 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
DevelopersUsersTop managementExternal agentsProject teamSocial interaction
Project Content Project characteristicsProject scope, goals, objectivesResourcesTechnology
Development Process
Requirements determinationProject managementUse of standard methodUser participationUser trainingManagement of change
Institutional Context
Organizational propertiesEnvironmental 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
SWSustaianbility
Infrastructure People / HR Processes Product
DirectEffects
SustainabilityAssets
GreenFactors
GreenMetrics
Green Software:Sustainability Assets
DirectEffects
SustainabilityAssets
GreenFactors
GreenMetrics
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
DirectEffects
SustainabilityAssets
GreenFactors
GreenMetrics
Green SoftwareGreen 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 ProcessesInstitutional context
Product
Power waste ---Tool efficiencyTool suitability
Process EfficiencyProcess Predictability
Process CapabilityTeam location Algorithmic – code efficiency
Effort/time waste
Team composition
Tool efficiencyTool suitability
Process EfficiencyProcess Predictability
Process CapabilityTeam 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---
DirectEffects
SustainabilityAssets
GreenFactors
GreenMetrics
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
DirectEffects
SustainabilityAssets
GreenFactors
GreenMetrics
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)
MEASUREFORMULA:
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)
MEASUREFORMULA:
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)
MEASUREFORMULA:
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)
MEASUREFORMULA:
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)
MEASUREFORMULA:
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)
MEASUREFORMULA:
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)
MEASUREFORMULA:
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
MEASUREFORMULA:
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
MEASUREFORMULA:
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 MEASUREFORMULA:
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 MEASUREFORMULA:
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 MEASUREFORMULA:
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 MEASUREFORMULA:
[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