My book list after the Scrum Gathering

Back from Paris I looked on my notes to search for the readings I put into my “must read list” and I ended up to order these books on Amazon:

1) Drive: The Surprising Truth About What Motivates Us – Daniel H.Pink
2) The Culture Game: Tools for the Agile Manager – Daniel Mezick
3) The Power of Scrum –  Jeffrey V. Sutherland, D. M. Van Solingen, Eelco Rustenberg
4) Scaling Lean & Agile Development: Thinking and Organizational Tools for Large-Scale Scrum – Craig Larman, Bas Vodde

I think I will be busy until the end of the year…

Advertisements

Scrum Gathering Paris – “Shu Ha Ri” and Spiral Dynamics

The first day of the Scrum Gathering in Paris is finished. It has been really a great day. The sessions I have attended were mostly about the same theme: “Expanding an Agile Culture in a Complex World”. This theme aims to define cultural tools (patterns, management practices, methods, etc) helping to install in a sustainable way an Agile culture within organizations. Below the sessions I liked most and my main takeaways:

“Cuture > Process” – Henrik Kniberg
The opeining keynote from Henrik Kniberg showed what “agile culture” really means and how this is achieved in Spotify the company where he actually works.
My Takeaways:
Shu-ha-ri  (Follow the rules, adapt the rules, Ignore the rules)
“People > *”  (People are more important than everything else)

Agile à la mode? The long-Term Viability of an Agile Culture in France – Petra Skapa and Mack Adams
This session showed how it’s difficult to have an agile culture in French organizations: the French values are not in lines with the agile ones.
My Takeaway:
The transformation to agile in France is more difficult than in other Countries. Agile is a mindset and it’s adoption and success is directly influenced by the Country’s culture.

Changing Cultural DNA with Spiral dynamics to become thouroughly Agile – Dajo Breddels
Interesting session on how the humans interact and behave according to the spiral dynamics theory and how this theory can help on the cultural change needed for agile transformation.
My takeaway:
Spiral Dynamics theory can be helpful for the agile cultural shift.

Transformation to Agile is not easy

I had the opportunity to meet Peter Measey as trainer of my Certified Scrum Product Owner course and since then I started to read his blog. Some time ago I read an article about how the transformation to agile can be difficult and he made me think about it. I know that the transformation to agile is not easy for large organizations that worked many years with a waterfall methodology. It requires time and it requires a change in all the level of the organization and after all these changes it can happen that the organization is still far to be really agile.  One important aspect of the transition is overcoming the individual resistance and it’s not easy because human being are involved. From Peter Measey’s blog:

“If you think that transforming an IT system from one technical platform to another is challenging, try doing a technical transformation where the platforms have a mind of their own and may not want to change, or even have the ability to change!”

Working in a large organization that wants to go towards agile and knowing that the transformation is complex I always had one question in my mind:

Can a large organization, alone, be successful in the transformation to agile?

When I say “alone” I mean without asking for help from external agile transformation experts.
Maybe the transformation is possible but more painful and longer because you cannot rely on lessons learned or common patterns among different organizations or maybe it will end, as Peter says, to what is known as “FRAgile” or “WAgile” where organizations are not really agile even if they think to be. I don’t have my personal answer to this question right now… In the meanwhile I’m still thinking on Peter’s questions:

“Would you try to write a software system without employing expert software developers ? So why would you think that something much harder (such as transforming an organisation of human beings) can be done by people who don’t understand transformation?

Change your Organization: it’s about trust.

Some days ago a colleague suggested me an interesting blog of James Shore about changing the organization. How an organization can become more agile? How an organization can improve their processes?
Successful organizational changes cannot be fully top-down or bottom-up, but is there really a difference between the two? James Shore thinks they are essentially the same thing: “Both are extremely difficult. Both require that people want to change.” So how can you introduce new ideas and help the change to happen? The central point is trust. James says “It’s as simple as that. When people trust me, I’ve been successful. It hasn’t even been hard. And when people don’t trust me, no amount of cajoling, persuading, beating with sticks, etc., will make a difference.” The way to change something in the organization is no-change. The approach is more to show people ideas, seeing what they think, talking about alternatives, listening to experiences, etc.

“#1: the Way to Change is No-Change. I’ve seen how hard organizational change can be, and so I no longer attempt it. I just share ideas, lead by example, and have fun doing it. If things change, great! It’s a much easier approach to life… and you know what? I think it’s made me more effective as a consultant, and as a change agent, too.”

I like this thought and I think James is right: at the end change is about trust and respect to earn this trust.

“We must be the change we wish to see.” – Ghandi.

Rotating the ScrumMaster Role. I let the team decide.

Recently I have been asked by some stakeholders why it is always me in the role of ScrumMaster instead of just rotating it periodically inside the team. The motivations following this remark have been:

– It is recommended by agile.
– It has been done by another Scrum team inside the company and it worked well.

Is it really true that the SM role should rotate inside a team?

I don’t agree with the idea of having a permanent rule to rotate the SM role specially when it comes from outside the team and those motivations seemed to me not really valid ones. I also clearly remembered what is written in “Succeding with Agile” by Mike Cohn about rotating the SM role. What he says is that the habit of rotating the job of SM is not recommended and it could be done in some occasions and for specific reasons but not as a permanent practice. The risk to rotate systematically the role is that the stakeholders don’t really understand the duties of the ScrumMaster and they can start thinking that everybody can do it. We know instead that to be a good ScrumMaster we need particular skills.

Furthermore in companies that haven’t fully transitioned to agile and are mainly organized in a different way (ex: waterfall development) I find that there isn’t always a clear understanding of what a ScrumMaster really is. In such organizations the role of ScrumMaster can be a little different from team to team and it can depend on the context. Sometimes when these companies need a ScrumMaster they need also other skills and other responsibilities and in this case I think rotating the role is even more complicated and risky.

Why it worked well for one team inside the company? Why the rotation cannot be applied on every team?

The asnwer is simple: every team is different. It’s a mistake to think that what worked well for one team should work well for another and in my particular case between the two teams there were some differences: one team was a cross-functional team with no project manager and working on different functionalities of the application (from UI to DB),  the second team was a UI team working in a dedicated UI project with a project manager be also part of the team. The context was different and the role of the ScrumMaster in the two team was a little different too. As we told earlier, the context is important.

I didn’t think the motivations were really valid and I didn’t think it was a good idea too to put in place a permanent rotation. I clearly expressed my position to stakeholders but I didn’t want to defend this position alone… I was there to represent the team, I was the servant leader for the team so what the team thought about this? Did they feel the need of this rotation of SM role?

What I did as ScrumMaster

I decided to schedule a retrospective meeting with the team, dedicated to the subject of rotating the SM role, to know what the team thought about it and what they wanted to do.
The results of the Retrospective have been that the team didn’t feel the need to rotate the ScrumMaster role and they didn’t want to have a predefined rule to rotate it.  It should have been a team choice when someone in the team wanted to try the ScrumMaster role. One team member told in the retrospective that he would have been interested to try the role temporarly in view of taking then a CSM certification, but not immediatly. The team agreed also to put in place something to improve the situation when the ScrumMaster wasn’t available (back-up).

As a result of the retrospective we added  in the team wiki a section dedicated to the role of the ScrumMaster with all the responsibilities and the tasks to do.  This guide is actually used as a reference for the back-up ScrumMaster and to give also visibility outside the team on the duties of the role.

What I learnt

As ScrumMaster I tried to express my position to stakeholders giving the reasons why the habit of rotating the role wasn’t really a good idea but sometimes is not easy to convince people. In these situations you can do a step back remembering that as ScrumMaster you are a servant leader for the team and you can let the team decide. It’s much more easier if all the team agrees on a position to defend and legitimate it.

Gather data in the Agile Retrospective

At the end of every Scrum sprint there is the retrospective meeting, where the team gathers after completing an increment of work to inspect and adapt their way of working and teamwork. The agile retrospective can follow a precise structure as described in [1]:

  • Set the stage – to prepare the team for the work they’ll do in the retrospective
  • Gather data – to create a shared picture of what happened during the iteration
  • Generate Insights – to indentify and analyse the causes that contributed to the team success or that need improvement
  • Decide What to do – to create actions for the next iteration
  • Close the retrospective – to express appreciation and have feedback on the retrospective

As ScrumMaster and facilitator of the retrospective I dind’t always follow the full structure suggested in [1]. Sometimes the step to gather the data was skipped and the retrospective just started to generate insights identifying what went well and what we needed to improve. It was a mistake. Since some retrospectives I reintroduced again this step and I found that it really helps the team to remember what happened during the sprint: impediments, difficulties, positive moments, feelings. It’s not only important for the team to create a shared vision on what happens but it’s also a way to check how people inside the team consider the same event (positive or negative) and generate discussions.

Timeline

Timeline – Agile Retrospective

The activity I use to gather the data is mainly the “Timeline”. It’s a very simple but powerful activity to stimulate memories of what happened during the sprint and the aspect that I found really interesting is when the timeline is used to collect not only the facts but facts and feelings.
To do this after having collected all the facts in chronological order I ask each team member to put a colored dot to show if they consider the event positive or negative or if their energy was high or low. This part can be considered as another activity called: “Color Code Dots” [1]. Once the facts are associated with feelings we have interesting data to start discussions.
I ask why an event is considered positive or negative, I look if all the people put the same feelings or there is someone that consider the event in a different way and in this case I ask why we have this different perspective. Sometimes I ask to draw a graph for the ongoing emotional ups and downs during the iteration. It’s interesting to see again that no all the team has the same emotional status.
I found the part that add feelings to the facts really effective because it helps the team focus not only on technical issues related to the development process but on the team and team issues, as it should be for a good retrospective.

In conclusion after having seen the difference of agile retrospectives with a step to gather data and without it, I suggest to always find time and do this step. As said by Aristotele: “Well begun is half done”.

[1] “Agile Retrospective – Making Good Teams Great” – Ester Derby, Diana Larsen.

Managing Future Bugs (Known Unknowns) in the Sprint

This article has been firstly published on the Scrum Alliance site.

As ScrumMaster, there are different situations we have to deal with. Here I’d like to address the following topic: how to deal with future bugs that can arrive at highest-level priority during the sprint (in other words, we must treat them).

This is a common situation if the Scrum team is not only responsible for developing new functionalities but also for solving bugs found in the production environment, linked to user stories or not. In companies that haven’t fully moved to Agile, where Scrum can have a Waterfall-at-end interaction, these bugs can be opened during the quality assurance phase (after the Scrum process) — but we don’t know how many there are.

When bugs are already known, they can be put in the product backlog during the sprint planning; they can be estimated and considered user stories. Sometimes, however, all we know after the sprint is started is that we will have some bugs to treat during the sprint. These future bugs can arrive later, with a high priority compared to the user stories in the sprint. It’s an example of the more general problem of how to manage the “known unknowns” in a project. We know that we will potentially have some bugs to treat, but we don’t know how many or what they are.

We have to plan the sprint content, and we have to deal with these “known unknowns” bugs. How can we estimate the bugs in the sprint? How will these bugs affect the team sprint velocity?

Future bugs estimation: Story points versus capacity days

The first option could be to replace the bugs (not present at the time the sprint starts) by so-called “placeholder stories.” Estimating such stories can be difficult because we don’t know their complexity. The range can be from a reassignment of the bug to another functional team (if it was wrongly assigned to the Scrum team) to a complex fix done by the Scrum team itself. We could assume that these “placeholder stories” are of a small to medium size, adding some of them into the sprint.

An alternative approach is to have just one “placeholder story” for all the bugs, with a percentage of the sprint velocity associated with it.

The main point for the first option is that the “known unknowns” are managed, estimated in story points; and these story points are considered in the sprint commitment. In this case the velocity of the team will be not impacted by this “extra” work, because the work is visible and estimated in story points.

The second option could be to leave a buffer in the number of days in the sprint needed to treat these bugs. The time reserved to manage the “known unknowns” could be considered as less capacity for the team during the sprint. This brings a lower commitment in story points (just as when team members take vacations during the sprint). This option affects the team velocity because some capacity is reserved to do “extra” work in the sprint that is not visible and that hasn’t been estimated in story points. As ScrumMaster, you’ll have to pay attention to keep track of the team velocity in association with team capacity (available working days in the sprint), because in this case the velocity can have more fluctuations.

Summary for managing future bugs (known unknowns) in the sprint

ESTIMATION OF PLACEHOLDER STORIES

Pros:
– 
Work is visible in sprint backlog
– 
Team velocity is less impacted

Cons:
– Estimation in points for something unknown is difficult and easilly wrong

USE CAPACITY DAYS

Pros:
– Easier if we know that some days must be reserved for this (for example, associated to another budget line)
– Keep estimation for real features that can be easilly estimated relative to others

Cons: 

– Work is hidden in the sprint (bug fixing considered as “vacations,” no story points or user stories associated)
Could bring to more fluctuations in team velocity