Of all the monsters that fill the nightmares of our folklore, none terrify more than werewolves, because they transform unexpectedly from the familiar into horrors. For these, one seeks bullets of silver that can magically lay them to rest.
The familiar software project, at least as seen by the nontechnical manager, has something of this character; it is usually innocent and straightforward, but is capable of becoming a monster of missed schedules, blown budgets, and flawed products. So we hear desperate cries for a silver bullet…
– Fred Brooks, No Silver Bullet
Software is full of failure, and will be until we can learn how truly to build it. Fear of failure is fear of death. In fear of failure, we seek order.
– Richard Gabriel, Mob Software
Eventually, people begin to realize that dealing with fear is not good; instead we need to be adults, taking calculated risks and living with the consequences. We need to drive out fear in the organization (think Deming) and instead live with uncertainty. This brings us to what we called (again, lack of a better term) “second generation” methodologies that are a backlash to the first. XP is a great example – the whole point is simplest process that could possible work, combined with just enough safety nets that you can live with a little risk. Stop living in fear that the developers won’t hit some meaningless deadline for a huge piece of work, and instead have a simple working system up in weeks and add features as you go. Duh.
As I said before, these second-generation methodologies are, for the most part, just a backlash to the first. They are saying “well, heck, too much process didn’t work. Let’s take away and take away and take away process untill we have something workable.”
So, second generation languages are still caught up in fear – that is, driving it out. That’s half the sales pitch. If we just take those gates down, maybe pave the road, we will get home faster.
Perhaps the persistent tendency to harden insight into unquestioned doctrine arises from our need to feel secure, to gain a hold on our situation and stave off the fear that things are dangerous and beyond our control. It’s an attitude that naturally appears when dealing with illness, aging, and mortality, the greatest of fears; and the fact that we really aren’t in control, that we can’t wield power over such awesome eventualities, just makes us crave answers and solutions all the more.
To truly learn a new language, you have to learn the different things. When you find something difficult, something that doesn’t make sense, you don’t avoid it, you embrace it. This is where the actual learning takes place.
Ordinarily we are swept away by habitual momentum. We don’t interrupt our patterns even slightly. With practice, however, we learn to stay with a broken heart, with a nameless fear, with the desire for revenge. Sticking with uncertainty is how we learn to relax in the midst of chaos, how we learn to be cool when the ground beneath us suddenly disappears. We can bring ourselves back to the spiritual path countless times every day simply by exercising our willingness to rest in the uncertainty of the present moment — over and over again.
– Pema Chödrön, Comfortable with Uncertainty: 108 Teachings, pg 8
Doubt is not a pleasant condition, but certainty is absurd.