Software Projects as Rock Climbing

This recent rock climbing metaphore is tenuous at best. I can make the same arguments for basically any professional endeavor.

Are you saying software projects are like a peanut butter sandwich?

Personally, I find his insights to be mostly useless in the real world.

The value of the metaphor is only useful insofar as it results in actionable things you can do in the real world, on your own project, that result in practical benefit. That’s why I linked to his book on the Crystal Clear method. I’m curious, has anyone reading this tried it?

You know, Jeff, you have done quite an 180 degree turn away from what you said previously.

I think you should be familiar with common methodologies, but that doesn’t mean you have to be a slave to them.

I think you should be familiar with common methodologies, but that doesn’t mean you have to be a slave to them.

Right then, what is the Crystal Clear Method? So far we’ve heard about war, rock climbing, games and swamp races. But nothing at all about what this wonderful method really is.

Or do I have to buy the book to find out just what I’m getting? Come on, if you’re going to bag a referral bonus from Amazon, the least you can do is to be an honest salesman and show us the real product we’re supposed to buy. Or is the whole book a series of analogies with extreme sports?

Huh: only wimp-ass programmers sink bolt into natural rock: real programmers perserve their jobs with no comments, odd techniques, and as much assembly as possible!

Foob

What exactly is a ‘chuck’ when applied to rock climbing? :wink:

I happen to be a programmer, and am also a rock climber. I would say there is no comparison between the two, at least in my case. I climb for recreation, I might get to the top of something, but I just come back down.

When I am coding, I will create a feature, but I won’t delete it (unless it really really sucks!) I create the feature so that other’s can do that feature. I do not climb so that other people can benefit from it.

Refering to tools…I find several similarities between climbing and coding. Both of them have tools, and the tools can be used in more than one way. I beleive that there is no ‘wrong’ way to use any tools, but there are usually several ‘better’ ways to use a tool.

Anybody can climb to some point, as can anyone code. It does not just require having the knowledge, it depends on being able to implement your knowledge in the correct way to acheive your goal. Rock climbing requires enough strength to implement your teqnique, and coding requires enough knowledge to implement.

I would say they are probably about as similar as two different things can be, but that could be said about almost anything, as was mentioned above regarding ballet.

Cam Tardi

1 Like
public class ClimbingOutOfCubicle
{

public static void main[String[] args]
{
  if((waistline  MaximumWaistline)  !(carpeltunneltest))
     {
        ClimbOverWall();
     }

    public static void ClimbOverWall()
     {
      while(you.location != top)
         {
           Grap.Wall();
           you.PullUp();
         }        
     }
   
}
}

Let’s stop making useless metaphores, and concentrate on those that seem unique, and actually contribute something to our understanding of ballet dancing. I mean, software development.

Heh. :slight_smile:

Well, it’s always dangerous to take a metaphor too far. But, they can be useful to highlight aspects of a topic that might otherwise be hard to see (either because they’re too abstract, or because we’re too familiar with them to actually think about them).

Personally, i can’t dance. I’ve never taken ballet, and the only experience i’ve had dancing in any form have involved massive quantities of alcohol. I’m not a rock climber either, but i have climbed rocks and can appreciate the value of skill, experience, and proper equipment. I’ve also spent a fair bit of time hiking through marshes, and making maps, and cutting trails…

Point is, as with any metaphor, YMMV. Gosh knows how many football metaphors have been wasted on me - but considering the popularity of the sport(s), i’m sure they have meaning to a fair number of other readers. Ya gotta just take what you can find…

I thought this thing was witty and sensible.

I am a former member of the Japan Expert Climbers’ Club (which, despite its ridiculous name is a group of the best climbers on the face of the planet) and of the Groupe Alpine Internationale of Tokyo.

In the first I am one of the two or three least competent members. In the latter I and the excellent Wendy Holdenson, from Sweden, are the teachers, and we keep all the other members from accidentally killing themselves and each other.

The parallel with computer programming is as follows: some people are a thousand times as good as others – in terms of lines of good code that they can produce before breakfast.

1 Like

I find it ridiculous that Rock climbing is a manly sport, my 6 year old daughter outclimbs most adult males who act all macho and have little experience and some of the greatest achievements in climbing have been accomplished by women.(See Lynn Hill and her first free ascent of the nose El Capitan and then her follow up first free ascent of the nose in a day). I dont know much about programming but I assume the point of a metaphor is to draw similarities so that people can understand them on their own terms. If not many programmers are rock climbers this may not be a good example.

P.S. A chock is a form of protection wedged into the rock that a sling and carabiner are attached to that the climbers rope is clipped through for protection.

1 Like

I think I just figured this whole rock climbing thing out.

It’s not a methodology. Because it doesn’t really tell you anything unique.

It’s a motivational speech.

Which explains why so many “manly” activities are used. If you can get your team to walk away thinking they’re cool extreme dudes for writing that SQL then hey, motivation! Making them think they’re “sissies” will probably not have the same productivity-boosting effect.

Today on the ‘Metaphors Are Fun’ channel:

Software Development is like …

Cooking:

  • A low barrier of entry means anyone can do it, leading to high variability of quality that can’t be analysed until you try it.
  • Methodologies are an aid, but in no way guarantee anything.
  • The end result is not guaranteed in any way to be of any benefit to you.
  • Sometimes, no matter how good you are, you will burn the souffle.
1 Like

Hmm… peanuts. I mean, souffle.

The point of metaphor is to take a process that is complex and bring it to a common, more understood level that is not-so complex. Perhaps, even to gain more understanding of the complex subject by extending the metaphor. The problem comes with bad metaphors that are extended and don’t lend additional insight into what the author is comparing against.

The biggest problem I have with a rock climbing metaphor is that it isn’t really a ‘common’ thing. How does a rock climbing metaphor help me understand the process of software development? Really, all that has happened is that you (Allistar, I suppose) has transferred things he knows about development to a sport he enjoys.

The building metaphor, tried and true, still goes a lot further. You can put together a dog house without a plan and even if you mess it up, it isn’t a big deal to tear it apart and redo the whole thing. You really need a blueprint for a house, though. Moving an interior wall can be difficult after the house is built. That kind of thing is easy to translate to our daily jobs, in my opinion.

g

In my opinion the most realistic metaphor is Sport Climbing == Programming:

It’s fun, it’s not dangerous, it’s technical but you only need strictly technical skills, you have to know your tools, but you need to know only the ones you really need, you don’t need to plan a lot because the route has already been setup by someone else, and it’s not very team oriented.

https://codeclimber.net.nz/archive/2007/04/05/Software-development-like-which-climbing

Oh…K. How does this rock climbing analogy hold for software testing phase?

what is it called when you get stuck and you cant climb down or up?

Being a rock climber and a programmer. I found the analogy to be very true due to the trials encountered while performing each activity.

One day while climbing with a buddy of mine we decided to follow this beautiful dihedral to the summit of a 400ft granite wall. Now don’t let me fool you this was not the hardest 400ft climb you could do. That is until we were about 100ft from the summit, we hit a large overhang that provided very little in terms of protection. So here was our dilemma we were to far up to go back and reevaluate our plan, so we had to adjust it. We ended up finding a line to the right that provided safety to navigate around the overhang.

So In Comparison to Software Engineering:

There have been times as a developer that I approach a particular situation with a plan in mind. Then I come to a point where that plan is no longer 100% effective, so I must adjust.

Software projects are more like piece of art than adventure sport.

I think the reason some people are bored of analogies like this is that they are already software developers. One of our strengths, even if we do not realize it, it analogies. We really are writing an analogy every time we make code match a business requirement. We are good at it. Therefore, we do not find them to be very clever.

Likewise, one of our common faults is a lack of seeing things from a different perspective. So while articles like this could inspire epiphanies from our management, some of us tend to just be bored, instead of saying, “Yes, this is correct. Let me forward it to my boss to help enlighten the fool… erm, I mean… the guy.”

In the end, my favorite (and in my opinion most genuinely accurate) metaphor for software development is farming.

But as far as climbing goes, do yourself a favor and watch this amazing film, if you haven’t already:

1 Like