The length of a Sprint determines how quickly a Scrum Team can “inspect and adapt” to changing circumstances and learning. Scrum, as a tool for product development, sets an upper limit to the duration of a Sprint. In other words, Scrum sets a minimum for the frequency of the inspect and adapt cycle. This ensures that teams using Scrum get at least a certain minimum benefit. Scrum does not set a maximum frequency (minimum Sprint length). If a team has a five-week (or longer) Sprint, the benefits from Scrum rapidly drop off. In particular, you dramatically increase risks associated with short term planning, responding to change, team development, windows of business opportunity, and error detection. Having a cycle longer than four weeks is not Scrum and a team with such a cycle length should not claim to be using Scrum.
The Sprint is the fundamental unit of work when using Scrum. Any product development effort using Scrum is, therefore, divided into Sprints. Sprints are fixed in length so that the team has a predictable amount of time available to them to do work, which in turn assists in both short and long-term planning. By making every Sprint the same length, the Scrum Team learns its own capacity for work. If the Sprint length changes, the rhythm of Scrum is broken and a team will have to re-learn its capacity which usually takes at least a few Sprints. If Sprints are rarely the same length, then the Scrum Team will struggle to do any reliable planning.
I am starting a new series of brief articles that go through the details of the Scrum process, artifacts and roles. These articles will be one or two paragraphs each and will have a razor-sharp focus on the fine structure of Scrum. I have found that many people know the broad strokes, but are often missing important details. I hope you find these articles enjoyable and informative.
Many of you have heard that Scrum does not solve problems… it just exposes them! Mike Caspar has written a great in-depth article about why Scrum exposes problems (and why this is good!) with lots of great examples. I like his concluding remark:
Scrum does not have answers for not following Scrum.
Glen Wang, a former student of mine, has written another fantastic article about Scrum called “The Retrospective: Know Yourself and Adapt to the World“.
I love Glen’s philosophical take on things! This article is strongly recommended to any ScrumMasters, Process Facilitators and Agile Coaches out there!
The following story is designed to help get your teams thinking about the topic from the “How can we learn this together” approach.
There are many detailed books with different points of view about acceptance testing. I created this story as a way for teams to discuss this in a common language and figure out what works for them.
While you read this, I hope you see many similarities to the Agile Frameworks of your choice. Perhaps quizzing your team on how many they find might be fun? (a different topic).
Please don’t give me a hard time about the medical inconsistencies. I’m not a doctor and don’t have a medical degree. It’s just a story and is completely fictional.
Fade in….. The patient walks into a moderately lit room with an uncomfortable black chair that looks like it’s 20 years old, sitting next to a medical examination table. The patient sits on the little black chair to discover it also feels that way. He is going to be the patient for a long series of medical procedures to solve some medical problems. The patient knows it will take many surgeries to get to where he wants to be.
Surgeon: So, we’re going to remove your appendix this week. The team is anxious to get rolling.
Patient : I’m pretty nervous. I don’t really know what to expect and I know I have all these other operations that need to get done for me to be totally healthy.
Surgeon : Don’t worry. We have a really good team. We also want to make sure you are 100% satisfied with the work we do. We know that you want to get some cosmetic work done in the future and you have other important surgeries to do, but for now, let’s focus on the appendix removal, OK ?
Patient : Sure
Surgeon : We want to make sure we have a common understanding of what you want from us. So, we’re going to ask you a few questions OK ?…Can I get the team in here ?
Patient : Sounds good.
Surgeon : Well, for this to be considered a successful operation, what kind of things are you looking for? I already know, that to me at least, successful means two things. 1- The appendix is out and 2 – you don’t die during the surgery. Well, actually, the not dying part is part of every surgery we’ll do for you. We’ll assume that every surgery needs you to live.
Patient : I’m glad you said that!!! Phew.. I feel better already. And ya, I agree, it would really be a drag to do the surgery and not end up with the appendix out. I agree with both of those things.
Surgeon : We need to put a caveat. If we start and see that it’s impossible to finish for some other reason, we’re going to abort the surgery. We won’t continue if we can’t be successful.
Patient : Yes, that makes sense.
Surgeon : So, we’re agreed then. Let’s go ahead and get you prepped.
Anesthetist : Not so fast, I need to speak. We want to make sure you don’t have any allergic reactions. Have you ever gone under? Do you have any allergies ?
Patient : I’ve been under before, and have had no problems.
Anesthetist : Great. Let me just record that on our surgery card. We’ll need to know that we can make adjustments as we go if something bad happens. Is that OK ?
Patient : Ya, whatever you need to do.. Go ahead and switch to another chemical if you need to. I’ll be happy if you don’t kill me and you’ve done what you can if you notice an allergic reaction.
Patient : Since I’m on the topic, I would like to have a very small scar and not a big one. I am willing to pay extra for a smaller scar and therefore, for me, I won’t be happy unless the scar is small.
Surgeon : Well, that will make the operation harder and we might need to put off some work where we were prepping for your next surgery until a future date. The reason is that you can only be under a limited amount of time. It won’t cost you more because the price of the surgery is fixed. You might have to give something else up later. Can you live with that ?
Patient : Yes, if I have a big scar, I won’t be happy. I am willing to pay the extra over the long run and maybe I’ll have something less done later. I really don’t want big scars as we move forward.
Surgical Resident : Hold on, that’s way too subjective.. What might be big to you could actually be a really small scar. What does a small scar mean?
Here are some examples. Which on of these is considered small enough for you?
(shows a batch of photos).
Patient : I’d like it to be at least this small. (picks one).
Surgical Resident : OK, the scar will be under 30 CM in length and 1 CM in width. Does everyone feel we can do this and this?
Everyone : Yes
Surgeon : Anything else?
Patient and the rest of the team : No.
Surgeon : Well, then, we’re a go. Now that we all know what will be considered acceptable and a sign of success, let’s get prepped tomorrow morning first thing…
Fade in.. .the day of the surgery…. (beginning of the Sprint)… the patient is rolled in…
Doctor : OK team, let’s quickly review our acceptance criteria… Patient Alive, deal with allergic reaction and the patient expects a scar of under 30 CM and 1 CM in side. I expect everyone on the team to help me make sure we meet these requirements. Can everyone agree before I cut?
Team : Yes.
(Surgery is moving forward)
Surgical Resident : Doctor, if you do that just a little differently, perhaps you will be able to shave a few millimeters off the size of the scar. What do you think ?
Surgeon : Great idea.. Thanks for that. Why don’t you hold onto the medical gizmo while I do the next cut. Sure, that will make it easier for both of us to do this together.
Anesthetist : Hey guys, hold on, let’s just talk about this. if you do that, his blood pressure will go up and you risk killing him.
Surgeon : Wow, thanks. I doubt we would kill him, but we’d probably have to do some extreme surgery which would definitely give him a huge scar. Let’s think about this.
(discussion takes place)
Team : Glad we figured out how to do that. We can safely do that without causing any risks to the patient in the future. Let’s go for it…
Surgical Resident : Hey Doc, we’re almost half way through the time for the drugs and allocated time for the surgery. Can we all agree about how much work is left so we don’t keep him under too long ? OK, we have about another 2 hours of work do here. We’re still good. No need to worry. Let’s update the surgical status board to say “surgery progressing appropriately” so his family knows everything is on track.
Surgeon : OK, let’s finish up. Anything missing ?
Surgical Resident : Yes, don’t forget to take out that sponge.
Surgeon and Anesthetist : Yikes!
Surgeon : Thanks for catching that.
Anesthetist : No kidding. That wouldn’t be very professional and people probably wouldn’t think we’re very good at what we did if we left stuff undone and had to come back and fix it later.
(surgery is finished successfully and the patient gets rolled out).
… fade out
… fade in…. patient in recovery and the team comes to check on him.
Surgeon : So, the surgery went really well. You’re obviously alive, your appendix is gone. Only one last thing…..
(the doctor removes the bandage and shows the patient the size of the scar).
Patient : Wow, that’s exactly what I asked you for. It hurts a lot, is that normal? I wasn’t expecting that!
Surgeon : Yes, that’s normal. Once the swelling goes down, it will be even smaller.
Patient : Thanks Doc.
Surgeon : Thanks to the team. Everyone really worked hard to make this happen.
Patient : Ya, thanks team.
Surgeon : Oh, by the way, we had to correct an adhesion we discovered while working. Not to worry, we didn’t charge you extra. We charge for the amount of time we spend doing the surgery. We just fixed it while we were in the area. (yes, I can see the malpractice lawyers cringing.. this is just a story). We knew it wouldn’t extend the amount of time for the surgery and we knew you would be happier with the results.
Patient : Thanks. The team is amazing!
Surgeon : Is there anything you didn’t like or any special comments you’d like to give the team for the next surgery?
Patient : Ya, I wish you would have warned me about how much it would hurt.
Surgeon (whole team nods) : Thanks for that. We’ll consider that in the future.
…. fade out ….
… fade in …. Medical Team room.
Surgeon : Well, that went very well.. any comments about what could have gone better?
(some discussion happens).
Surgeon : Great, we’re agreed then. For the next surgery and all the ones we do in the future, let’s have an open discussion with the patient ahead of time about the expected amount of pain so it doesn’t cause them alarm when they come out of surgery. It will be a better experience for them and improve our professionalism.
…. fade out….
Purpose: estimate the effort for User Stories (Product Backlog Items, Value Drivers)
Prerequisites: all items have a value estimate, each item is written on a separate note card, full team membership is known and available for planning, each team member has a set of planning game cards
- The team goes through all the items and chooses the one which has the lowest effort. Write the number “2″ on this card (usually in the bottom right corner).
- The team looks at the item with the highest value.
- Each team member thinks about how much effort the team will expend to fully complete all the work for the item. Comparing this work to the work effort for the smallest item, each team member selects a card that represents this relative effort. For example, if you think that it requires ten times the effort, you would select the “20″ card. It is not permissible to select two cards.
- Each team member places their selected card, face down, on the table. Once all team members have done this, turn the cards over.
- If all team members show the same value, then write the value on the item and go back to step three for the next item. (Or if there are no more items, then the process is complete.)
- The person with the highest and the lowest value cards both briefly explain why they voted the way they did. If there is a Product Owner present, this person can add any clarifications about the item.
- For any given item, if a person is highest or lowest more than once, then each explanation must include new information or reasoning.
- Once explanations are complete, the team members collect their cards and go back to step three.
- it is extremely important that the voting for an item continues until all team members unanimously vote the same way (this way team members and outside stakeholders cannot blame any individual for “wrong” estimates)
- in Scrum, it is normal for the Product Owner to be present during this process, but not to participate in the voting
- in OpenAgile, it is acceptable for people serving as Growth Facilitators for a team to participate in the voting
- voting should not include extensive discussion
- if more than one person has the lowest or highest vote, usually just one person shares their reason in order to help the process move quickly
- the first few items will often take 10 or 15 rounds of voting before the team arrives at a unanimous vote
- later on, items may take just one or two rounds of voting to arrive at a unanimous decision
- some teams, where trust levels are high, will discard with the use of physical cards and just briefly discuss votes
The planning game is used at the start of a project with the full list of user stories. In this case, it is reasonable to expect the team to average two minutes per user story, and an appropriate amount of time needs to be set aside to accommodate going through the whole list.
The Planning Game is also used any time that there is a change in the list of user stories: re-ordering, adding or removing user stories, or changes to a single user story. When such a change happens, the team can re-estimate any user story in the whole list. When starting a Cycle or Sprint or Iteration, all the user stories in the list should have up-to-date estimates so that estimation work is avoided in the Cycle planning meeting.
Finally, the team can decide to re-estimate any user stories at any time for any reason. However, it is important for team members to remember that estimation is non-value-added work and the time spent on it should be minimized.
For a few years now I have been working with managers and executives to help them do Agile-compatible performance evaluations of their staff. The method that has been most successful is based on a tool that comes from the book Toyota Talent called the “Skills Matrix”. The basic approach follows these steps:
- Baseline the skills within a team for each team member.
- Set development goals and action items.
- Regularly review performance in relation to the development goals.
Of course, the details matter. The OpenAgile Center for Learning has published a brief overview of how to use the Skills Matrix and a convenient A0-size pdf that can be used as a template for a team’s Skills Matrix. I highly recommend using these to get started. If you are a manager, ask your ScrumMaster or Process Facilitator to arrange and facilitate a team workshop to do the initial population of the Skills Matrix, rather than doing it yourself. Once that is done you have a baseline and you should take regular digital photos of the team’s Skills Matrix for record-keeping and as a backup in case of disputes. You should also let the team know that you will be basing performance reviews on how they improve their skills.
The development goals that team members set then should be made such that every team member understands that they have a responsibility to diversify their own skill set and assist other team members in doing this. As a manager, you should review each team members’ goals for development and provide mentoring support when needed. At the end of a fixed period of time (quarterly is a reasonable period), you will review each team member’s development relative to the baseline and the goals set. Of course, normal guidance around performance (or lack thereof) can be given at these regular reviews.
I strongly recommend reading “Drive” by Daniel Pink as an important adjunct to understanding how to do performance reviews for individuals in an Agile environment. In particular, individual performance reviews should not be tied to bonuses. If bonuses are used at all, they should be measured and delivered purely at the team level or organization level without measuring individual contribution.
I’ve been giving out a cheat sheet on Scrum in my training classes for the last 6 years. It has evolved a great deal and I thought it would be timely to share it.
I also have a guidelines/rules-of-thumb list:
And some pitfalls listed out:
You have been fighting for the right for your SCRUM or OpenAgile team to do the right thing and allow the TEAM to estimate the work for a project instead of having a PM, senior manager or Committee just make something up for team. Congratulations…
Then you realize.. Oh, Oh.. Now what ? How am I going to pull this off ? You will find all kinds of interesting material on the net with complex formulas and calculations. There are some well written and recognized books about this topic that can help. *Agile Estimating and Planning by Mike Cohn is a great place to start.
What is important is that the TEAM should estimate the work required to complete a Sprint (or a Project). The people doing the work, really know best how long their work will take.
Please remember though, estimation is just that, and should not be cast in stone. The reality is that at this early stage (or even 1/2 way through a project), there are still many unknowns.
I have used the following approach with as many as approximately 20 team members at the same time. Maybe it will work for you.
The following procedure assumes you already have a team or teams that are familiar with their velocity and capabilities.
Here’s how it works….
At this early stage, their may be some stories, but likely everything is in Epic or Theme sizes. Perfect. You don’t need too much detail.
The Product Owner can give a brief overview of the vision. You might find it useful to have stakeholders there to listen in and answer questions at this early stage. This will help them to have an idea already of what obstacles they will need to be removing for the team in the future :->
Then, let the team use what they already know…. Planning Poker Cards. For an overview of the process, here’s a link for a documented procedure from Mountain Goat Software.
Just change the scale of the cards to be 10 times more. A 2 would become 20, a 20 would become 200. The team members already know this system. It will be easy for them to learn.
So, if your usual numbers are 1,2,3,5,8,13,20,40,100, use the same cards for team voting. The values would just be 10,20,30,50,80,130,200,400,1000..
You will quickly get an overall estimate for each Epic with numbers from the team. Just add up the numbers to get an overall number and divide it by the overall velocity and you’ll have some idea of how many sprints of work are left.
More importantly, you will also have started the process of communication among the team members and the Product Owner. The Product Owner will already know which parts of the project may present challenges to assist them in their overall product planning.
As estimates really are just that, don’t get excited if the numbers aren’t what you deem to be perfect. You will have an idea based on existing velocity of the “broad estimate” for the project.
Nothing fancy, works quickly, and gets everybody thinking about the big picture.
NO, it is NOT perfect. That’s not the idea. Spending too much time on this won’t necessarily give you more accurate results. I find that letting everyone know it’s not perfect, removes a lot of pressure and keeps things moving forward. People will STILL do what’s right and give their opinions on issues that really matter to them. Don’t worry about that ! :->
The hardest part is to keep things moving forward, especially with a larger group. Be prepared for this or this will take far too long.
You may find that the numbers are Not what you expected and may be higher than you had hoped for. Think about it this way. If today, the team is telling you based on what they CURRENTLY know that the project will take 6 months to complete, what is the point of saying, NO, the exact amount of scope will get done in 3 months? As agilists, we know better. Besides, at this point in time, we really don’t know what the work actually is yet.
Try and avoid having only developers, or only a certain group, and please don’t exclude testers or BA’s. The idea here is that since you are working cross-functionally, you should be getting a cross-functional vote. Depending on your group size, you may have a hard time getting your WHOLE team involved. Just resist the temptation to only have a few people. You’re really missing the benefit.
This process has also worked for me half way through a very large project for a new team (it was not possible to do this at the beginning). I was fortunate to be in a company that had a great attitude towards the results and used the information obtained to re-align their corporate objectives based on the teams’ input about how long epics would take. That was a great experience and allowed for a very successful project delivery!
Listen to what the team is telling you! They have all given their input this way. There is no reason to think they are wrong about the their capabilities or the capabilities of the company to keep up with them. The team will also automatically factor in the environment they work in and the corporate development culture.
I’ve successfully used this technique with a group as large as approximately 20 people from a variety of teams working on the same project in the same room with a Product Owner and 2 Stakeholders.
That same team also estimated approximately 6 months worth of epics in just under 2 hours. Longer than that would not likely have produced better results.
The goal isn’t to create procedures here, but to find a way to allow the team to estimate work instead of schedules being handed down to them. More importantly, it will start the goal of communication between the Team and the Product Owner.
Maybe this approach will work for your team. If you try this, please let me know how it worked out for you either way.
Mike Caspar – Mike Caspar’s Blog
OpenAgile – http://www.openagile.com
Scrum – http://www.scrumalliance.org
*Agile Estimating and Planning by Mike Cohn
The comic strip at XKCD today is brilliant. It takes a bit of effort to follow it, but the punchline is brilliant. Communication is tough. How does this apply to agile teams? You be the judge! (PS. XKCD is a great comic for geeks, but sometimes nsfw.)
Every once in a while I’m reminded of the very important question: WHY?
If you are considering SCRUM, XP, Lean or any other Agile Framework, or if you are considering using OpenAgile which is an Open Learning System, you will be changing the organization.
Many people think they can do “Agile in a bubble” and therefore not interact with the rest of the organization. You will likely find that you will quickly run into obstacles to using the Framework.
Just the iterative process alone will change the way stakeholders interact with teams, meeting rooms are scheduled, vacation schedules, communication requirements, team spaces and/or seating, the responsibilities of stakeholders, and even the interactions between team members and other departments. Because of this, working towards Agility WILL change your organization.
You may start out with an aggressive framework such as XP(Extreme Programming), or something a little more gentle such as Kanban or Lean (which let you start out as you are and visualize your process). However, please don’t kid yourself; you will eventually need to change the way things get done in the company.
Whether you are the OpenAgile Growth Facilitator, a Scrum Master trying to introduce Agile from the grass-roots, or if you are the CEO or CIO trying to introduce change from that level, you will eventually need to address the WHY for the change.
Managers and employees alike need to know why they are being asked to leave their comfort zones. In some cases they will be going against everything they have learned in the past about people management or how they should work. They need to know the reason.
Whatever level you are in at your company, please be ready to explain why you are making the change to an Agile Environment. Something like “to be more efficient”, isn’t really going to cut it.
- Is it to be more competitive against other companies breaking into our market and you need to change quickly to stave them off? To give this message, you would need to let people know that you are concerned about this. This is part of the Transparency of Agile. If you know this, but are not willing to pass this on to your managers or teams, you will have struggles when managers don’t know why you are changing their environments.
- Is it to stop the high level of turnover in your company ? You will be changing to a more team-focused environment which might seriously change the way Project Management or even H.R. does things. For this also, you will need to explain your changes to help you get support.
I could think of many other reasons. You should have your OWN reasons.
If you started an adoption or transformation a while back, it’s a good idea to restate this every once in a while (if even for yourself). It will remind you why you are continuing to improve and learn every iteration.
Asking yourself once in a while will also allow you to improve your message which will likely change slightly over time as the market and your environment changes.
Please, go home TONIGHT and ask yourself WHY are we transitioning or continuing to work towards being more agile. You will need to answer this for others more than once as you continue on your journey.
If the answer to yourself is “this is our last chance to make sure we don’t disappear as a company”, that revelation is a good one as well, and you will know why you need to stand strong on the changes you are making. Either way, it all starts with the same question.
Please make sure you always know the answer to the question “Why?“.
I recently had a revelation about the Title “Scrum Master” and why it seems to be so confusing in some companies, especially those that are moving from Command and Control to an Agile Environment.
I was observing the activities of a new team that did not have a Scrum Master but were trying to use the SCRUM Framework. The company had unfortunately not added this role in their new SCRUM team(s). The reasons why are not important. Let’s just say, they now have those roles.
When the Scrum Master was selected, some issues showed up over a perception of that person getting a “promotion” to a management type position. They were now the “Master of the Team” (or so the perception was).
I managed to help that team out by simply reminding them the intention is that the Scrum Master role is as a Master of SCRUM, not a Master of the Team.
There are some management type abilities to be a Scrum Master for sure, but they are more directed to interfacing with the outside world and removing obstacles for the team. There are some management skills required to be able to have the confidence to keep the rules of Scrum and push back and deal with different levels within the organization.
Remember, the word is SCRUM Master, not TEAM Master, Team lead, Project manager, etc.
Of course, changing the order of the words would be inappropriate, but perhaps explaining the distinction to others might help clear up some of the confusion for your teams.
The term is SCRUM Master
Ken Schwaber, the founder of Scrum, has a blog. In it, someone mentioned that Scrum is changing. Ken responded:
If you change the Scrum framework you just simply aren’t using Scrum and are probably canceling some of its most important benefits.
Thank you Ken! I wholeheartedly agree. Every CSM class I teach, I emphasize the complete nature of Scrum as a single tool, not a collection of tools. Learning Scrum is about learning the tool, not learning how to pick and choose pieces of a tool. Let’s explore this metaphor of Scrum as a tool.
Consider a hammer. A hammer is ideally suited for pounding nails into wood. It has two parts: a head and a handle. If you take the parts and use them separately, they can still be used for pounding nails into wood… but they are very ineffective compared to the hammer (although better than using your bare fist). It is non-sensical to decompose the hammer and try to use the pieces separately. However, a hammer is not suited to other purposes such as driving screws or cutting wood. It’s perfection is not just in its form, but also in its proper application. A hammer works through a balanced combination of leverage and momentum.
Scrum is like a hammer. It has parts (daily Scrum, Sprints, ScrumMaster, etc.), but taking the parts and trying to use them separately is… you guessed it… non-sensical. The parts of Scrum combine to be an extremely effective tool for new product development. Just like a hammer, there are things you wouldn’t want to do with Scrum such as manufacturing or painting a wall. (We might not all agree on the limits of the use of Scrum… that’s something for another article.) Scrum works through a combination of pressure on the organization and “inspect and adapt” (continuous improvement).
Please. Don’t modify Scrum. If you must change things about Scrum, please stop calling it Scrum.
Almost three years ago we wrote a brief article about interruptions. In that article, we described four methods of dealing with interruptions. I would like to expand on those four methods and add three more to present a comprehensive set of options for organizations struggling with this.
Option One: Follow Scrum Strictly
The rules of Scrum are clear: if it isn’t part of the team’s work for a Sprint, then it shouldn’t be done. From the moment the team commits to work in Sprint Planning to the end of the Sprint with the Sprint Review, the team needs to be protected from interruptions. If an interruption is truly urgent enough to warrant the team’s attention mid-Sprint, then the Sprint can be canceled. This is a pretty extreme result however since it invalidates the team’s previous commitment.
The Scrum approach is based on the basic philosophy that Scrum is a system to expose the problems and obstacles in the organization. This is painful! In the case of interruptions, Scrum then is metaphorically throwing them back in the face of the organization and saying “this is bad behavior! Fix the behavior that causes so many interruptions, don’t find a way to accommodate interruptions.”
For example, many teams are faced with interruptions related to their support of the software they are creating. In Scrum, deflecting the interruptions forces the team and the organization to examine the root causes of the support issues and fix them. If the team is producing software with lots of defects, then that needs to change. If the team is producing software that is hard to use, then that needs to change. If the team is producing software without the appropriate level of user documentation, then that needs to change. But what doesn’t change is the team breaking the safety of the Sprint defined by the rules of Scrum.
Option Two: Allocate a Portion of Time to Interruptions
Given certain conditions, the amount of interruption of a team can be “stable”. If this is the case, then the team can reasonably set aside a certain percentage of their time to handle interruptions. Determining if this is possible can be done by tracking the occurrence of interruptions and the level of effort to handle them.
In a team using this method, there are two ways to allocate this time: everyone on the team gives a certain amount of time each day to handling interruptions OR one or two people on the team are committed full-time for a cycle to handling interruptions. In either case, if the amount of actual time spent on interruptions is less than the amount of time available, then that difference of time must be used carefully. Generally, the best use of this extra time is to work on resolving the root causes of interruptions. For example, if one person of a team is dedicated to dealing with interruptions, and most interruptions come from in-the-field bug support requests, then that person might spend any extra time working on fixing older lower-severity defects.
The amount of time that the team is allocated to handling interruptions should never be exceeded otherwise the team’s commitments at the start of the cycle are not really commitments.
This option is by far the most common systematic approach to dealing with defects
Option Three: Visible Negotiation of Change
Another common method of handling interruptions is the “fluorescent note card” method which requires visible stakeholder negotiation around the impact of interruptions. With this method, any time a stakeholder comes to the team with an interruption request, the ScrumMaster/Coach/Process Facilitator writes the request on a bright colored note card so that it is easy to distinguish it from the other tasks the team is working on in their current cycle. The ScrumMaster then asks the team to do a task breakdown on the card and using their normal process (whatever that is) estimates the work effort. The requesting stakeholder then has to negotiate with any other stakeholders (and in particular the Product Owner/Growth Facilitator about what work to remove from the iteration in order to make room for the new work. This process works well primarily because it makes the tradeoffs visible. It does not work so well with letting the team make and keep their commitments which can have a long-term impact on trust.
This approach requires a few things to be in place to be effective:
- A visible task board instead of electronic tools for task tracking. The visibility makes the change much more immediate and you must have the stakeholders involved right in the same physical space. An electronic tool makes this too abstract and can lead to some important stakeholders not being properly aware of changes.
- A team that is reasonably good at estimating. By “good” I mean both accurate and fast. If it takes the team half an hour to do an accurate estimate, then that is already a significant interruption in itself! A team should be able to look at an interruption, break down the tasks and come up with a reasonably accurate estimate within no more than 10 minutes. Remember that doing this is already task switching so there is going to be an additional cost to the team.
- Finally, and perhaps most importantly, a clear agreement must be in place among stakeholders that this approach to interruptions is allowed and that the consequence of it is that the team cannot be held accountable for their commitments!!! I cannot stress this enough!
Option Four: Separate Team for Interruptions
This option is fairly self-explanatory and in fact is just a way of saying that you have a separate support group who deals with interruptions. The more technically capable this group is, and the more authority they have to make changes to the code/database/etc., the more effective they will be at protecting the agile teams from interruptions.
In some ways, this is a good approach because it makes the cost of interruptions very visible to the business: how much does your support team cost? If this cost is growing, then it means that the development teams are creating software that is harder and harder to support.
If you follow this approach, please ensure that you do not rotate development team members through the support team as this damages the team-building process for both the development team and the support team.
(One radical option to try as an add-on to this is to defray the cost of this support team by tying developer’s salaries to the cost of support. To make this palatable, you might simply say to the development team that any time a support person can be laid off due to improved quality in the product/system, that person’s salary will be permanently distributed and added as a raise to the salaries of the development folks. PS. I’ve never seen any organization do this – it’s just a theory.)
Option Five: Extremely Short Cycles
A less common, but interesting method for handling interruptions is to have extremely short iterations. In this method, choose your iteration length to be so short that you can always start work on urgent interruptions before anyone gets impatient! This can be exhausting, but it is one of the best ways to get the team and the organization to understand the large toll that these interruptions take.
There is a simple way to determine how long your cycle should be based on measurement. Choose a “normal” duration (e.g. one or two weeks) and for several cycles track how many interruptions are submitted to the team, and how urgent is the turn-around time on those interruptions. After several cycles, the team can then adjust its cycle length so that, on average, the team is able to start and finish a cycle in a time shorter than the expected frequency of interruptions.
For example, one team I worked with found that in general, they were getting interruptions that needed to be handled within three or four days, but more urgent interruptions were rare. They decided to use a cycle that was only two days long so that on average they would complete handling an interruption in three days. (Interruption comes half way through a cycle and is put on the backlog at the top. The next cycle they start and finish the interruption. Elapsed time is three days.)
Option Six: Status Quo / Suffering
There is nothing inherently wrong with continuing with your current approach to handling interruptions. It probably makes some people miserable, but there are also some people who really enjoy crisis and constant change. In fact, it may be part of the culture of your organization or something that is strategically important in your particular industry. That doesn’t mean you can’t be agile, but it may mean that you are making compromises where you are trading off team performance for some other benefit. it is important that if you choose to continue with your status quo, that you make the trade-off transparent. Tell everyone on your teams exactly why you are making the trade-off and what is the expected benefit of doing so.
Option Seven: Commitment Velocity
The most sophisticated option is based on measuring a special kind of velocity called “Commitment Velocity”. This is a mechanism that allows both interruptions to be handled mid-cycle and for teams to make commitments that they can keep. In the simplest terms, Commitment Velocity is the minimum historical slope of a team’s Sprint burndown.
For example, if a team in Sprint 1 has 240 units of effort at the start of the Sprint, but, partly due to interruptions, does not finish and then has 40 units of effort left unfinished at the end of the Sprint, then the Commitment Velocity (slope) of the team is 240 – 40 = 200. In their next Sprint planning meeting, they would plan such that they had at most 200 unites of effort in their Sprint plan. The team then does their second Sprint and again, partly due to interruptions, they don’t finish everything. Perhaps this second sprint started with 195 units of effort (<200) and finished with 10 units of effort remaining. Their new Commitment Velocity is 195 – 10 = 185. They do a third sprint, but they finish everything.
It is tempting for the team to perhaps take an average – maybe they finished 200 units of effort in their third Sprint so they average 200, 185 and 200 leaving 195. This is not Commitment Velocity. By definition, an average means that the team will successfully complete all their work 50% of the time.
Instead, the team maintains its Commitment Velocity of 185 for their fourth Sprint. By the law of large numbers and the central limit theorem, as the team uses this tool of Commitment Velocity for more and more Sprints, eventually their ability to keep their commitments, even with interruptions) will become closer and closer to 100% certain.
Selecting an Option
Ultimately, the most important thing in selecting one of these options is to do so consciously and in the spirit of learning that underlies agile methods. Choose an option and then stick with it long enough to truly understand if it is working for you or not.
There are some things to consider as well:
- If you are trying to do a dramatic improvement in how your organization gets stuff done, I would recommend choosing either Option One (Follow Scrum Strictly) or Option Seven (Commitment Velocity). Both of these are options that put pressure on the team and the organization to improve.
- If you don’t have strong executive support for Agile, then probably Options Two (Time Allocation), Four (Separate Team) and Five (Short Cycles) are going to be your best bet at first.
- If you do have strong executive support, but you aren’t desperate to improve your organization, you might consider Option Three (Visible Negotiation).
- Of course, Option Six (Status Quo) is the easiest… I don’t really recommend it though! Agility requires systematic change to encourage continuous improvement. All the other options assist with this.