Software Development

How a highway car wreck can help us improve collaboration

Things were getting better, the headless chickens that were once running around were a memory of the past and the good folks of team X were now concentrating on a few work items at a time. The frenetic pace had turned into something much more sustainable and people had time to think about what they were delivering.

It had been more than 2 weeks since Gus had been with the team, one morning he decided to pay Team X a visit. When he arrived at their open area, he noticed a strange dynamic. Rick and Jane the testers were huddled over Ricks desk clicking and typing frantically while speaking hurriedly with a worried tone. Ther rest of the developers were sitting at their desks, with headphones on, not a worry in their life.

Gus didn’t even need to ask Rick and Jane what was going on when he looked at their kanban board and saw five cards in the “exploratory testing” column. The team had a WIP limit of five, that meant that those were the only cards on the board.

“Oh Damn!” Gus thought, “non-testing developers alert…”

Gus walked to Rick’s desk and asked “Hi guys, how can I help you?”. Rick immediately goes “Not sure Gus, we are behind with testing and must finish this stuff now, we’re blocking development, they can’t pick any new cards”

“Oh wow” Gus said “developers must be going crazy with you, you are blocking them”, he said it again, louder, making sure that the rest of the team heard him “DEVELOPERS MUST BE GOING CRAZY WITH YOU, YOU ARE BLOCKING THEM”. The ones not wearing headphones realized something was going on, turned and asked what the problem was.

Gus looked at Mike, the senior developer and said “Mike, would you please tell your temporarily hearing-impaired colleagues to follow me to the board, please?” Mike poked his headphone-loving colleagues one by one and told them to follow Gus to the board.

Gus pointed at the board and said “what do you see?”. Silence. “I see 5 cards in a column” Gus continued, “what does that mean?”
Peter , a junior developer, went “well there are 5 cards that need exploratory testing and they’ve been there for a while, this means that we can’t pull any new cards because the WIP limit is 5 and testers are blocking everything”.

“Very interesting” said Gus “well, allow me to retort, what I see is a team that doesn’t understand what flow is. I think that we need an example with something you are all familiar with, like driving in traffic”.

The team moved closer to the side of the whiteboard that they used for drawing flows and sketching UI elements, Gus started drawing parallel lines on the board and continued.

“Imagine you are driving on a highway, three lanes, you are doing 100Km/h and there are a few other cars but it flows very well, you will be home in time for the football game you really want to watch.  All of a sudden 10 Kilometers in front of you an accident occurs and from the original 3 lanes, now only 1 is free for cars to go through. What do you think will happen?”

“The cars close to the crash slow down to fit in the only free lane and a long queue develops” says Mike. “Very good” Gus continued “you are 10 Km behind, you slow down to 20Km/h then down to 5 and that’s your speed for the 10 kilometers up to the accident”

“How come you can’t go 100 km/h any longer? The reason is simple, you are as fast as the slowest point on the highway. You could have 100 lanes instead of 3 now, but you’d get out of the bottleneck always at the same time.”

picture-1

“How would you fix this problem to make sure you make it home for the football game?”

“Well we need to get a truck to take the crashed cars out of the lanes, we need to unblock the bottleneck” Peter quickly goes.

“Very good” Gus goes “the same principle applies to your kanban board, you people are the highway lanes, and the cards coming through are the cars. There is a bottleneck because we have only 2 people working on the full stream of cards”.

“You guys leaving Rick and Jane working on the full stream of work has the same effect of the car accident that leaves 1 lane only in the highway.”

Gus paused, let the people observe the 2 boards, the one with their work and the one with the picture of the traffic jam that Gus had drawn. Then he asked.

“Do you understand that?”

Mike, then Peter than the rest of the team nodded and agreed. “How do we fix this Gus?” Mike asked.

“In this case, there is a simple way of resolving the problem, we remove the car wreck from the highway and we add lanes to remove the bottleneck, how would you do that Peter?”

Peter looked at the 2 pictures a couple of times, he was a smart kid, young but smart, he wasn’t going to give the wrong answer. After 30 seconds, he went

“Well to add lanes it means that the rest of the team needs to help Rick and Jane with what their cards until the backlog of cards is gone and the flow can continue. But this can’t make sense, I am not a tester, Rick and Jane are testers, I am a developer”

Gus swallowed hard, paused for 10 long seconds of total silence and said “Folks, for the moment let’s start like this, all of you guys go into a room with Rick and Jane where they will explain what needs to be done. Once you are up to date, you will help and assist in any possible way they want you to help until the bottleneck is gone. When the bottleneck is gone and flow is re-established we will have a chat about who tests, who develops and what being a cross-functional team means.”

“But I am a developer, I don’t test” said Peter. “Come on Peter, this is an emergency, don’t you see? There is car wreck on our board, we got to clear the lanes, this is making our customers wait? We’ll talk about responsibilities later” said Mike

It sounds like we will have an interesting conversation, Gus thought.

archerdeveloper
Read until you find it, it’s subtle

How will the conversation go? Will Gus manage to convince the developers that they need to help with testing? Will Peter win and get to write code only? Stay tuned and find out in the next episode of “A knowledge worker’s tale”

Augusto Evangelisti

Augusto "Gus" Evangelisti is a software development professional, blogger, foosball player with great interest in people, software quality, agile and lean practices. He enjoys cooking, eating, learning and helping agile teams exceed customer expectations while having fun.
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments
Back to top button