Author Archive: Eric Rapin

6 Simple Actions to Help Scrum Teams Improve

Sprint Retrospectives are for getting better…all the time.

Thank you to the Beatles! https://www.youtube.com/watch?v=CXkokyBlktA

Scrum teams conduct a Sprint Retrospective at the end of every Sprint to find ways to improve the way they work together. It turns out, having really effective retrospectives requires some specific conditions to exist to allow improvement to happen. All too often, the team’s environment doesn’t support them expending effort to make real, substantial improvement. Here’s a simple test for a Scrum Master: “Is my team improving every sprint?” Sounds obvious but it needs to be answered, and answered honestly. If the answer is “no” or the answer is unclear, there are some simple things that can be done to help (well, some are not so simple).

Common Retrospective Patterns

First, I want to share some of the anti-patterns I have experienced with some teams I’ve worked with:

  • There is already too much work in the sprint to make improvements.
  • The team rushes into problem solving right away without much discussion leading to weak outcomes.
  • The same impediments are discussed at every retrospective.
  • The same activities/questions are used for each and every retrospective; they have become boring and repetitive.
  • The impediments that are discussed are too big for the team to solve.
  • The team has stopped having retrospectives.

There are many others, but this is a good, common list of retrospective anti-patterns that I often hear about when I work with teams.

To help alleviate some of these problems, here are 6 actions you can take:

  • 3 actions to allow continuous improvement to happen and
  • 3 actions that help retrospectives work better.

 3 Actions to Allow Continuous Improvement to Happen

These 3 are the “not so simple” actions since they require a real change to how work is planned and who plans it. This requires a commitment from leaders to create an environment of continuous improvement.

  1.  Allow the team to determine their Sprint capacity.

I know many teams, including their managers, who say that the team determines their own capacity, but when you dig into it, we see that there are  other things at work undermining the team’s autonomy in determining their capacity. Many teams are hesitant to push back on the Product Owner (PO) who is asking for a particular story in a particular sprint, even though they don’t believe they can finish it. In fact, any time the team is taking on work that they are not convinced they can get to “done” in a sprint, that is a sign that they are not truly determining their own capacity. The Scrum Master plays a key role in helping the team only agree to the work they can complete and no more.

I often tell teams “you should be happy when Sprint planning is over, convinced you will get everything done by the end of the Sprint.” When I say this, I get puzzled looks or disbelief. If your team isn’t leaving Sprint Planning very excited, convinced they will succeed with their Sprint plan, this is a clear sign that they don’t have control over the amount of work they commit to.

A good technique to determine a team’s level of commitment to a Sprint plan called the “fist of five” is written up in a blog post by Peter Green here: http://blogs.adobe.com/agile/2013/12/17/using-the-fist-of-five-technique-to-gauge-confidence/

  1. Work is not added during the Sprint.

I recently surveyed a large group at Adobe that has many teams, distributed around the world. One question I asked was whether they put all work that the team does in the Product Backlog and the answer was mostly “yes”. I was very encouraged that they were making the team’s work visible. However, the results of the next question were very telling about what was really going on. “Is work added during the Sprint?” The answer was also a resounding “yes”! What was going on? I asked around and discovered that planned work went in the backlog, but many unplanned items were creeping into the Sprint and coming from many directions; sometimes from the PO, sometimes from a manager, and sometimes from the business-side. This is in direct contradiction to how Scrum is supposed to work. We make all the work visible by putting it in the Product Backlog and we let teams focus on their Sprint goal by not interrupting them. This also undermines item #1 above since the team now has no way to truly determine their capacity if they aren’t the ones pulling the work into the Sprint during Sprint Planning.

In a talk I attended some years back by Jeff Sutherland, the co-creator of Scrum, he stated that one of the primary reasons for having uninterrupted periods of work (Sprints) was to stop the thrashing that often goes on within teams and derails their focus and productivity. Teams who can really focus become much more productive, not to mention, happier and more fulfilled in their work. If you want to understand this concept more, check out this TED talk by Mihaly Csikszentmihalyi on Flow: http://www.ted.com/talks/mihaly_csikszentmihalyi_on_flow and also, The Progress Principle by Teresa Amabile and Steven Kramer.

  1. The team has permission to add work to the Sprint to make improvements.

I regularly facilitate retrospectives for teams and when we get to the part where they are deciding what they are going to improve in the next Sprint, they often express concern that there is no time since they have too much work. How do they know how much work they will have in the next Sprint if they haven’t done Sprint Planning yet? This concerns me because in Scrum, self-organizing teams determine what gets into the Sprint Backlog so they should have direct control over that.

Also, if the leadership has not given the team permission to spend time improving, then when will it happen? Later? In the competitive world we live in, there is no “later”. We will always have very urgent and important features to implement. Improvement is a investment you make to go faster later. If you don’t pay it and your competitors do…well, you know what happens.

Here is a simple agreement that teams and leaders should discuss: every Sprint, the team puts one improvement at the top of the Sprint Backlog before any product work is planned. This reinforces its importance and ensures there is time to make it happen.

3 Actions that Help Retrospectives Work Better

I too frequently encounter a level of frustration with retrospectives from teams who regularly do them, but have found them unsatisfying. What I often discover, after discussing how they conduct them, is a lack of the experience and skills required to do them well. For my first 3 years of implementing Scrum, I followed the usual retrospective pattern and asked the following 2 questions:

  • What went well?
  • What do we want to improve?

After a while, these retrospectives become mind-numbingly boring. The stubborn keep at it and the disenchanted abandon them altogether. I was one of the stubborn ones 😉 Others learn a few basic activities like sailboat or +/delta and then repeat them, over and over again, every retrospective.

I had the wonderful privilege to learn retrospective facilitation from one of the co-authors of Agile Retrospectives book, Diana Larsen. This class completely changed how I saw retrospectives and when I put into practice the techniques I learned, I saw much better outcomes.

Here are 3 things you can try to improve your retrospectives:

  1. Follow the retrospective pattern.

I won’t go into too much detail about what pattern Diana Larsen and Esther Derby have defined for good retrospectives. You can read it yourself in their book. I will focus on the most important step so that you may understand why the basic “two-question” approach is lacking in effectiveness. Here is the basic pattern they define:

  • Set the Stage
  • Gather Data
  • Generate Insights
  • Decide What To Do
  • Close

The “two-question” approach mentioned above are two questions that should be asked in the “Generate Insights” portion of the retrospective. Diving right into those two questions skips right past “Set the Stage” and “Gather Data”. What exactly is “Gather Data” then? This is where the team answers the “What?” question. In other words, “What happened in the previous Sprint?” Not “What do we think about what happened?” or “What do we want to do about it?”, just the facts, the events, the good, the bad, and the indifferent. Some examples might be: the build broke in the first week, bug counts went up, Sue got sick, Jayanth and Alexei paired on a really difficult story, or whatever. Just record the things that happened. You should spend the bulk of the time (~40%) on this step. Why so much? In order for groups of people to come to a common understanding of what happened and to make good decisions about what to do next, they need time. Lots of it. Spend the time on this part and the next two stages move more quickly. Which also means that you need to make sure your retrospectives are long enough for this to happen. How long? 75-90 minutes is a minimum for good improvements to emerge. Don’t believe me? Try it and find out for yourself.

  1. Mix things up.

At Diana Larsen’s urging, I went on to become a Human Systems Dynamics Professional with the Human Systems Dynamics Institute (HSD) led by Glenda Eoyang. The organizational change work they do is rooted in the idea of human systems as complex systems. They have learned from complexity science about how attractors work in complex systems. There are a number of attractors in complex systems but one type is called a periodic attractor. Scrum is a periodic attractor because of the iterative nature of Sprints. Every two weeks (or so), we review, we plan, and we work. There is a danger with periodic attractors though. In Coping with Chaos, Glenda Eoyang writes that periodic attractors build resistance. When I read that, my head nearly exploded. Does this mean that holding regular retrospectives can cause resistance to change? Then it dawned on me why the Derby and Larsen book recommends changing the activities for retrospectives on a regular basis; to mix things up a bit. The analogy that came to mind is of someone rubbing the same spot on their arm. After a while, they don’t feel anything. Doing the same thing for each retrospective, over and over again builds resistance in people. They become immune to taking real action and getting to the heart of their problems. They go through the motions and get out of the meeting as quickly as possible. Groups like these often rate retrospectives as their least favorite Scrum meeting.

(Aside: HSD has an activity called “Adaptive Action” which is virtually identical to retrospectives, following the same basic pattern, albeit with different terms.)

A good Scrum Master will seek out training and other resources for retrospective activities to continuously improve their retrospective facilitation. As with all things agile, we continuously seek ways to improve our implementation of agile methods. A good starting place is the Agile Retrospectives book but there are other resources you can draw on such as Retr-O-Mat, Tasty Cupcakes, Retrospective Wiki, and many others. I strongly suggest learning the pattern and the purpose of each step first. The other resources then can fill in when you are designing your retrospectives.

  1. Focus on one improvement at a time.

In fast-paced, complex work, there will always be many problems uncovered, issues to resolve, and improvements to be made. It is the very nature of the work itself. During retrospectives, teams will regularly identify many issues. In fact, the list can be quite long and daunting, making it seem as though nothing will ever improve. A very common pattern with team retrospectives is that they choose a list of actions to take, sometimes 5, or even 10 actions. Sadly, because of time pressure, many of these actions are not taken, often none at all. During the next retrospective, the team finds themselves talking about the same issues, Sprint after Sprint. This can really demoralize a team that is struggling to improve.

The concept of “small batch size” from the Theory of Constraints by E. M. Goldratt teaches us that to increase speed (and here, I am referring to the speed of improvement), small batches move faster through a system and don’t cause the work in progress to become a bottleneck. Small incremental improvements are easier to focus on, as well.

As an experiment, for your next few retrospectives, choose only one improvement. If you want, you can place all the other actions in an “improvement backlog” but only commit to one action for the next Sprint. Most importantly, make it actionable by being very explicit about what exactly the team is committing to try. Don’t commit to things like “the team will write more unit tests” or something as equally fuzzy.

Answer these 5 questions to make a weak retrospective outcome stronger:

  • What? – identify exactly what experiment you are going to run (e.g. Dave and Jo will pair program on the riskiest story in the next Sprint)
  • Why? – state the hypothesis of why this experiment can be an improvement (e.g. Pair programming will reduce the risk of error)
  • Who? – what single individual will ensure that this happens (e.g. Jo will own this action)
  • When? – what date will this be done by (e.g. Jo will invite the team to a meeting at the end of the first week)
  • How? – how will the team know that this happened (e.g. at the meeting, Jo will demo all the passing tests and discuss other technical details at the meeting)

Some will recognize that this is very similar to SMART goals. I prefer this set though because they are easier to remember (for me at least) and they make it clear that this is an experiment, i.e. it can fail, too! We learn the most from those experiments.

Choosing only one action increases the chance that it will actually get done and over time, an accumulation of single actions start to add up to a lot of improvement. Choosing only one improvement aligns very well with one of the 5 Scrum values: Focus.

So…

Leaders who make it clear that investing in continuous improvement is extremely important and not optional enable their teams to creatively accelerate their work and increase speed to value. Scrum Masters who invest in improving their retrospective facilitation skills will increase the speed at which the team learns.

Lastly, since you read all the way down to the bottom, here is a funny video from the Netherlands on improving your retrospectives:

Update

I neglected to include another great reference for retrospectives by Ben Linders and Luis Gonsalves called Getting Value out of Agile Retrospectives: A Toolbox of Retrospective Exercises.

Meetings! Huh! What are they good for?

Absolutely … some things!

(with my apologies to Norman Whitfield, Barrett Strong, and Edwin Starr)

People regularly lament about meetings. I am guilty of it myself. I used to cynically and sarcastically say, after spending time in a long and fruitless meeting, “Meeting rhymes with beating!” Many would often shake their head in agreement. “There are too many meetings” is a common refrain at many companies. Interestingly, I often hear this after groups have adopted Scrum, “Why are there so many meetings in Scrum?” “Isn’t Scrum supposed to be lightweight? Agile?” Let’s quickly review what meetings Scrum defines and then we will see what happens in practice for many teams, especially when starting out with Scrum.

The 5 Scrum meetings

  • Sprint Planning
  • Daily Scrum
  • Backlog Refinement
  • Sprint Review
  • Sprint Retrospective

These are the four original meetings plus “Backlog Refinement”, which has recently become part of Scrum (see http://agileatlas.org/atlas/scrum).

A simple breakdown of each meeting

Sprint Planning

Purpose:  Development Team commits to work they plan to get to the Definition of Done by the end of the Sprint (the Team’s Sprint Goal).

Outcome: A solid Team commitment to a Sprint Goal represented by their Sprint Backlog (containing all the Product Backlog Items (PBIs) and, possibly, task breakdown).

Duration: 2 hours per week of sprint, often less, as teams mature and improve.

When: At the start of a Sprint (after the Sprint Review and the Sprint Retrospective).

Who: Development Team, Product Owner should be available to clarify PBIs, Scrum Master facilitates.

Daily Scrum

Purpose:  Daily meeting for the Development Team to inspect and adapt how to best achieve their Sprint Goal.

Outcome: Impediments get surfaced and improvements for the day’s work are agreed upon.

Duration: 15 minutes per day.

When: Every day of the Sprint.

Who: Development Team, others can attend but only listen, Scrum Master facilitates.

Backlog Refinement

Purpose:  Product Owner helps the Development Team to understand the work coming in the next Sprint or two. Sometimes this involves writing acceptance criteria, slicing items smaller, sizing, estimating, or anything that helps the team prepare for the next Sprint Planning.

Outcome: Upcoming PBIs are ready for the upcoming Sprint Planning Meeting.

Duration: Varies by team but is often 1-2 hours per week of the Sprint.

When: Varies, but preferably not immediately followed by Sprint Planning. Try to allow a day or two in between these meetings.

Who: Development Team and Product Owner, anyone else who can increase the Team’s understanding, Scrum Master facilitates.

Sprint Review

Purpose:  The Development Team demonstrates the PBIs they believe have achieved the Definition of Done to the Product Owner and other stakeholders.

Outcome: Feedback for the Development Team on what they built, often resulting in the generation of new PBIs. Also, a broadly understood view of current progress.

Duration: One hour per week of Sprint, but can vary depending on the number of teams demoing and how big the audience is.

When: At the end of the Sprint, before the Sprint Retrospective and the Sprint Planning Meeting.

Who: Development Team, Product Owner, generally, anyone else can attend, especially desired are stakeholders, Scrum Master facilitates.

Sprint Retrospective

Purpose:  The Development Team gets together to examine how they have worked together during the previous Sprint and what they will try in the next Sprint to improve.

Outcome: One specific experiment the Development Team will put at the top of their next Sprint Backlog.

Duration: One hour per week of Sprint.

When: At the end of the Sprint, after the Sprint Review and before the Sprint Planning Meeting.

Who: Development Team, Scrum Master facilitates.

There are a large number of variations on the above descriptions but I think of these as a good starting point. If I customize the process, I don’t lose sight of the purpose or the “why” of each meeting.

The Meetings of a Typical 2-Week Sprint

Special thanks to ICAgile and Ahmed Sidky for the inspiration for these two graphs.

Sprint-Cadence-Doing If you add up all the meeting time vs. time for building the product or service (or doing agile vs being agile), you get: Sprint-Cadence-BeingThat’s larger than a 6:1 ratio. Looks very lightweight to me. Where does the complaint about too many meetings come from then?

Common Scrum Meeting Anti-Patterns

There are many symptoms of dysfunctional Scrum meetings. Here are just a few.

Sprint Planning

Symptom: Planning takes too long

When Teams start out, this meeting seems to take forever, wearing the Team down so they agree to any amount of work. My first Sprint Planning meeting dragged on for 3 days!!!

Cause: Poorly refined Product Backlog

A Product Backlog that is not well-refined will not be well-understood by the Team. They will need time to gain enough understanding to make a solid commitment to the Sprint Goal. This refinement ends up taking up most, if not all, of the planning time. Time usually runs out and a rushed Sprint Goal is created. So much work gets packed into the Sprint, during the Sprint there is no time to refine the Backlog for the next Sprint, perpetuating the problem. Sprint Goals in this circumstance are rarely reached.

Cure: Weekly Product Backlog Refinement Meetings

Make a serious commitment to a timeboxed, Product Backlog Refinement meeting every week. Make sure the right people are in the room. Ensure that the goal of this meeting is to be ready for the next Sprint Planning.

Daily Scrum

Symptom: Lasts longer than 15 minutes
Cause: Poor meeting facilitation and/or weak team agreements

This meeting is truly for the Team to synchronize and coordinate their efforts for the day so that the Team can be as effective as possible. But, other items leak in like reporting status to a leader, deep-diving on problem solving, staff meeting agendas, etc.

Cure:

Instead of trying to describe what needs to happen, let Jeff Sutherland, the co-founder of Scrum, describe the Daily Scrum in a two-minute video:

Jeff Sutherland describes the Daily Scrum

Notice he mentions the type of agreements Teams can have, e.g. “We can talk about one issue for no more than 60 seconds…” When Teams hold each other accountable to their own agreements can lead to much more effective and dynamic Daily Scrums and eliminate much waste.

Sprint Review

Symptom: Team demos unfinished, non-shippable, product increments

The Team shows everything they have completed whether it meets the Definition of Done or not.

Cause: Not focusing on the Agile principle of “working software as the primary measure of progress”

Many traditional project management views about reporting progress are rooted in the idea that you can estimate the percentage of completion of work. Unfortunately, reporting that something is 50% finished lacks information needed to use for decision making. It makes it difficult to answer the “Are we ready to ship?” question. Also, people want to be recognized for the effort spent on the work to date so they hesitate leaving anything out.

Cure: Only demo “potentially release product increments”

By only demoing the PBIs that meet the Definition of Done, it is very clear to everyone in attendance what real progress has been made. A decision to ship is now much easier to make. This gives the organization real business agility. Teams improve from rarely completing anything in their Sprint Goal to completing nearly everything after making this change.

Sprint Retrospective

Symptom: Too many improvements to make

When presented with the real challenges facing the Team, they will regularly want to solve many problems right away. They often will commit to too many improvements.

Cause: Not strictly prioritizing improvements

One of the most difficult activities is deciding what is not going to get done. Being crystal clear on what is most important is difficult when faced with so many choices.

Cure: Choose one actionable improvement per Sprint

By only choosing one experiment to try in the next Sprint and making it specific and actionable, we increase the odds of actually making improvements. It gives Teams something to reflect on during the next Retrospective. Over time, repeatedly making small improvements will add up to many significant improvements for the Team willing to learn and experiment.

In general

Good meeting facilitation skills are critical for keeping meetings focused on their purpose. Training and supporting Scrum Masters to develop these skills has invaluable benefit to the Team and the organization as a whole.

So…

While there are many other dysfunctions, I’ve highlighted the ones I hear about most often. If there is enough interest, I’ll add more.