Green Software Engineering: Reducing the Environmental Impact of Code
The environmental impact of software is not a future concern. Data centres currently account for roughly one to two per cent of global electricity consumption — a figure that has remained surprisingly stable as efficiency gains have largely kept pace with demand growth, though demand growth is accelerating with AI workloads. Device processing, network transmission, and the manufacturing of the hardware that runs software add substantially to this figure. The software industry has been slower than most to engage seriously with its environmental footprint, but that is changing. Enterprise customers are including software carbon footprint in procurement criteria. Regulators in the EU and elsewhere are beginning to establish reporting requirements. And an increasing number of engineering organisations have recognised that writing more efficient software is simply better engineering — independent of the environmental benefits.
The three principles of green software engineering
Energy efficiency. Use less compute to accomplish the same outcome. This is not primarily a hardware or infrastructure concern — it is a software design concern. Inefficient algorithms, unnecessary data transfers, poorly optimised queries, and excessive polling all consume energy that better-designed software would not. The performance engineering discipline that most organisations have applied for latency and cost reasons is also the primary lever for energy efficiency: software that does the same thing with less compute uses less energy and costs less to run.
Hardware efficiency. The manufacturing of hardware — servers, networking equipment, end-user devices — is responsible for a significant portion of the technology sector's carbon footprint. Software that is designed to run well on older hardware extends the useful life of existing devices and reduces the demand for new manufacturing. The converse of this principle is also true: software that requires frequent hardware upgrades due to bloat, poor performance, or artificial minimum specifications is generating embedded carbon demand that does not appear in any electricity bill but is real and measurable.
Carbon awareness. The electricity grid is not uniformly clean. At any given time, the carbon intensity of electricity — the amount of carbon dioxide equivalent emitted per kilowatt-hour — varies significantly based on what mix of generation sources is currently meeting demand. Carbon-aware computing schedules workloads to run when and where the grid is cleaner — shifting batch jobs to overnight windows when renewable generation typically increases, or routing workloads to data centre regions with lower current carbon intensity. This does not reduce the energy the workload consumes; it reduces the carbon that energy consumption generates.
How Scrum teams incorporate sustainability
Include environmental impact in architectural decision records. Architectural decisions that affect the compute intensity, data transfer volume, or storage requirements of a system have environmental consequences that rarely appear in ADRs. Adding a sustainability field to the ADR template — a brief assessment of whether the decision increases or decreases the energy footprint of the system and why — builds environmental thinking into the design process without adding significant overhead.
Use carbon-aware CI scheduling. Continuous integration pipelines often run on schedules that are convenient for engineers but not optimised for grid carbon intensity. Shifting long-running test suites, build pipelines, and batch processing to overnight windows or to carbon-aware cloud regions can meaningfully reduce the carbon impact of CI with minimal disruption to team workflow. Several cloud providers now offer carbon-aware scheduling tools that make this straightforward to implement.
Optimise queries and reduce CPU cycles. Poorly optimised database queries, N+1 query patterns, and excessive API calls are common in production systems and generate unnecessary compute load. Performance optimisation work that reduces CPU cycles and I/O is directly equivalent to energy reduction. Scrum teams can incorporate this into their Definition of Done by including query performance review as part of the pull request process for database-touching changes.
Measure and report on software carbon intensity. You cannot manage what you cannot measure. The Green Software Foundation's Software Carbon Intensity (SCI) standard provides a methodology for calculating the carbon footprint of a software system per unit of output — grams of carbon dioxide equivalent per user, per transaction, or per API call. Teams that instrument their systems against the SCI standard gain a measurable baseline against which efficiency improvements can be tracked over time — and a metric that increasingly appears in enterprise procurement criteria.
The Green Software Foundation and the SCI standard
The Green Software Foundation, a Linux Foundation project with members including Microsoft, Google, Accenture, and others, has published the Software Carbon Intensity specification as an open standard for measuring software emissions. The SCI calculates emissions as a function of energy consumption, the carbon intensity of the electricity used, the embodied carbon of the hardware the software runs on, and a functional unit that normalises the calculation to make it comparable across systems. Adopting SCI does not require a large upfront investment: many organisations start with estimates and move toward direct measurement as instrumentation matures. The value is not in the absolute number but in the trend — demonstrating that engineering decisions are making the system progressively less carbon-intensive over time.
For Scrum teams, the practical entry point is modest: add sustainability to the sprint retrospective agenda once per quarter, review the team's top three energy consumers, and pick one to address in the next sprint cycle. The cumulative effect of that discipline, applied consistently across a team and an organisation, is material — both for the environment and for the system's operating cost.
If your organisation is building out its agile delivery capability and wants to understand how sustainability practices can be integrated without adding overhead to your teams, XNM's program and project delivery advisory works with engineering organisations to build delivery practices that are efficient, sustainable, and commercially sound.