Eliminating Waste - Green ánd Lean?
One of the reasons I called this newsletter "Cutting Waste in Software Land" is that I have learned a lot about limits over the past few years.
As a first-time entrepreneur, I wanted to go bigger, faster, and further!
I did not last 😅 I learned the hard way that I did something wrong and had to reframe my thinking.
The first and foremost step for me was to uncover and acknowledge my own limits. The second was the (reassuring) recognition that everybody has limits—including the fantastic colleagues I worked with! The final takeaway was that there are also limits imposed by the context: markets have their (current) size, clients may not be willing to change, and partner companies have their (sometimes opposing) objectives.
Learning to recognise limits has significantly shifted my thinking. I used to believe that success meant pushing beyond boundaries, relying on willpower. But this "brute-force" approach proved unsustainable... I’ve realised that lasting progress is about making the most of what we have without (systematically and continuously) crossing the limits.
These insights have not tampered with my ambition—on the contrary 📈 ! They opened up whole new domains of learning, like lean software development, and an area I am increasingly exploring: digital sustainability.
At that intersection, exciting thought experiments can happen.
Like "How can we apply the seven wastes (or muda) defined in the Toyota School of Lean Manufacturing to Digital Sustainability"?
The different types of waste can be summarised as follows:
- Over-production: Manufacturing an item before it is required
- Unnecessary transportation: Moving inventory from place to place, which puts it at risk for damage without adding any value
- Inventory: Holding inventory adds cost without adding any value to the customer; excess inventory takes up valuable space, increases lead times, and delays innovation
- Motion: Refers to unnecessary movement of workers on the shop floor
- Defects: Quality issues result in rework or scrap and can add tremendous additional costs to organisations that don’t habitually find ways to eliminate sources of defects
- Over-processing: Using advanced, expensive tools to do what could be done with more straightforward tools
- Waiting: When inventory waits between value-adding steps
Just like the book Lean Software Development provided a mapping from lean manufacturing to software development, these types of waste can be a fantastic inspiration source when considering reducing waste in the digital world.
- Over-production & Inventory
- Zombie services running at shallow usage (e.g. server instances running during the off hours)
- Service Levels that are way higher than the actual need, leading to over-dimensioned infrastructure or unnecessary back-ups
- Doing the same calculations over & over again
- Keeping data available in active data stores when it is not needed, using more energy than in passive data stores
- Unnecessary transportation & Motion
- Spreading data among multiple data centres in multiple regions, ... causing data traffic that we can avoid.
- Sending too much data over the wire (e.g., ultra-HD video, unoptimised image formats, large API payloads, etc.)
- Over Processing
- Using heavy frameworks rather than lightweight solutions for the problem at hand
- Using GenAI for mundane tasks or information retrieval that can be done through classic search
- Defects & Waiting
- Having defects, causing rework (= energy), memory leaks (= energy), ...
- Letting the user wait for unnecessary computations (computation = energy, so more efficient software will also use less energy)
These are just a few examples... You can definitely come up with more (and better) ones! Feel free to let me know 📧
Yet, this quick thought experiment highlights 2 points for me:
- Reusing the (known) principles of lean provides an easy-to-use framework to explore different ways to reduce (digital) waste
- Tackling the sources of these wastes will bring many co-benefits: cost reduction, better performance, better user experience, and simpler code.
May this thought experiment inspire you! 🔋 💪
A Book I Read
As an avid reader, I was delighted to see this first book on building green software. It provides a handy (and very much needed!) overview of the different approaches and tactics one can take to make the software you develop or operate more sustainable.
Member discussion