This series of posts covers a fictional struggling software development team. Use the navigation on the right to jump between the various chapters of the story.
Two weeks have passed since the kick-off and team Phoenix has really started. Let’s take a look one of the first planning sessions of Max, Sally, Alice, Bob and Tim.
Follow the Leader
Alice knows she is late. Briskly she walks up the stairs, her heart racing and her hands clasped. Praying that everybody else is late too, she cuts a corner into the hallway. When she finally reaches the meeting room, she glimpses her watch. Fuck, ten past ten. She opens the door and tries to silently sneak in at the back. Clearly the meeting is in full progress. She looks at Max in the front. Did she just see his eyes rolling or did she just imagine it? He does not seem to pay attention to her and continues speaking.
“I really think that you guys should do stand-ups in front of the scrum board and walk through all the tasks on the board.”
“Why?”, Sally replies. “We have been doing it by just telling what we did yesterday and what we are going to do today, and it’s been working fine. This is a team decision right?”
“I am also part of the team, and I am saying that we should walk through the tasks,” Max responds.
“Are you saying that as a product owner? I mean the process needs to work for all of us, not just for the product owner.”
Alice, now firmly seated at the far end of the table, scratches her throat in preparation to speak up. Everyone’s eyes turn to her. Her hands tremble as she puts down the glass of water she just poured herself.
“Look guys, I am not comfortable with you discussing processes like this without me. This is the first meeting to reshape our processes, why didn’t you wait for me to start?”
“Maybe because you have been late for every meeting over the past week?” Tim snaps back, briefly looking away from his laptop screen.
“Yes well, I was talking to a designer, he is giving me a really hard time, and without him finishing his work we can’t start to structurally improve the front-end of the app, can we?”
Tim doesn’t look up from his screen, even though Alice is clearly speaking to him. Who does he think he is? Alice wonders. He’s always buried with his head in his laptop, nobody believes he’s actually mentally attending the meeting. Meanwhile, Alice works her ass of to get this team off the ground and incorporate some actual novel features in the app.
The meeting continues. Alice thinks she may as well have spent some additional time with the designer instead, as she is rarely, if ever, addressed during the discussion. As she mentally disengages, she sits back and starts biting her lip. Didn’t she prepare over half the ideas that Max just presented? Is she not the scrum master tasked with the role of guarding processes. Why is no one asking her anything? Does she need to elbow herself into the discussion? Where is the respect?
Alice takes another look at her watch. The meeting has run well over time. Max and Sally are fretting over details, Tim is typing code on his laptop, Bob spent the last five minutes just looking out of the window.
“Shall we just continue this discussion later?”, Alice proposes. “I will plan a new session.”
“We haven’t even reached an agreement on the most basic processes”, Max protests.
“I know, but I don’t think we will get there if we keep going either.”
“Yeah, you lost me a while ago”, Tim adds. Bob remains silent.
“Okay, let’s continue this Thursday afternoon”, Alice adds.
Tim and Max walk out of the room with white faces, their heads hanging, their feet slumping.
Alice feels tenseness in her neck and shoulders. She remains in the meeting room with Sally and Bob.
“This really doesn’t give me energy at all”, Bob says. “I’d much rather actually do stuff. You know, move things forward.”
“If we just all wrote decent code, documentation and log messages in the first place, maybe we wouldn’t need to have all these detailed discussions, and things would just … work”, Sally snaps back. Alice gives her an angry look. Who does Sally think she is, taking it out on poor Bob like that?
“Sorry, I mean this feels so frustrating”, Sally continues. “Well, at least Bob and me are rewriting the back-end code. Please don’t tell Max, I am afraid he’ll freak out. He just doesn’t realize how much this rewrite is badly needed.”
They are doing a rewrite without sharing it with the rest of the team openly? Alice suppresses the impulse to shout, and just gently nods, while squeezing the edges of her chair. The walls seem to be enclosing her, she needs to get out of this room.
Alice walks out and darts down the hallway. She overhears a conversation between Max and Paul in the pantry and slows down.
“She’s constantly blocking my proposals. I hate it, she’s trying to take over, maybe we should get Sally off the team, Paul”, Max argues. “I have enough on my plate as it is and I am not sure where to take this, I think other team members should speak up, they can’t be all on her side …”
Alice feels her tenseness turn into an oncoming headache. She goes for a quick stroll to clear her mind.
When Alice reenters the work floor, she finds Sally and Bob hovering over Tim’s desk. They look at the performance graphs for the current version of the app again. Alice’s heart sinks. She glances at the nearby whiteboard. Bob marked every day without performance problems with an X. Over the last two weeks there were only two X’s.
Alice locks her jaws. She knew this going in: the app was unstable, it was intended as a proof-of-concept, yada yada. Alice estimated this would not really be a problem. She expected the team would get actual time and mental space to fix the underlying structural issues. However, Max so far continually pushed everyone to roll out new features and deliver ‘customer value’ as soon as possible. Like customers in their right mind would use a bloated app that crashes half the time …
It seems to Alice that now the team is not delivering, Max’s concern shifts to the team not structuring their processes in line with his expectations. Because over the past week he left no opportunity unused to point out the team’s lack of organization as the sole source of slow progress. If he’d only stop with that and actually acknowledge the technical problems they were facing. It seems like everyone is eager to speak, but nobody really listens.
Being the Hero
Alice breaks out of her reflective pondering by Sally and Bob who let out a small cheer.
“Yes, you saved the day again Tim!”, Sally exclaims. A reserved smile appears on Tim’s face. He notices Alice and gestures her to come closer.
“You see this dip here?” Tim points to his screen. “That shouldn’t happen, but it was easy to fix so I made some changes and pushed them to production immediately.”
“Did anyone check your code?”, Alice asks frowning.
“Why? You don’t trust me?”
Alice looks at Sally.
“Look, I don’t know anything about this part of the code”, Sally says. “Tim is the only one who can fix this type of issue.”
Alice sighs and slumps her shoulders. She makes a halfhearted attempt to convince Tim and Sally about the need to review and actually understand each other’s code and prevent team members from overspecializing on parts of the code, but it falls on deaf ears.
Covering Up Mistakes
After the discussion, Sally walks away to grab coffee and Alice approaches Bob sitting behind his desk.
“So, what have you been working on?”
“Just rewriting some code.”
Alice looks at his screen.
“Isn’t this the same code you were working on three days ago?”
“Yes, sort of, I am just going over it again to make sure its perfect.”
He is seemingly on the other side of the spectrum than Tim.
“Perfect is the enemy of good. If you feel it’s good enough, you should let someone review it.” Alice says.
“Yeah, no worries, Sally reviews every line of code I write, but I am just afraid …”,
Bob bites his lip.
“What are you afraid of?”
“Well, maybe Sally won’t like it, you know”, he says softly.
When Alice is back at her desk, she opens up the logs for the code Bob is working on. There she can see every change made since the start of the project with annotations. She notices that Bob is contributing very little code. Reviews of the larger blocks of code Bob does contribute are littered with comments from Sally, some of them not very subtle.
Tracing back further, Alice notices that Bob made small fixes to his own code which he seemingly published without review. Reading through the logs, she concludes he surely is not making an effort to explain both the mistake and the fix in there.
No wonder Bob does not share anything, with Sally constantly looking over his shoulder, criticizing every contribution he tries to make, Alice thinks. He would rather work quietly on his own, instead of being berated by his fellow team members. Alice can’t blame him for that.
Alice lets out a sigh and sits back in her chair. It’s late, and most of her colleagues have gone home. She wonders what she should do or say to get the team to operate more effectively. Should she share what she overheard Max saying to Paul about Sally? Maybe address the lack of reviewing and knowledge sharing in the team by Tim? Or share her findings about Bob’s fear to contribute and hiding of his mistakes? What’s the best next move?
Just as Alice is processing her thoughts, Max walks up to her.
“Can I talk with you?”
“Sure, what’s on your mind?”
“What did you think about Sally today?” Max asks.
“You mean during the discussion about the stand-ups?”
“I think she had a point, but I also think more than one approach can work.”
“Nice, I was thinking that perhaps next time you can share your point of view in the meeting, so that Sally is not the only one with an opinion, you know. It’s good if everyone sees there are people who think … differently.”
As in people that think differently, but just like you, Max? Alice is not brave enough to say that to Max’s face, so instead she lies.
“Uhm, I did not feel strongly about the stand-ups, but I’ll consider it for next time.”
“Okay great, don’t stay too late now,” Max replies.
He grabs his bag and walks towards the stairs.
Let’s reflect from Alice’s perspective.
As Alice joins the meeting, Max and Sally disagree over how to do stand-ups. Neither can know what will work best. Nevertheless, the team members, Alice included, allow them to continue to lock horns. This pattern continues throughout the meeting making it a frustrating experience. Anyone in the room had the power to notice and mention this pattern, and thereby break it. This way, the underlying tension could surface and be discussed.
Alice openly shares her feeling of being excluded, but no one acknowledges this. Instead she is attacked for (repeatedly) being too late, a frustration Tim bottled up. His reaction makes Alice turn her attention inwards and feel even more excluded. Alice could have regained herself and share that she feels underappreciated. Additionally, other team members could have noticed her shift in behavior and helped her open up again.
Alice learns Max wants Paul to get Sally off the team. He also tries to convince Alice to speak up against her. She could be open to Max about her concerns, but instead withholds. This choice indirectly allows the rift between Sally and Max to widen.
Tim saves the day, because only he knows certain parts of the code. Alice unsuccessfully tries to convince Sally and Tim this introduces a single point of failure in the team. Instead, she could have discussed her underlying worry of the team not really operating as a team. This worry is confirmed by Sally being overly loose with Tim and overly strict with Bob concerning code reviews.
Finally, Alice wonders how she can manage the behaviors of others by sharing or withholding information. We slowly start to see a closed culture emerge where team members begin to think in terms of tactical manipulation, instead of openly sharing concerns.
We have seen three telltale signs of a lack of trust, these are:
- Lack of vulnerability (Max’s pushing for a particular process, Sally’s confrontational stalling, Bob’s hiding of mistakes)
- Hero complex (Tim’s fixing, bypassing reviews)
- Working in isolation (Both Tim’s fixing and Bob’s hiding of mistakes)
A lack of trust means that team members do not give each other the benefit of the doubt (like both Max and Sally), whereas a lack of safety means that a team member does not believe another team member will give him or her the benefit of the doubt (like both Bob, Tim to some extent and Alice later on in this chapter).
What could members of the team have done to build safety and trust? Three points: Team members should …
- get to know each other better, personally, but also in terms of their unique skills and needs. This can be done in settings where work is not the focal point, like during lunch or at informal outings.
- encourage and reward feedback, both things they appreciate and things they can improve. They should not chastise or punish each other for being open [Tim], or not meeting each other’s expectations [Sally].
- demonstrate vulnerability by admitting their mistakes, sharing their worries and being open when they don’t know how to approach a problem [Max, Sally, Bob, Alice].
In the next post we will continue to follow Max, Sally, Alice, Bob and Tim as we will look at how team Phoenix’s conflict management skills will or won’t take shape.