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.
After the outburst between Max and Sally, another four weeks pass. The new contractor, Joseph, is on his journey to become part of team Phoenix.
A Chance Encounter
Joseph slowly drives into the parking lot and glides his car smoothly into the first free spot. Then he gets out and grabs his bag from the backseat. Slowly he walks towards the entrance. On his way there he runs into Paul who greets him with a big smile.
“How are you?”
“I am fine, thanks,” Joseph answers.
Paul continues walking energetically towards the door. Joseph has to kick up his pace to follow.
“For how long have you been here now? Was it two months already?”
“Almost two months indeed,” Joseph nods.
“How do you like it so far?”
Joseph hesitates before answering. What to say?
“It’s a challenging environment.”
Paul raises his eyebrow.
“You mean in a technical sense?”
“Definitely technically, but also in say … a social sense.”
Paul stops walking and so Joseph does too.
“Can you elaborate on that?”
Perhaps it is best to just be honest.
“I feel quite some tension. Max and Sally had a bit of a falling out a couple of weeks ago for example, and things have been icy between them ever since.”
Paul looks at Joseph with a friendly and reassuring face.
“Ah, I see. Indeed, there were some problems initially. Don’t worry I am fully aware of that. However, it is my understanding that this has recently taken a turn for the better.”
“I don’t want to rain on your parade, but …”
“Go ahead, tell it like it is Joseph.”
“I am not convinced it has changed all that much.”
“I recently spoke with Max. He indicated that he came to a mutual understanding with Sally. Also: it’s important to not forget that Sally is woven into the fabric of this company. Honestly, all I’ve heard from others about her technical skills is praise.” He pauses and taps his finger on his cheek.
“But, perhaps you’re right. Perhaps my radar is off.” Paul adds.
“Have you talked with others as well? Getting more perspectives might help.”
“I have something scheduled with Alice soon, but I realize now that I should check in more often.”
“If I can make a suggestion: take your laptop and sit near us, that may give you a better impression of what’s going on.”
“Good one, I’ll take it into consideration.”
Tackle the Beast
After his conversation with Paul, Joseph enters the office work floor via the stairwell. He attempts to suppress a cough. Unsuccessfully. Once he regains control of his breath he walks into the pantry to get a coffee. As the machine starts grinding the coffee beans, he thinks back to this conversation with Paul. Was I too honest?
Back at his desk Joseph opens up his laptop. What was I working on again? Yesterday he was at a different customer. Joseph then connects the screen, mouse and keyboard. As a result he suddenly remembers what he was actually doing for team Phoenix two days ago in the evening. He was halfway through a large code change! Let’s tackle that beast.
After several minutes Joseph’s hands move across the keyboard, eyes along the screen and his breathing stabilized in a regular rhythm. He reached deep focus and steadily works towards completion.
Joseph is jerked out of his concentration when Alice gets up. She walks to the large screen and connects her laptop. Shit. He gleans the time from the corner of his screen. Three minutes past stand-up time!
Joseph quickly gets up from his chair and joins Alice. No one else is there yet besides them.
“Heard anything from the others?” Joseph asks.
“Nope, I know that Max won’t join, he has a meeting.”
That moment Bob rushes in, still chewing and holding the last portion of his lunch.
“It’s okay,” Alice replies.
“Have you heard something from Sally?” Joseph asks.
“No, I think she went for a walk with Tim a while ago,” Bob replies.
“Let me text her.” Alice whips out here phone.
“How was your weekend?” Alice asks Joseph.
“Well, you’d never guess. We actually double booked.”
“Really? Seems like the two of you have problems managing your calendar.”
“Hah. We managed to resolve it: Jill took our youngest to a play date with the kids of some friends, and I went to the movies with our oldest: Bart. He’d been looking forward to that for over a week.”
Joseph peeks at his watch, another five minutes passed.
“Talking about time management. Has Sally messaged you back yet?”
Alice checks her phone.
“No,” she sighs. “I guess we’ll just have to wait.”
Seven minutes later Tim and Sally come in, they are still chatting.
“Sorry, we’re late.” Tim says.
“Oh, I see now you texted.” Sally says. “Look, I have to go to the toilet first. Sorry, I’ll be quick.”
Alice nods. Some red spots appear in her neck.
Joseph checks his watch again when Sally is back: the stand-up starts a full fifteen minutes later than planned. Joseph then tells the team he is putting the finishing touches on a larger change. After that it’s Sally’s turn to talk about the two tasks assigned to her. She looks down at her phone.
“Sally?” Alice prompts her.
“Yeah, sorry I did not get to them yet.” she says. “Other priorities.”
Alice raises an eyebrow.
“I thought this was the place were all the team’s task are?” Joseph asks. “If you are working on other things shouldn’t they be on the board?”
Sally still does not look up from her phone.
“Yeah, I’ll add them after the stand-up.”
Then it’s Tim’s turn.
“I completely lost track of what I did yesterday, but let me dig into my logs, I’ll find out and properly update the board after the stand-up.”
Wow, is everyone here running their own show? This is supposed to be a team.
“Everyone knows that we have a deadline coming up in four weeks, right?” Alice says. Her last words come out high pitched and her neck turned completely red.
Some people nod apprehensively. Then, to Joseph’s surprise, Bob speaks up.
“It’s not our fault that we are slipping, right? I mean some of the designs were really late.”
Sally looks up and puts her phone away in her pocket.
“Yes, and what does finished even mean?” she adds. “Will it be how many features we hacked, the performance of the app, or the performance of us as a team? No clarity about that.”
It’d better not be that last thing. Joseph swallows that thought.
Alice looks everyone in the eye from left to right: silence.
“So, it’s still unclear to everyone what we need to do?”
“I know I may be starting to sound like a broken record, but for me its more about the ‘why’, not about the ‘what'” Sally responds.
Wow, what a thing to raise so close to a project milestone.
“I am doing the best I can, but I just don’t want to be held accountable amidst this lack of clarity.” Sally adds.
Not that vague
“Really? It’s clear to me what needs to be done.” Joseph says.
“You’re new here.” Sally responds dismissively. “You don’t understand.”
Joseph raises his right eyebrow, takes a shallow breath and opens his mouth to respond. However, Sally just continues talking.
“We really need more clarity. Can’t we arrange this with Paul?”
“Let me first talk to Max again,” Alice says. “We really need to have something demonstrable in four weeks guys.”
My god, she looks like she’s on the verge of a breakdown.
“I am sure it’ll be fine Alice.” Tim adds. “I can put in some extra hours as well over the weekend.”
You’re missing the point Tim. Completely missing the point.
The stand-up ends. Alice quickly walks towards the stairwell, her head hanging, she slams the door as she walks out. Tim shrugs, others look annoyed or slightly puzzled before returning to their desks.
Could I have done more, should I go and talk to her?
Fifteen minutes later Joseph reopens the code he worked on. His eyes dart across his screen as he double checks and runs some final tests. Everything looks good.
Joseph writes a log message describing his changes. For an instance he considers just using a single non-descriptive line like Tim usually does, but then changes his mind. I have to set the right example. He spends nearly half an hour to describe all his changes in detail, submits his code and assigns Sally for review.
Sally sits across from Joseph hidden behind two large screens. While Joseph can’t see her, he knows she’s looking at his code. And indeed, five minutes later, his changes are rejected with one written comment by Sally: “I expect better. Naming is unclear and does not conform to our conventions. Code looks messy overall. Try again.”
Joseph clenches his fist and pounds it silently on his desk. He resists his first impulse: to rip out the cords from his laptop, pick up the device, and slam the machine onto Sally’s head. Instead, he furiously starts typing a comment back.
“Who do you think you are ….”
His cursor hovers over the submit button. Wait. He erases it and restarts.
“I don’t appreciate this type of comment. It is general, unspecific and lacks helpful suggestions. I am just trying to fit in, it’s not my fault the existing code is messy …”
“As you can probably see, I have a good reason for naming …”
Wait. He breathes deeply and removes the text for the third time.
“Could you be more specific about what you think should be improved?”
He thinks once more and adds:
“Let’s discuss this in person.”
Joseph then clicks the submit button.
Okay, first a cup of coffee and some time to calm down.
Your fault, my fault
When Joseph returns he sees Sally hovers over Bob’s desk.
“Bob, why did you change this function three days ago?” She points at the screen. “There was no reason for doing this. Now the whole back-end is broken. You don’t even oversee the consequences of what you’re changing.”
Sally gives Bob no chance to respond, and makes a dramatic gesture.
“My god. Is everyone around here stupid? Lóók at what you’ve written here. Just roll back your changes, I’ll fix it.”
When she pauses to take a breath, Bob cautiously responds.
“I … I think this was not my change, look.” He points to the log.
“Oh, great it was Joseph, our new ‘hero'”, Sally responds.
“Yes, it was me.” Joseph’s voice booms from behind them.
Sally turns around startled. Got you there.
The Real Beast
“Oh, ehm, good you are here.” Sally responds. “So you made this change? Not a surprise. It’s a bit like the code you just submitted for review.”
“Look, Sally. I know you have high standards, but what you are doing really is not helping. You want to review all the code? I am fine with that, but I need helpful and specific suggestions so I can improve. You can’t just shoot down my work like that.”
Sally looks at him with a blank stare. “Helpful suggestions? I don’t get it, Joseph. I thought you were the most senior developer, and now you need help? How do you expect us to deliver with this quality? Enlighten me, what’s your plan? To take what you need and then leave contractor style? You earn twice what I get. For that money: I have seen seniors a lot more senior than you.”
Sally goes on for a few more minutes about how seniors should be able to do their own work and about the poor quality of his code. When she stops talking, Joseph looks her straight in the face, puts down his coffee and walks away.
Five minutes later Joseph knocks on Paul’s office door.
“I know we already talked this morning, could you spare me five more minutes?”
“Sure, thanks again for the suggestions. I was still in the process of deciding on what days to join the team. Have a seat.”
“I prefer to stand.”
“Paul, I want you to cancel my contract.”
Paul looks puzzled and sits up. “What? Really? Why?”
“I don’t have the feeling my contribution is valued here.”
“What do you mean? You can’t leave. There’s a deadline coming up in four weeks.”
“I don’t think this team will succeed, with or without me. There’s just so much …”
Paul’s interrupts him. The vains on his forehead protrude. “Honestly, I am a bit angry now. Who was it that prompted you to leave this abruptly. Sally?”
“It doesn’t matter. Really, it’s the culture, not a specific person.”
“Is there anything I can do to change your mind? I mean think of your family, you have kids, right? Shouldn’t you think this over for a night?”
“Look, I am working elsewhere for two days a week already. I can scale up that assignment. But, thanks for the concern. I am really sure I want to leave.”
Paul rubs his face with his hands. Half a minute passes in silence.
“Well, I am not happy with it, but I respect your decision.”
“As a request could you come in tomorrow morning still so we can announce it to the team?”
As Joseph leaves Paul’s office he feels a burden lift off his shoulders. He walks straight up, finds he can easily take a deep breath and confidently steps into his future.
When Joseph meets Paul in the parking lot, he becomes alarmed. Because Paul seems to not really grasp what is going on, which is not entirely his fault. Since the team wants him to believe the illusion that everything is alright, Max included. Joseph could have spoken out about this more clearly.
During the stand-up it becomes clear that some team members are not really putting in an effort. The underlying cause is that the team is not committed to a set of clear goals and lacks a real feeling of togetherness. Missing safety, trust, productive conflict and commitment has led to a situation where low professional standards are accepted. Things like being late, not finishing tasks and being unclear about what is being worked on, are not rebutted. As a contractor, Joseph is in a unique position where he could actually speak up about this, but he does not.
Sally is a talented software engineer, dedicated to delivering quality, and cares about the company. However, she manages to make the people she works with feel bad about themselves. She is a brilliant jerk. Paul is aware of Sally’s excellent technical reputation, and has a fear of letting her go, because of her knowledge, skill and centrality to the company. However, Joseph actually has to work with her. Hence, he chooses to leave after he can’t tolerate Sally’s treatment any more. He also does not believe the team can achieve its goals and dislikes the culture. Thus, for him, leaving is really the right decision.
In teams that are not committed to clear goals, the members start to dodge accountability. Since no one wants to be held responsible for unclear goals. This puts a lot of stress on leading roles in such teams, as they are thrust into a position where they become the source of discipline for the team, like Alice.
Furthermore, the quality of the solutions suffer, as everyone loses motivation. This creates resentment among team members. Instead of an environment where everyone tries to excel and move beyond themselves to achieve joint goals, the entire team regresses to mediocrity.
This also further enlarges the differences in skill among team members. It gives rise to brilliant jerks: those that are good technically, but have a poorly developed social radar. They target people that are in some way less powerful and humiliate, berate and oppress them. Entire teams can be build around these bullies, with everyone tiptoeing around them.
They key characteristics of avoiding accountability:
- Low standards (Tim, Sally, Joseph is tempted).
- Fosters mediocrity (Tim, Sally, even Bob now).
- Enables brilliant jerks (Sally).
What can the team do to improve?
- The team should resolve any ambiguity by defining clearly what they need to achieve and communicating this publicly, meaning: also to other parts of the company.
- There should be regular progress reviews and communication about how the team members feel they are doing against the objectives they set and the standards they agreed to, like a retrospective.
- Leaders should encourage the team itself to serve as accountability mechanism and not become the source of discipline themselves. They should step in only when needed, and when things are going well reward the performance of the team, not of specific individuals.