Resilience in software projects means working with uncertainty instead of trying to avoid it. Two strategies help: watching trends rather than single values, so changes in direction show up early, and planning deliberate steps that don’t lead straight to the goal but produce knowledge. The greater the uncertainty, the more gaining information matters compared with efficiency.
Key Takeaways
- Bug trends tell you more than individual bugs, because they show whether a system is getting worse or recovering, without you having to chase every single case.
- Standing still doesn’t make a system robust: freezing it instead of adapting it uses up the resources where it stands and loses out in the long run.
- A deliberate step away from the direct route, such as the 90-degree turn moths make when looking for a mate, optimizes the quality of information rather than efficiency and reaches the goal faster.
- Hypotheses are only useful if you set out to falsify them: actively looking for a refutation cuts off whole branches of a decision tree instead of working through all of it.
Resilience in Software Projects: What Nature Knows About Uncertainty
Nature has had a lot of practice at dealing with uncertainty, and that is where resilience in software projects can learn from it. Animals live in large ecosystems, interact with other species, and their environment keeps shifting. Volatility there is the normal state of affairs.
That skill is becoming more important in software projects and companies. The geopolitical situation hits markets directly, the range of possible methods and technologies is enormous, and many teams struggle with where to start at all. Anna Melbinger, a physicist with ten years of experience in IT projects, draws a parallel: the processes nature has worked out over a very long time are almost always about staying robust and coping with change.
This is not the same as bionics. Aircraft wings modeled on bird wings, the lotus effect, swimsuits inspired by shark skin: that is the mechanistic approach, building something that looks like nature. The more interesting question is how. Don’t copy the form, copy the strategy biological systems use to make decisions when the signals are poor.
Uncertainty Is a Given, Not a Defect
You can’t develop uncertainty away. In software testing, there is a belief that good development produces no bugs. That is nonsense. Systems are too complex, and some uncertainty always remains.
AI makes this more pronounced. Besides real bugs, there are hallucinations, faulty behavior that is built into the system itself. Trying to avoid that means fighting the wrong battle. It makes more sense to accept uncertainty as a fact and adopt methods that work with it.
Agile methods rest on exactly this idea. At its core, inspect and adapt is an attempt to build adaptability and a willingness to learn. At the basic level, that works. Anna argues, though, that the principle has to reach much further, all the way up into management decisions, instead of stopping at the edge of the team.
What Bacteria Teach About Trends over Numbers
Look at changes, not snapshots. Some bacteria want to swim toward a source of sugar but can’t measure the difference between their front and their back. It is simply too small. Their solution is to start swimming and measure the change as they go.
If things improve, meaning more sugar or fewer toxins, the bacterium keeps swimming in that direction for longer. If things get worse, it changes direction sooner. Every now and then it changes direction on purpose, so it doesn’t end up in a dead end. What counts is not the absolute reading at one point but the direction of the change.
For projects, this has a simple and often underrated consequence: trends say more than single values. Chasing individual bugs in project management gives you very little to go on. The bug trend, by contrast, shows whether things are tipping or whether the team is fixing issues faster than new ones come in.
“I think bug trends are sometimes far more useful than the bugs themselves.”
(Anna Melbinger)
Burndown charts already work this way, and Anna argues for using the principle more often. A velocity trend often says more than velocity on its own, because you can see at a glance where things are heading. People process visual trends quickly and immediately recognize whether something is getting better or worse. Her practical advice: put a few more trends on your dashboards.
The bacteria strategy holds a second lesson. Standing still is not the same as being robust. If you believe robustness means not moving and not changing, you are heading for trouble. The bacterium that stays put eats up all the sugar where it is and dies. Here, movement is how information gets generated.
How Moths Show That Deliberate Detours Pay Off
Sometimes the fastest way to a goal is a deliberate step sideways. Male moths find a mate purely by following pheromones drifting through the air. Wind and obstacles turn that into an extremely noisy signal.
Unlike bacteria, moths don’t just follow the direction. Every so often they make a deliberate 90-degree turn and move off to the side. Mathematically, they are actively optimizing the information they get. They are testing how good their current direction really is.
Picture it on a hill. The bacterium slowly spirals its way up. It notices that things are improving, but it takes forever. The moth turns 90 degrees, notices that the ground falls away here, concludes that uphill must be the other way, and gets there much faster.
Which strategy fits depends on the situation. For the moth, the outcome is binary: if it misses, there are no offspring. Its environment is extremely noisy, and the risk of missing the target is high. The bacterium is content as long as it finds something to eat and things keep improving.
Translated to projects: sometimes it is worth doing something that doesn’t lead directly to the goal, purely to gain knowledge. We tend to push for efficiency at every step. A deliberate step sideways runs against that reflex and can still get you there faster.
Two concrete examples:
- When customer feedback contradicts itself, don’t optimize in one direction at random. Build a small mock-up first to find out what the actual problem is.
- When a retrospective produces conflicting signals, don’t act on either one right away. Often both sides mean the same thing, for very different reasons.
Optimize for Knowledge First, Efficiency Second
Which mode is right depends on how uncertain things are. When uncertainty is high and the risk of missing the goal is large, moth mode is the right choice: gather information before you optimize. Anna calls this infotaxis.
In practice, that means not thinking in milestones and project plans at the start, but in decision points. What lies beyond a decision point often can’t be planned properly yet. The aim is to have enough information to decide.
Once the team is on track and knows the playing field, it is time to optimize. That is when improving sprint velocity and working on the details pays off. Not before. There is no ready-made template for this. Both modes are real, and you have to decide actively which one you are in and switch between them on purpose.
Form Hypotheses in Order to Disprove Them
Work with hypotheses, but aim to falsify them. Some people avoid hypotheses because they are afraid of becoming biased. That misses the point. Quickly form a hypothesis that explains what you are seeing, and then try to prove it wrong.
The benefit shows in complex situations with huge decision trees. You don’t walk through the entire tree. Instead, you ask the questions that cut off a whole branch if the hypothesis falls. That saves a lot of legwork.
It takes courage, because a wrong hypothesis gets exposed quickly, and that can be uncomfortable for a moment. Karl Popper laid the groundwork for this approach. If your goal is, at best, to fail, you are left with whatever survives, and that is where you can go deep and optimize.


