"Kant described a mechanism as a functional unity, in which the parts exist for one another in the performance of a particular function.
An organism, on the other hand, is a functional and structural unity in which the parts exist for and by means of one another in the expression of a particular nature.
This means that the parts of an organism – leaves, roots, flowers, limbs, eyes, heart, brain – are not made independently and then assembled, as in a machine, but arise as a result of interactions within the developing organism."
— Brian Goodwin, How the Leopard Changed His Spots
If we try to cross this lake by following only the stepping stones that lead toward our objective, we’ll soon get stuck. But what if we let go of our objectives? What if we focused on trying to find new stepping stones instead? This is novelty search. Instead of looking for something specific, you look for something new.
Novelty search isn’t just random, it’s chance plus memory. Together, these ingredients do something interesting.
...Stepping stones are also combinatorial. Each new stepping stone we discover expands our potential to find even more stepping stones. Collecting stepping stones is a luck maximization algorithm. By collecting and combining stepping stones, we might arrive at our destination by accident, or somewhere more interesting!
Fascinatingly, one of the other big complaints people had about agile is no iteration. I don't understand how being in an agile environment makes people less iterative, but somehow that seems to be the case. And I think it's because people misunderstand and think that agile is just about putting features out faster, and not about the important part, which is getting something in front of users faster so that you can get feedback on it and make it better.
People are afraid to let design have time to actually figure out the right thing to make, because "whatever will the engineers do?" – fuck you, there's plenty for the engineers to do. Go fix some technical debt. Go fix those 700 bugs that you de-prioritized or marked as won't fix because you're an asshole.
I'm sorry, I love engineers. I don't know why I'm yelling at them. But you know, there's plenty for the engineers to do. There's all sorts of cleanup. They can work on dev-ops stuff! They can work on their build process! Make it faster! I'm not worried about keeping the engineers busy. If you think that the only thing that engineers can do is build yet another stupid feature that nobody is going to use, then you're a garbage designer and you should quit.