As I write this, NASA’s UARS (Upper Atmosphere Research Satellite) is about to plop back to Earth. The orbit of the satellite puts it somewhere between 57 degrees north latitude and 57 degrees south. That spans the width of the world between northern Canada and the tip of South America. Where exactly it will come down is hard to say because the deviations that are possible, due to a variety of factors, make such predictions potentially wildly inaccurate.
I think the degree to which deviations can magnify like this is interesting and may even have some correlation in what we deal with in software projects.
For example — and you’re going to have to bear with me here — what would be considered small navigation errors on Earth can be of much greater magnitude in outer space. And that’s the case even if the navigation errors are the exact same in scale.
[There is a point. Again, bear with me.]
Consider that the Atlantic Ocean is about 4,000 kilometers wide, give or take a few kilometers. So now assume that you’re flying straight across the ocean (yes, that would be a geodesic, if you’re a geometry fan — and, c’mon, who isn’t?) from point A in London to point B in New York City. If, for every kilometer you travel, your plane deviates off its path by just one lousy millimeter (that’s 1/1,000,000 of a kilometer), you would end up in New York City approximately four meters (or about thirteen feet) from your destination. That’s not too bad, right?
[I’m getting to my point.]
Now consider traveling from point A in New York City to point C on some (imaginary) planet in, say, the Alpha Centauri system. That’s roughly 4.3 light-years away. Given that a light-year is 9,500,000,000,000 kilometers, 4.3 light-years is approximately 40,000,000,000,000 kilometers. So if your spaceship were to deviate off course by that same millimeter for every kilometer you travel, you would arrive approximately forty million kilometers off target. (If you prefer units in miles, that is about 24,800,000 miles.) That’s getting very near the distance from Earth to Venus or, if you like visuals, just about fifty round trips between Earth and the Moon.
What does this show us? It shows that the tiniest navigation errors on Earth are probably nothing to worry about too much but in space they would be horrible. The errors become magnified by the vast distances involved.
[My point is imminent!]
At one level, this sort of matches the notion of how bugs can magnify (in their cost and effects) the later they are found in the development cycle. Bugs that are found early in the design process are much less costly (deviate less) than those found during functional test “cycles” or in production. Likewise, scope creep can be very similar in terms of how much the scale of it can change over the “distance” of a project. This can even apply to team concerns, such as where a team is now and where it needs to get to. For example, methodology gaps (the difference between what people say they do and what they actually do) are a good example of where deviations can come into play and have greater or lesser effects depending on what is being deviated from and where.
The point [here it is!] is that ultimately a lot of focus is necessary in order to determine where it’s possible to deviate (and thus where to be watchful) and what tolerances are in place for deviation. Just as you have a path from A to Z in traveling, you have a path from A to Z in terms of where you are now and where you want to get to. Along the way there are many chances for deviation. I believe that attempting to recognize those points of deviation and deal with them in somewhat of a proactive manner is necessary across a broad spectrum of day-to-day practice. It is, in fact, part of the functional basis for change.
“Functional basis of change” sounds pretty interesting, no? Well, I wish it was more complex to go along with its interesting name but it’s actually very simple. It roughly boils down to this:
f(a,b,c) > z
Now, I know, I know: you might be saying: “Wait a minute. Isn’t that a variation on the Gauss hypergeometric function f(a, b; c; z) !?” Alas, no, it’s not, but good guess. No, in this case the above function is meant to indicate a descriptive symbolic relation. Specifically, the idea is that change only occurs when three elements are greater than a fourth element.
Here a is dissatisfaction with the current state, b is a shared vision of the future, and c is concrete knowledge about the steps to get from a (current state) to b (target state). Note here that “dissatisfaction” is not necessarily a totally pejorative term, particularly if it inspires thinking and continuous improvement. Also note that b speaks to strategy and c speaks to tactics. You could also argue that b speaks to theory and c speaks to practice. (Interestingly enough, that does bring up a thought of Karl Friedrich Gauss, he of the above hypergeometric function: “Theory attracts practice as the magnet attracts iron.” Nifty how it all comes together, huh?)
As far as the basis of change, however, these three elements (a, b, c) taken together must be greater than z, where z is the psychological or emotional cost to the individual (or of a group as a whole) of changing the way they work. It’s very difficult to change someone’s psychological personality or to alter a group’s inertia. Another way of saying that is that it’s very difficult to alter the value of z in the above equation. Recognition of that is important (rather than solely relying on terms like “social engineering”) because the way to encourage people to change the way they work is to concentrate on the other three things (a, b and c). The general idea is to make people more dissatisfied with the current way things are done. Then give them a fuller vision of the way things could be in the future. Then you start to explain the first (relatively easy) steps toward change. All the while, you keep building up steps and what you end up with (if done correctly) is a complete change.
By the way, did you happen to notice that those last couple sentences described a sort of recipe of what to do? That’s why this is a “functional” basis of change. It’s meant to be something to do rather than just something to think about. (It’s prescriptive, rather than descriptive; it’s a little bit more rock-n’-roll than country.)
In contemplating the need for and implementation of change, I was impressed when I encountered something that a guy named John Amatt said. He was the organizer (and a participant) in Canada’s first expedition to the summit of Mount Everest and he had this to say:
Adventure isn’t hanging on a rope off the side of a mountain. Adventure is an attitude that we must apply to the day to day obstacles of life – facing new challenges, seizing new opportunities, testing our resources against the unknown and in the process, discovering our own unique potential.
(Their expedition was successful, by the way.) I also have found something Frank Lloyd Wright said to be quite apposite:
An architect’s most useful tools are an eraser at the drafting board and a wrecking bar at the site.
That thought is important because sometimes you have to erase/wreck before you can build or continue to build. I think all of this is important because change is ultimately about deviation. The questions then become:
- How much deviation are you going to get?
- Is that deviation desirable?
- Is that deviation tolerable?
- Will the results of the deviation match your core values?
I guess my overall point here is that the very same process that makes deviation a nightmare can also make it the most powerful force you can harness.