As an Agile coach, I love to use metaphors to help people understand what I’m explaining. One of the examples I use most is to compare a software development team to a sports team. After all, just like in a hockey team, you have many players with different roles and skills. You also have a coach, hopefully an Agile one, and you have to work together towards a common goal. But do you really have to?
Teamwork should be a given in any sports teams: you really have to work together to win. Even the greatest player cannot beat another team individually. And we often see teams on a losing streak whenever one of their top players starts acting selfishly.
But the analogy between a sports team and a software development team is flawed. First, in software development, we are rarely competing with other teams. To win, we have to deliver value and to lose doesn’t necessarily mean we have been beaten to it by another team. It could be that we missed the market window or our software doesn’t integrate well with other systems or, worst case scenario, we spent the whole budget without delivering what the client really asked for.
Moreover, as the players in a sports team need to closely work together and coordinate their moves, the members of a software development team rarely have to all work together on the exact same feature. Sure, you can do pairing (i.e., two members of the team working together), but you can’t ask three or more people to sit together to code the same feature; that would be counterproductive.
So, I need a new metaphor!
Pulling the thread
I’ve been thinking about this for a while and, on my last out-of-town business trip, I finally found a new idea. After my fourth day in a row teaching a course on Agile approaches, I decided to do some shopping when stumbled upon this little shop called Cricket Cove—Your Yarn Shoppe.
I immediately thought of my 7-year-old daughter whom we wanted to register to a knitting class at her school, but couldn’t because the class had filled pretty quickly.
I remembered that when I was her age, my grandmother showed me how to knit because I was a very curious boy, but I never really got into it. Later, I even felt sad that this great craft would disappear because only grandma could do it, and I thought no new apprentices would ever pick it up.
Well, it seems that knitting is cool again. I now see young people on the street, in the metro or even at the airport … knitting!
So, I went into the shop to buy some smaller knitting needles for my daughter, hoping I could possibly ask my grandmother to teach her how to do it, since she missed the knitting class at school and really wanted to try it.
The two ladies in the store were very welcoming and very interested to know what I was looking for and why. I told them the story about my daughter, adding that I was out of town on a business trip. They were very pleased and they even gave me the needles for free! We chatted for a while, and they eventually invited me to their knitting club party the next morning. I know I have that effect on older women…
I had nothing planned the next day as my flight back home was two days later, and I thought to myself I could not pass on the opportunity to learn from this unique experience. So, I went to get my morning coffee at Tim Hortons, conveniently located just beside the Cricket Cove, and joined them for a knitting session.
I was surrounded by 8 or 9 expert knitters, all very welcoming and curious of why I was there and where I was from since I obviously was not one of the regulars. We had such a great exchange and they even—very patiently—taught me how to knit for more than 3 hours!
Now, imagine a knitting project … let’s say a fundraiser. Suppose the group needs to raise $1,000, with an average price of $10 per item; they should knit and sell at least 100 pieces. They would create slippers, mittens, tuques, and scarves. Some pieces are harder to knit and may take more time. The group would self-organize and split the task with one conversation according to their abilities and pace. They would then review their progress at least once a week, and the assignments would be adapted accordingly. The vision drives the project. It doesn’t matter what they knit or the exact quantity of each item. After the sale, they would learn which item sells more and they would adapt their scope for the next fundraiser. This is Agile!
Teamwork or team spirit?
And this is how I found my new metaphor. A good Agile software development team is more like a knitting club. Here’s why:
- The members love what they are doing.
- There is no competition between the group members.
- Newcomers are welcome with open arms.
- Knowledge is shared, not kept to oneself.
- They work at their own pace with little to no pressure.
- They focus their work on one item at a time.
- There is no director; everyone knows what to do without direction.
- They have design patterns!
I cannot imagine a knitter who hates knitting, just like a member of a development team should enjoy his work. And it’s why nobody can precisely say how long it takes to knit a pair of slippers … or develop a new feature. And it doesn’t matter how much time it took, what matters is that the client loves his slippers, or his features!
Now, instead of talking about teamwork, I talk about team spirit. The work is what your development team does, but the spirit is how they do it together. You don’t necessarily need your team members to tightly coordinate their effort to succeed, but their attitude towards each other is very important.
Tell me, how are you going to unravel your team spirit?