What if Retrospectives don’t go as planned?

Retrospectives are great!

Retrospectives is one of the Scrum events that allows the team to inspect how they worked, their processes, their tools, their environment in order to improve.

The Scrum Master, the PO, and the Developers must attend the Retrospective. In theory, it sounds great, but what happens if it doesn’t go as planned?

Very few people talk

Retrospectives work great when people express what’s on their mind but what if they don’t?

I was new to the team & project and the team members had recently changed. I had a retrospective where only one person really talked, the rest stayed quiet. 

I tried to formulate the questions differently during the retro, I even asked people directly what they thought. The answer would be: same thing Bob said or I don’t have anything else to add. I tried to joke around but apparently my sense of humor wasn’t reaching anyone. Needless to say, that was one of the shortest retrospective I’ve ever done.

So how did I fix this? Did I just quit? NO! Remember, you are there to help the team improve.

one-on-one

First thing I did was  one-on-one with each team member. This means taking at least 15-30min talking and listening to them. One of them I ended up spending an hour with, it turns out he got used to no one listening to him so he stopped talking but he noticed that I actually cared so he had a lot of things to say.

When I spoke to each person, I explained to them that I was really there for them, I am not the one who will be doing their yearly evaluation, I am not there to point fingers. I want to help them to succeed as a team. This is the short part of the meeting, me talking. The longer part is letting them talk and me listening without interrupting (yes it’s easier said than done).

I told them I wasn’t going to tell anyone that it was them specifically who would tell me things. I can find ways to communicate information without divulging who said it.  I find it important to tell them this because if the problem is with the manager, I need to inform the manager that , for example, he/she is micromanaging and show the negative impact on the team. The fact that they knew I wouldn’t report them helped. I gave examples of this in the past. I saw that some people were initially afraid to say bad things and that it will get back to them or they don’t want to be perceived as negative folks.

At this point, I am starting to gain more trust from them.

Trust is the foundation

That was one of the problems of the retrospective, they didn’t trust me and each other to be able to express themselves freely.  Trust is the foundation. 

I asked them how they think the team is doing, what’s bothering them, what would they like to change, what is the worst pain point, and just let them talk.

team building

In order to build trust with the team, you need to do team building activities. You can do a 5min check-in before the retro, ask questions like “what’s your favorite food” or “what pet would you like to have”? You can schedule a one hour long activity focused on Team Building.

The goal is to get them to see that they actually have stuff in common with other people. Allow them to relate to each other, start trusting each other. This will make them want to help each other and not be too upset if the other one makes a mistake. It’s called being forgiving.

The moment I get the team laughing, I know we’re on the right track. 

clear to-do actions

The other thing I noticed was the attitude “what’s that going to change anyways”. Clearly in the past, despite having retrospectives, they didn’t notice any improvements, the same issues kept coming back. 

For this, in the following retrospective I made it clear and differentiated between issues that we as a team can tackle versus issues that is out of our control. The out of our control part is something I would work with the managers or directors and would give them updates on.

I focused on what the team can tackle and prioritized that with them. I asked clearly: is this something you can all commit to in the following sprint? I then reminded them at the end of some of the Daily Scrums that we had this retrospective action to do. 

When they did the retrospective actions and they noticed an improvement, it could be small by the way, then they gradually start believing in Retrospectives again.

Hopefully, if you try out these steps: one-on-one, team building activities, clear to-do action list , you will have better retrospectives. 

Why are you making assumptions?

The famous saying goes: when you assume, you make an ass out of u and me.

I have not encountered one person who did not make any assumptions. At school, kids assumed things about other kids. “I bet Rachel’s dad is like that”. Teachers, themselves, assumed things about kids. “That child has probably been spoiled his whole life”. Adults, well, we are pretty bad.

It doesn’t stop at the work place, people still continue to assume. But at what cost?

I remember having a team where the developer went off to write the code without asking any questions to anyone, completed it, and when QA tested it , it flat out failed. It didn’t meet the requirement. Why? Because the dev made an assumption. In this case, it costs us several days, the dev had to redo his work and QA had to retest. 
(Note that a backlog refinement session can help address this.)

Now what if the Product Owner defined a series of user stories based on a wrong assumption? It would cost more than just several days.

As a Scrum Master, help the team understand the impact of making an assumption, and encourage them to make it a habit to validate (as much as possible). Use the backlog refinement session to ask LOTS of questions. You can ask each team member (especially the quiet ones) if they have additional questions, if everything is clear. Encourage the team to speak. Remind them: it is OKAY to ask. 

Pay attention. Here are some cues when someone might be making an assumption:

  • it’s probably like that
  • I think that’s what it was
  • maybe this is what they mean

And as a Scrum Master, don’t forget, you too shouldn’t make assumptions!

Actually, none of us should make assumptions.

One of the books that had an impact in my life and which I strongly recommend is :
The Four Agreements: A Practical Guide to Personal Freedom” by Don Miguel Ruiz.

 and one of the agreements is :

DON’T MAKE ASSUMPTIONS

When you think about it , it does make sense. Look back at all the times you made the wrong assumptions, what did that cost you, what was the consequence, who did it hurt?

What good is there in making an assumption?

How difficult is it to validate the assumption?

How difficult is it to move ahead without making assumptions?

Thing of all the times when you had an assumption, validated it, and worked with the right facts? Didn’t that feel good? Weren’t you relieved that you had validated it first?

Practice this daily: notice when you are making an assumption and validate if it’s true. You’ll start seeing things in a whole new light.

Why work with fiction when you can work with facts?

What’s your favorite chat/video tool at work?

the earlier days


Back when we were still working at the office, it was easy to just walk over and ask a question to our team member. As a Scrum Master, I can spot when someone was asking the team to work on something we didn’t plan and do something about it right away. This is the “protecting the team” part.

I was tempted to say that we didn’t need other communication tools as long as we were co-located.

That’s not quite true though. There are many other times,  I have to admit, when having the chat & videoconferencing tool proved to be useful and necessary. Think about all those times when it was just impossible to find a meeting room available that fits the size of number of participants, that had a projector/monitor, and at a time when everyone was available. You’re probably nodding to that. Thank goodness for  videoconferencing tools when that happens.

Don’t forget all those jokes the team sends to each other over chat, it just doesn’t have the same effect if spoken out loud šŸ™‚

SLACK

Applications are changing at a fast pace, one new feature appears after another… which in our field is actually normal (Not mentioning all the bugs increasing as well).

I used Slack in previous companies but I don’t think the features were that advanced or all features enabled by the companies at that time. What I liked was the integration with Jira where a notification is sent directly to Slack when an issue was modified. When you want QA to be notified that a user story was Ready for Testing  by changing the issue status, then this was a good way to go about it.  It saved the Dev from doing twice the work, which was chatting with QA to say that the story was ready and then changing the story status. I definitely preferred this over email notification.  Some of you might have just disabled Jira email notification. I totally get you.

It was also nice having different themes to choose from, some were more “eye-friendly” than others.  Another good thing about Slack was that I could easily install it on my phone without requiring all the vpn software that Teams can require. You’re probably thinking why I would need that since Slack is installed on my pc. Well, I’ve found myself checking for messages on my phone and able to answer questions while waiting for an appointment, or taking the train. So I got a head start!

A few things I hope is now available in Slack is videoconferencing capabilities and allowing to add people in a normal conversation and not just in a channel, that was a bummer for me.

webex, google meet

In the past, I used Cisco Webex and Google Meet for videoconferencing capabilities. They worked fine, we were able to share our screens and heard each other pretty well but at that time there was no whiteboard, no breakout rooms, so nothing more special to say. One downside I found at that time was that as the host, I was the only one to open the meeting. This is quite cumbersome if I was unable to open the meeting.

microsoft teams

I am now working everyday with Teams. I initially cringed based on past experience but it turns out Microsoft has been improving it.

With Teams, I can start a chat with a few people and easily add people to the chat while specifying if you want to share the previous chat history. Not a big deal you say? Well, we had a situation where we were trying to figure out why a deployment didn’t work. We only had a few people initially in the call. As we progressed in our investigation we realized we needed other people in to join our conversation. At that point, we opened a video call (with a simple click) so we can understand each other faster and better. Adding people to the video call was easy as well.  I really appreciated this with Teams, it was a feature I wanted when I was working with other applications in the past. (By the way, I don’t work for Teams nor is an affiliate in case you were wondering).

As a Scrum Master of multiple teams where many applications depend on ours, I have to talk with many different people. They have many questions, and I don’t always have the answer on the spot. A neat feature I found that helped me on this is the “Save message”. This easily saved the conversation that I knew I needed to get back to.  The other option is also to pin the chat, but there is a limitation of 15 chats.

Each Teams meeting is unique. Initially I thought this wasn’t practical but when I realized that sometimes I didn’t need to be in that meeting and anyone can just start the meeting, I changed my mind. The Daily Scrum can be started without me (I was in an urgent meeting) and the daily went on as it should. Remember, the Scrum Master isn’t actually mandatory there.

I had a team building activity and finally got to try out the Breakout session. This is niiiiiiice!! It worked really well. Let me know if you want me to do a blog of the activity I did.

I haven’t used much the whiteboard feature of Teams since I find Mural to be quite effective, more on that another time.

What about you, what is your favorite chat/video tool?

Why do you talk?

what’s your purpose


Do you notice yourself talking to a wall despite being in  front of a group of people looking at you? Do you get upset when the team isn’t doing what you are telling them, because your idea is the best one ? (well, so you think) . Why is it so hard for them to put the hours in their tasks at the end of the day?  I mean, it makes so much sense… (maybe to you but not to them)…

Why don’t they get you? Why aren’t they doing what you are telling them? 

How do you talk to your team? What tone do you use? What words do you choose to speak?

When you speak to your team, what is your purpose?

Is it :

  • to inform them
  • to motivate them
  • to challenge them
  • to enlighten them
  • to support them
  • to unblock them …

Hopefully it’s not to show-off.

What you say has an impact , so choose your words wisely.

You want to inspire your team, then why would you gossip about others. Why would you bad mouth others, the process, the management? What value does that bring?

You want to inspire your team, then why are you focusing on the negative things? 

You don’t understand why they don’t just do what you tell them because if they just do it, it will make their life easier?  You want them to change simply because you told them to?

Will you change if a stranger tells you to? Let’s face it, you still are a stranger to them, you are not family.

Let’s challenge the initial reason of why do you want them to change? Do they see any issues? Are you seeing issues that don’t exist for the team? Maybe the first step is getting the team to see the issues … or you realizing there isn’t any.

Be creative in how you bring the topic and guide them to see what changes they can do and how will it improve their work life. They will eventually come up with your suggestion or an even better one. Your solution isn’t the only one that can work, you have to remember that. Keep an open mind.

Let us be realistic, yes… pessimistic, no…optimistic, YES!  Despite everything that looks bad (a change in scope, environment issues, internet problems, access issues, lack of licenses), do you see that your team is able to deliver a product increment? That in itself is amazing!

What we are lucky to have, is a team. We are not perfect, but we are not alone. We have a team,  and they are amazing in finding a workaround, to deliver a product increment. So let’s focus on delivering something great. Let’s focus on the things that we can change. How about our attitude to begin with?


Remember

  • What is your intention (inform, motivate, inspire,…)?
  • Why do you want the team to change
  • We are lucky to have a team

Shut your mouth and open up your mind

As a Scrum Master who is gaining more and more experience, you may think you know it all, or at least act like it.

The truth is: you don’t know it all, you can’t possibly know it all.

What worked in a previous team is not a magic recipe that will automatically work on the next team. There are too many variables involved: the team members, the management team, the development process, the deployment process, the mood swings, unexpected events like a pandemic, people getting hired, people getting fired, people quitting ….Do I need to say more?

Be inspired from your past experiences, learn from them. Take them as source of inspiration on how you can help your team but be always ready to adapt it, be open to your team’s input. Somebody doesn’t agree with your proposition? Ask why, and make sure you really listen to their answer. It’s OKAY. It’s actually fantastic that someone doesn’t agree with you because this is an opportunity for your personal growth.

Don’t try to force the team to fit into your ideology, your process, your way which you think is the only way. Listen to your team. For that to happen, you must have be open-minded.

Shut your mouth and open up your mind. You are not listening if you allow your mind to wander or if you are too concentrated on having that reply ready or preparing that “good” advice.

Listen with the intent to understand.

You MUST take a step back and get frequent reality check.Ā  Take the pulse of the current situation. Assess how the team is functioning, what is working well, what isn’t. Is there anything that seems odd, how is the team’s mood? Create your own retrospective of the team, what do you observe? And then what would you like to happen? Do you see that the team can improve on some aspect? How can you bring the team to see for themselves there is something to improve. How can you show them so that they have a good reason to change something in order to improve?

Whenever you are proposing a change, whenever you want to give an advice, make sure you take a step back and ask yourself: am I recommending this simply based on what I’ve seen or have I really taken into consideration the present time with all the variables.

One of the fun things about being a Scrum Master, which some may argue is the opposite of fun, is having the opportunity to work in different situations, be exposed to different challenges, different complexities and learning from it. There is so much room for personal and professional growth.!!! None of this is possible, however, if you don’t listen and you don’t keep an open mind.

Definition of Done and Definition of Ready

What is the difference between Definition of Done (DoD) AND Definition of Ready (DOR)?

Definition of Done

According to the 2020 Scrum Guide:

The Definition of Done is a formal description of the state of the Increment when it meets the quality measures required for the product.

The moment a Product Backlog item meets the Definition of Done, an Increment is born.

The Definition of Done creates transparency by providing everyone a shared understanding of what work was completed as part of the Increment. If a Product Backlog item does not meet the Definition of Done, it cannot be released or even presented at the Sprint Review. Instead, it returns to the Product Backlog for future consideration.

If the Definition of Done for an increment is part of the standards of the organization, all Scrum Teams must follow it as a minimum. If it is not an organizational standard, the Scrum Team must create a Definition of Done appropriate for the product.

The Developers are required to conform to the Definition of Done. If there are multiple Scrum Teams working together on a product, they must mutually define and comply with the same Definition of Done.

To put it simply: The user story is really Done when it meets all the criteria of the DoD.

So when the PO asks : is the user story done? Your answer is “YES“, and not “yes but we are only missing the unit tests“.

If you are looking for inspiration, here are some criteria of a DoD for a user story:

  • Functional tests are executed
  • Acceptance tests are executed
  • No critical bugs
  • Code coverage over 80%
  • Unit tests completed
  • PO saw a demo and gave the OK

Take the first letters of each criteria and it spells FANCUP. Here’s an image to help you remember it :

Definition of Ready

TheĀ  DoR comes before applying the DoD. The 2020 Scrum Guide only mentions this:

Product Backlog items that can be Done by the Scrum Team within one Sprint are deemed ready for selection in a Sprint Planning event.

The Scrum Guide doesn’t explicitly call it the Definition of Ready, but you can somehow read it between the lines.

The main goal is to make sure the user story is in a state of “ready” so that you can easily take it in the Sprint Planning. For those who haven’t defined the DoR, how many times did you arrive at a Sprint Planning, spend 30min to discuss a user story to only realize that the user story isn’t ready to be worked on? That’s what the DoR is trying to address.

So what are some examples of criteria that makes a user story ready for the next sprint?

  • user story is broken down as small as possible
  • acceptance criteria is clear
  • out of scope items are defined
  • it has been presented to the Development team
  • user story has story points

When does the team define them?

Ideally, you should have a DoD and DoR before starting Sprint1 in a perfect world… but then again we aren’t perfect .

As long as you do it and revise it every once in a while, you’re good.

The revision part is important because the team will evolve and they will adapt the DoR and DoD as a consequence. When is a good time to revise them?

At the Sprint Retrospective!!

Who participates in the DoD and DoR?

  • the Development team
  • the PO
  • the Scrum Master (as facilitator)

It is really the PO and Development Team that decides what goes in a DoD and DoR. The SM is there to facilitate the meeting. Avoid doing the meeting without the PO.

Can we have many definitions of done?

Some people will categorically say NO but then again , if the goal is to help your team be more efficient and improve the quality of the increment, why not?

Here are some examples where you may want to consider the DoD… or if you don’t want to use that term, call it the Definition of CompleteĀ 

  • what do you need in order to publish to PROD (documentation, NFR tested, automated end-to-end tests …)
  • do different types of user stories need different DoD: e.g. some are only for API, some are only for front-end
  • do you want to distinguish the DoD between dev and qa?

What to do when the dev is done before the Sprint ends?

There are 3 days left in your Sprint and your devs are done. Now what?

Do you take on new user stories?

I know , it’s very tempting, and we’ve done it too.  Devs are happily coding while QAs are trying to finish their tests. Sadly, sometimes QAs didn’t have time to finish their test and the team hasn’t been able to complete their user stories. But hey, at least the devs had something to code, right? In this situation is a missed out opportunity for the team to work as a “team” with the same goal: deliver a Product Increment. 

I’m not saying it’s wrong to start the development of user stories in the next sprint. However, I would strongly recommend first looking at how can devs help the other team members complete the user stories. 

So what else can the devs do?

  • Is there another user story where the development isn’t finished? Can you break it into smaller tasks and split it with other devs? How about writing their unit tests? How about pair programming?
  • Can you execute some QA tests? If the steps are written, you should be able to follow the steps and do them. I recommend testing another user story, not the one the Dev have written.
  • Are there  any integration or end2end automation tests that can be written? Can you help with the setup of the QA automation infrastructure?

What do your devs do before the end of the Sprint?

Developer