How Software Engineers Can Help the Climate

May 22, 2009

I had a conversation with Jon after Steve’s talk yesterday. Here’s the gist of it. The disagreeable parts are my unfounded opinions. The reasoned, intelligent stuff is Jon’s.

First: Climate change is a big problem. We have many possible activities which could help. Most of them are distractions because they could never solve the big problem.

Imagine I ask you to move a handful of dirt across a garden. You would pick it up and move it with your hands.

Let’s say I ask you to move a few kilos of dirt across the garden. Then, you might move it one handful at a time. It would take all day, but it would get you there. If you were impatient, you might step back and look for new tools. Perhaps you would go out to find a shovel and move the dirt one shovelful at a time. Or maybe you would use a wheelbarrow.

What happens if I ask you to move a mountain? It is true that moving dirt one handful at a time is progress. But it’s obvious that it will never get you there. If you try to move the mountain one handful at a time, you waste your energy and time. You’ll be forced to step back and think about the problem. You couldn’t do it with a shovel. You couldn’t do it with a wheelbarrow. In fact, you couldn’t do it with any tool currently in existence.

If I asked you to move a mountain, you would need to invent entirely new tools. You would probably need to create an organization to manage the effort of designing the new tools and putting them to work.

If moving the mountain were really important, you wouldn’t want to waste any time on solutions that won’t solve the whole problem. You would want a strategy and a systematic approach. You would create a system that explores potential solutions, evaluates them, and improves them.

My first point is that the scale of the problem is so large that most proposals will be essentially useless. We need systems designed.

Steve asks, “How can we as software engineers help?”

We are specialists at managing complexity. We have techniques and notations for eliciting and modeling requirements. We architect, test and debug large systems. We create abstractions. We are systematic thinkers. Software engineering researchers are increasingly familiar with empirical approaches. We have large libraries of general approaches to problems: Branch and bound, genetic algorithms, searching, machine learning and so on.

We can apply these skills to the design of systems (or meta-systems). There are analogies between software design and organizational design. We should exploit these and apply every tool in our toolboxes to building a robust system for addressing climate change.

I don’t think this is too vague. We could start today by calling together requirements elicitation experts and mapping out requirements for climate change change. We could model the artifacts of an organization such as values documents and organizational structure and link these artifacts to the goals they’re meant to achieve. We can specialize business process models.


2 Responses to “How Software Engineers Can Help the Climate”

  1. Ian Says:

    I think one of the best depictions of global climate change is in the movie “An Inconvenient Truth” by Al Gore. It is very sobering when he shows a chart with historical CO2 levels and then uses a lift to rise up high enough to show where it is today. On he indicates around 150,000 die annually from global warming, and this will double to 300,000 annually in the next 25 years – although I doubt that includes any climate change wars.

    Not to burst your bubble, but there are plenty of engineering disciplines that have lots of experience in (very) large systems construction and management that makes most (all?) current software projects look tiny … I’m sure the 767, the space shuttle, or even the Apollo project all had teams of people that put even the largest of software projects to shame – they all delivered near bug free complex systems.

    What we need are the US defense contractors to engage in this … the US needs to declare war on climate change!

  2. […] be used to address to the climate crisis). Aran posted a quick summary of the session, and some afterthoughts. Now we’ve got to do the community building, and keep the momentum going. [Aran said he […]

Comments are closed.

%d bloggers like this: