Why Sprint, when you can Hike?
Lastly I was made aware that software teaming, ensemble programming and mob programming is more or less the same. I also heard Woody Zuill explain why he decided to go from mob programming to software teaming. One of the reasons was a mob has something aggressive and bulling about it. This led me to revisit my trouble with the ‘Sprint’ in Scrum terminology.
My problem with “Sprint”
A sprint is something in which I put all my energy. For a short time. I will need rest afterwards. Also I can not do it very often in a row. Further, sprinting is something I do alone. To make matters worse, in a sprint it does not matter too much if I do not make it in time, I will only be not the first over the finish line. But there are no real consequences.
But maybe, there was a good reason to call it a “Sprint”?
Why is a Sprint called a Sprint?
Well, I’m not the first asking this question. Apparently Jeff Sutherland coined the term in his book “Scrum: The art of doing twice the work in half the time”:
And so my team embarked on what we called “Sprints”. We called them that because the name evoked a quality of intensity. We were going to work all out for a short period of time and then stop to see where we were.
Well, there is at least no deeper meaning in Sprint beside intensity, which might not be sustainable over a longer period.
That is not a very good reason for me to call an iteration a Sprint. But how can we call it instead?
Hike
For me one iteration has way more of a section of a long distance hiking tour than a sprint. Therefore, I opt for “Hike”. Why so you may ask?
Planing
Before start the tour or a part of it you need to plan. As soon as you are not alone the group has to agree on the route to take. After all, you do not want to be outside and wandering around in the dark. So, first of all you pick a starting-point and end-point - hopefully a nice cabin or even a catered hut. You may start where you are standing, you may need some transportation. Then you plan the route and have to answer a lot of questions:
- Can we as a group do it until nightfall or do we have to plan differently? Shall we sleep outdoors?
- Can everybody in the group walk the selected route? There may be steep slopes or even places where you need to climb. If not, can we still do it as a group helping each other or do we need to pick a different route? Maybe, even a different end point.
- Do we need special gear? Like stick, ropes and so on.
- What do we need to pack for food and drink?
Communal aka Team Work
While you can go hiking alone, in my experience hiking is much more fun in a group. This does not mean you always walk as a pack. There may be moments a few people walk alone, in their own pace. Or people switching “partners”. Or moments where all wait for the stragglers to catch up. Or moments where all need to come together to make it over a difficult part.
There even may be routes you need a guide. In the end, what matters is the whole group makes it to the planned camp site for the night.
Camp Site Evening aka Retrospective
When the group reaches the camp site they can sit together, eat, drink and reflect on the days tour. What was nice about the tour? Which gear was missing? Which gear is not needed? Did we as a group learn something new? Did someone as a person learn something new?
Missing a camp site
There are repercussions if the group does not make it to the planned camp site. They may need to sleep outside. Then they may run out of food and hope there is something left in the catered hut they were aiming for. Depending on the overall plan, the group may not be able to rest fully and may need to adapt the next stage of the overall planned tour.
Photo presentation aka Review
For every tour there may be photo presentations. For yourself to remember the tour and for all the people at home to get jealous.
No analogy is perfect
While this analogy is not perfect it fits way more perfect to an iteration than a sprint. At least for me. You need to have energy to go the whole, long distance tour. There may be people needing help at different parts. You may need help. But the group will learn and get better over the course of the whole tour. And overall, a hike is not as plan able as a sprint - there may be unforeseen obstacles - like a heard of cows blocking the trail.
Words matter
Maybe I’m too picky about words. Maybe, I believe words matter way too much. But imagine a non-technical manager. One who has never done some software development. If this person hears we are doing sprints I can envision the following picture in the mind of this person:
A sprint is rather easy. No obstacles, every group member can run on their own - they just need to give all the energy they have. And the more they run, the faster they may get.
This will lead to the illusion of a simple, repeatable iteration for the software development team. However, as we all know, in reality no iteration is like the one before and stuff happens. This is one of the reason I do like the term “Hike” much more then “Sprint” for an iteration. On a hike you can get lost and still have all the benefits you have read above.
As I’m writing this I even start to think about software development as a whole as an expedition to find a way over the Alps without a map. You may be able to plan the next day(s), but not much more. There may even be moments you have to go all the way back to the starting-point cause you hit a dead end, or a rock fall came down on the trail. What do you think about that one?