I was asked by one of my clients to give a short introduction into Agile. As we did not have an appropriate presentation for this kind of audience and knowledge level I decided to create a new presentation. And while I was thinking of a good metaphor to compare traditional waterfall against agile methodologies the pictures of my recent snowboarding trip caught my eye and it hit me; Skiing (or snowboarding) is a very good metaphor to compare both methodologies.
It has the same characteristics as a project in that once you get started it just keeps on going; There are other projects (or skiers) in your way, environments change and conditions might not be what you expected them to be.
Let’s see how it works out:
Walter the waterfall skier.
Walter is standing on top of the mountain, having just left the ski lift. During the requirements phase he and Adrian had decided that they were going to have lunch in a restaurant not too far from here at the bottom of the slope. The only thing between Walter and a bratwurst and beer is a couple hundred meters of completely empty ski slope.
Looking down he decides it is time to make the design for the decent. He takes out his notepad from his backpack, sits down and starts drawing the slope with the estimated distances and angles on it.
He can not really see all that well past one of the turns, but luckily he is well prepared and he takes out some of the photographs of the last part he found last night and continues drawing.
Happy that the drawing of the slope is accurate enough Walter starts drawing in his planned decent. This involves drawing in every turn his is going to make to make sure he slows down enough so that he stays in control, that he goes quickly enough to go over that bump and that he avoids the pillars in the middle of the slope.
Finally he is happy with the result, stands up, and puts on his skis and goes..
Adrian the agile boarder
A little bit earlier Adrian had realized he was due to meet Walter at the restaurant in 30 min. The restaurant was just over the hill and if he left now he would make it there in time.
On the ride in the ski lift Adrian takes a look at the map. The slope on the other side is a red slope, which means it would not be very easy, but certainly doable for Adrian. He also needs to make sure he does not miss one of the turns to the right to stay on the right slope.
Leaving the lift he walks to the crest of the slope and looks down. The whole slope is nice and empty and he fastens his board.
The decent
Together with the other 5 people from the lift Adrian starts his decent when suddenly out of nowhere a skier appears.
It is Walter who is intently studying the map he drew and only glances up every now and then to check his location. One of Adrian’s fellow skiers only managed to avoid a collision with Walter by letting himself fall and tumble down.
A little further Adrian notices an ice patch further down and adjusts his speed accordingly. Walter however is still studying his map and fails to see the ice and falls hard on his face.
Not discouraged by this however he sets up, checks his map and continues to the first junction.
When Adrian and Walter get there however they notice the slope is closed because of possible avalanches. Walter starts to curse, the last bit of the slope had taken him the better part of half an hour to plan properly. He finds a spot to sit, takes out his notepad and map again starts drawing again.
Adrian noticed nothing of this however. Remembering there was a second turn to take he just continued down when he noticed the closure of the first slope.
Adrian was on his second beer by the time Walter arrived, completely covered in snow. When asked what happened Walter explained that because of the change in requirements a redesign was needed. But because of the time pressure he did not have time to do a full redesign, so he reused his design for the other slope. They seemed very similar at first. It wasn’t until later he realized the pillars were spaced differently and he only barely managed to avoid one.
Does it sound like any project you have seen?