That was supposed to be the final nail on the final board of your son’s new tree house. Instead, it was your thumb.
Colorful language passes through your mind. The sensation in your thumb evolves and seems to regenerate a new, fascinating kind of pain with every passing second. You lose the grip on your hammer…and it falls 20 feet from your perch.
The pain, while it should be driving you down the ladder and probably to the emergency room, seems to be making you reflective. Finding yourself sitting cross-legged on the floor of your creation – you start to think about how amazing it is, that you know exactly how fast that hammer accelerated to the ground. 9.8 m/s^2. In an effort to reconstruct the pain-driven highly-scientific experiment, you pick up the baseball sitting next to you and drop it as well. What do you know, it hit the ground in about the same amount of time.
Rockets, airplanes, buildings, circus acts, and numerous other things and activities, reason from and rely upon this principle that you, in your intuition grasp quickly, and re-prove to yourself in short-order. This intuition is powerful – because it’s been built up over a lifetime of such experiments. In fact, one of the first things I’ve seen little kids do is start to just arbitrarily drop things. In doing that, they’re not spelling out the mathematics and the precise nature of this behavior, but they are creating intuition. Which leads to an ability to reason and act in alignment with the way this thing happens. If as a 10 year-old I fall out of a newly built tree-house, I realize about the rate I’ll be traveling by the time I hit the ground, and I’ll have intuition I can reason from that will hopefully prevent me from trying that experiment in the first place.
Imagine for a second though that we met an alien, freshly arrived from an alternate universe where this pattern didn’t occur with the same regularity – and thus, didn’t have the intuition built up around it. And as a new arrival to Earth they begin to comment on the fact that when you drop something it always accelerates to the ground at the same rate.
They know all about electrons and protons and the various interactions that draw them together and push them apart. They know that past the atomic level, we can’t even really observe things without changing them. Atoms and their constituent parts are constantly in motion, heading in every direction.
How could it possibly be that at the higher levels of abstraction, that there is this consistent behavior.
It turns out it’s an emergent behavior based on the curvature of space around highly massive objects (in our universe anyway, not in the alien’s apparently). And it leads to this particular behavior. It would be VERY difficult to predict the motion of an atom, and impossible to precisely predict that of an electron, but as a collection – the “object” (whatever _that_ is) moves with uniform acceleration.
This emergent behavior has particular characteristics and applies broadly – even if we don’t fully understand the dynamics that create it. We as humans have an instinctive capability to handle things like this called generalization – we notice this emergent behavior, understand its characteristics, and then can apply another of our powerful instincts, reason, to it. And we do all of this without even being conscious of it most of the time.
When we look at groups of people creating software – this same thing happens. Humans are nearly impossible to predict. At a low level of abstraction – when one human is going to schedule a meeting with another, what one human will say or do to another, is fairly difficult to predict. It’s like the electron.
But as humans apply themselves to working together….working together on software, behaviors emerge. Ones that we can generalize, and thus reason about.
This is important to realize as we deal with delivering software – since it is absolutely essential to exercising the best possible craft, that we understand and reason about the world with every available tool. How we work together can create space for craft or it can destroy it. The tools and techniques in the marketplace – Agile, Scrum, Kanban, to name a few, work to the extent that they leverage the “forces” (emergent behaviors) toward ends that we like – e.g. making space to craft great software and thus meeting needs.
What forces are in play and how they interact is highly sophisticated, and so a given situation requires a deep understanding to be able to focus and manipulate them toward specific goals. Out of the box tools help with this, but they aren’t the last word.
Ultimately, though, the point is that this isn’t something we can delegate to someone else, or assume has been covered by the larger organization.
It is fully in our hands.
Here’s to creating great software (together)!