Awhile back I was working on an Agile coaching gig with Tom Smallwood. We were working with a team that moving to Scrum and was having a particularly difficult time meeting their commitments. Stories were being estimated in Story Points using the Fibonacci sequence and they were breaking stories down into tasks that were then estimated in ideal engineering hours. Stories were (mostly) small enough to go from card on wall to potentially shippable in about 2 days. Tasks were kept to between 4 and 12 hours. Unfortunately, despite following the basic guidelines we were giving them, they were still WAY over committing each Sprint.
Tom was the first one to notice that even though they were all confident in their ability to get the work done at the end of a Sprint Planning meeting, what they were confident about was in fact, completely impossible. What was happening was that each person was assumed to have a capacity of 8 ideal engineering hours per day. Since we were working in two-week iterations, this meant each person was on the hook for 80 hours of productive working time in a Sprint.
The way we addressed this initially was to ask them to plan for no more than 6 productive working hours per person each day. This helped, but it still wasn't cutting it. The problem was that each person had more that they were responsible for than just the project we were working on. (Yes, this is not ideal, but it was reality at the time.)
The solution we came up with was very simple and it is one I have used on every team I worked with since. It adds an extra step to the Sprint Planning ceremony, but it has been invaluable in helping teams understand their capacity and preventing over commitment.
(Disclaimer - this involves using relative Story Point Estimation for Stories and Ideal Engineering Hours for Tasks. There are many who do things differently and have great success - which is awesome... what follows is just what I have found to work well for me and the teams I've worked with.)
What we added was a step in the 2nd half of Sprint Planning. After the team has taken the User Stories (estimated in Story Points) and broken them down into Tasks (estimated in Ideal Engineering Hours), we would go around the circle and ask each team member to estimate how many ideal engineering hours he/she could commit to being responsible for in the upcoming Sprint. One of the most critical parts of this is the idea that the commitment being made is not to the PO, but to the other members of the development/engineering team. So, if I tell my team I'm good for 35 hours, then my team can count on me to be responsible for 35 hours of task work. If I commit to that and do not contribute that amount of time, my team members will have to cover for the work I've not done. While this should go without saying, I have found it to be helpful to mention when starting this part of Sprint Planning.
So, going around the circle, each team member has to be aware of how much time they can commit to contributing. This means they need to account for a lot of the things that get in their way.
Here is how I normally coach people to think through this:
In a two-week iteration, you begin with 10 working days. However, I normally block out 1 day for Sprint Planning, 1 day for the Sprint Review and Sprint Retrospective, 1/4 day for the 8 remaining days during which the team will hold a 15 minute daily standup and 1/4 day for an Estimation/Story Meeting. While blocking out 1 whole day for Sprint Planning and 1 whole day for the Sprint Review and Sprint Retrospective meetings is more than the Scrum Guide calls for, I have found that it is more realistic to working under the assumption that the team will get little else done on those days.
If the Sprint is 2 weeks long, we start with 10 working days. Once we block out the time mentioned above, we end up at 7.5 working days.
If we assume each person can be productive for a maximum of 6 hours per day, then:
6 hours/day * 7.5 days = 45
So, the absolute Maximum Possible Productive Hours (MPPH) for any individual in a two- week Sprint is 45 hours.
We then ask each person to total up the amount of time they expect to lose during the upcoming Sprint to the following events that are not part of the Scrum Framework:
- Standing Meetings - recurring meetings held each week that will keep them from working on the project
- Holiday/PTO - expected
- Vacation/Sick time - expected or averaged
- Medical/Dental/Other Personal Appointments - expected or averaged
- Emergency Fixes* - average time lost per Sprint to emergencies which require them to temporarily abandon their work on the project
- Misc. Additional Time - Any additional time they feel they should block out to address other issues, work or personal, which will inhibit their ability to contribute to the project during the Sprint
* Getting pulled away from a project to deal with emergencies that are not related to the project is a dysfunction that will impair the team's ability to realize the full benefits of Scrum. However, in several organizations I have worked with, it is a constant reality. When things break, and the money stops flowing, it's all hands on deck.
The total of the above is the Interruption Time (IT) that each team member must subtract from his or her MPPH. The amount of time left is the Revised Maximum Possible Productive Hours (RMPH).
If the individual is only working on a single project, then the RMPH is the amount of time that individual should feel comfortable sharing with their team members as their Committable Productive Time (CPT).
If the individual is split on multiple projects, then they should multiply the percentage of their time that is allocated to the project by the RMPH. They should then subtract an additional 10% from the result (for context switching) to get their Committable Productive Time (CPT).
Here is an example of the above...
- 4 hours standing meetings
- 8 hours PTO
- 3 hours for dentist appointment
- 5 hours average time lost to Emergency Fixes
- 5 hours subtracted because I will just be returning from overseas and I expect the jet lag to have a negative impact on my productivity for a few days
Interruption Time (IT) = 25 hours
- 25 (IT)
If I am split across 2 projects at 50% each...
-10% (context switching)
9 hours of Committable Productive Time
In talking through this, it is very common to see jaws drop. However, if each person on the team is doing this, then the team will have a realistic understanding of its' work capacity in a given Sprint. While the idea of having to tell someone responsible for your performance review that in a two-week period that you can only be counted on for 9 hours of time may be scary, it is honest. If we are practicing Scrum and sticking with transparency (one of the 3 legs of Scrum), and we are being responsible to our fellow team members, this is the most responsible, transparent thing we can do.
Once each team member has shared their CPT, they are totaled up and this is the Team's Committable Productive Time (TCPT). As long as the total number of estimated ideal task hours does not exceed the TCPT, then the team should feel comfortable making a commitment to the Product Owner for the Stories they will complete during the Sprint. If the number of estimated ideal task hours does exceed the TCPT, then the team may have to negotiate with the Product Owner to reduce the work being planned for the Sprint before they make a commitment.
I have also seen teams break things down even further into number of hours for development, testing, etc., but what is above is typically as deep as I go with it.
It adds an extra step, but it helps the team members inspect and adapt their own workload and capacity. This will also better enable them to meet their commitment in a Sprint; IMHO, the benefits of this far exceed the few extra minutes it will take for a team to make sure they are not overcommitting.
Written by Mitch Lacey, published by Addison-Wesley Professional as part of their Agile Software Development Series)
One of the things that is difficult about taking a Certified Scrum Master or Certified Product Owner classes is that to a large extent, the material looks at Scrum in a state that is (for many) based on an ideal they may never reach. Once students leave the class and go back to work, the number of obstacles they face in the struggle towards Agile transformation can be a daunting thing to overcome. If they are brave enough to take up the challenge, they soon bang up against the fact that when they try to apply Scrum in the wild, what they end up facing may not sync up so well with what was taught in class.
Enter Mitch Lacey’s new book: The Scrum Field Guide:Practical Advice For Your First Year. The Field Guide picks up where the classes leave off and addresses some of the real world issues that people face when they go back to their workplace and start trying to implement Scrum and Agile. In a narrative that is unassuming and easy to read, Mitch Lacey shares stories, his own experiences, and advice from other expert sources on how to actually get Scrum up and running and producing results. The book covers some of the most common questions that come up during implementation like:
- When we don’t know what our velocity is, what do we tell our stakeholders we can commit to?
- What if you have to play two roles at once?
- How do you deal with team members that are only needed for brief, very specific types of work?
- How is Scrum Master a full time job and how to you convince others of that?
The cases are presented through stories that set up the different situations. Lacey then draws on his own experiences leading and coaching Agile teams to explore the different options and offer his recommendations.
The book also includes a “First Aid” section for those who are trying to solve very specific issues with things like “Running a Productive Daily Standup Meeting” and dealing with some of the cultural challenges that are part of Agile Transformation.
While it is called the Scrum Field Guide, the book is not just about Scrum. Lacey introduces his own practice of Agile by saying that for him, one of the keys to getting Scrum to work has been pairing it with Extreme Programming. Throughout the book, Lacey introduces XP practices where he has seen them effectively utilized with Scrum.
While the book does include information on the actual Scrum Framework (in the Appendix) it is really designed to work best for folks who have a bit of experience in using Scrum and are seeing various issues, or “smells” as they are often called, creep up.
There are a lot of books out there that are aimed at clarifying what the Scrum Framework is. If you have clarity on what Scrum is supposed to be, and need a resource to help you make it work, The Scrum Field Guide will be a great addition to your tool belt. The title of the book indicates that this book is intended for people who are in their first year of doing Scrum. I’ve been working with Scrum for many years now and I’m also a Certified Scrum Trainer. I still found a lot of valuable information in this book and expect it is something I’ll be referencing in the future when I’m coaching.
ProjectsatWork has published a study called DistributedAgile Teams: Achieving the Benefits. The report was put together by Elizabeth Harrin (@PM4Girls), who is the author of the website A Girls Guide to Project Management. The results of the research cover a lot of ground with respect to what makes distributed Agile projects work and what can contribute to their failure. The report is very insightful and definitely worth the time it takes to read. While some of the findings may seem like common sense, knowledge workers in the IT space (myself definitely included) seem to possess a remarkable capacity for periodic loss of grip to that tether.
My favorite part comes at the very end during the summary of recommendations. Number One on the list is:
Don’t act like your project is co-located – pay the tax for distribution.
This is one of the most simple things that so many of us forget when we are working at a distance. I believe this applies whether you are working down the hall from someone, or across the globe… there is a price that has to be paid when you are not sitting in the same room. With the transparency that Agile offers, this tax becomes far more obvious. There is no doubt that distributed teams provide a number of benefits, but those benefits come at a cost. The reason (IMHO) so many people struggle so much with distributed is that they keep thinking that the ride is free ... which it theoretically could be… unless you actually want it to work.
When I am teaching CSM classes one of the commonly asked questions usually doesn’t show up until almost the very end. When it does, it comes disguised in various explanations and wrapped in deeply detailed back story. In the end, it always boils down to the same question… “How much of this do I actually have to do?”
What strikes me as ironic is it always seems to come at the end of a 2 or 3 day class where we have spent the time discussing an approach to work that is more lightweight than has been used in the past. So, we’ve removed all the extraneous process, lots of the burdensome paperwork and a kitchen sink’s worth of other stuff but the question is still centered around on defining the bare minimum (of the less burdensome process) that must be done.
If the person asking the question is specifically concerned about reaching a state of Agile Nirvana-ness, or works for a company that awards gold stars for Agility, my recommendation would be apply no less than the amount of <methodology or framework of choice> as is required to deliver working product. This is one of the primary way we measure success in Agile. But most organizations do not give out a prize for being “TOTALLY AGILE”. And at the end of the day, the job is to deliver something that works, which can improve the company’s financial position in one way or another. In order to reach that goal, one must apply no less than the amount of <methodology or framework of choice> as is takes to reach that state.
But for many of us, especially those trained in traditional project management, we need a line in the sand. We want something helps us know when we are fighting for the Empire or the Rebel Alliance. (One more reason we should all be issued orange jump suits when we take CSM training.)
There are specific elements in the Scrum framework that (IMHO) when left out result in the practice of something which is possibly Agile, but no longer Scrum. However, my list is based on my own personal understanding of what SCRUM. This begins with what is defined in the Scrum Guide (and related documentation) and is then filtered through my own empirical approach and experiences. I’m quite sure solid arguments can be made to dispute each item I would include (or not include) on that list of what is required to do Scrum.
In my own personal practice of Scrum, there are two parts to the answer. The first part of the answer is that each person involved needs to apply no less than the amount required to complete work that can drive revenue. The second part if that in order to truly see the benefits that Scrum (or any Agile practice can provide), I have learned that it is best to start as close to a pure version or the practice as the individual’s organization can tolerate. Each iteration offers an opportunity to plan-do-check-act over and over again. Each time we go through those steps we should making adjustments until an optimal practice of Scrum emerges. Once this optimal practice does emerge, they must never stop finding ways to break it and make it better.
What I am more curious about is what drives the desire to find the bare minimum of the newer, more lightweight process. My expectation is that it stems from a perception that Scrum would be difficult to implement within the context of whatever waterfall-esque process is currently in place. This could easily lead to the question of how much can we leave out and still technically call it Scrum. But again, at the end of the day, bonuses are rarely awarded based on Scrum purity. And there are, unfortunately, far too many organizations, teams and individuals out there who have jettisoned all but the vocabulary and still feel comfortable calling it Scrum.
If you are accustomed to working within the context of a traditional approach to managing projects you are probably familiar with the idea of doing a post mortem, or review at the end of a project. The objective of this meeting (or set of meetings) is to examine what has taken place and find a way to generate lessons learned which could be used to improve future efforts. In theory, this sounds like a great idea. In practice, however, there are two problems with this approach. First, they are rarely done with the regularity, or rigor required for them to truly add value. More often than not, team members are reassigned and send off to work on new projects before the project review can be conducted. Second, when project reviews are conducted, it is typically to focus only on the things that went wrong. Unfortunately, this often turns into a finger pointing session that does little to recognize the things that went right, and often is more centered around hanging blame on individuals than on determining the practices or processes that allowed the trouble to start in the first place. There are, to be sure, exceptions to the above, but in a traditional model skipping this critical step is far too common.
Repeatedly taking the time to examine how things are going is something that is baked right into an Agile approach. Scrum, for example, is defined as being built on “three legs”: transparency, inspection, and adaptation. If you are practicing Scrum, each Sprint includes the Sprint Retrospective, a “ceremony” where the team meets privately to inspect how they are working and to determine what steps they need to take in order to improve during the next Sprint. While a disciplined traditional approach may include a review at the end of each project (or ideally, the end of each phase), in Scrum, this happens every 2-4 weeks. It is the last official thing a team does during each Sprint.
The Scrum framework offers a more lightweight approach than you’ll have under a more traditional methodology like the one defined in PMI’s Guide to the Project Management Body of Knowledge (PMBOK). Because Scrum has removed so much of the process overhead, one of the things that teams come to depend on is the cadence of Scrum. We begin each Sprint with our Sprint Planning meeting; we hold a Daily Standup (or Scrum) meeting each day (at the same time in the same place); we hold a Demo (or Review) meeting with the stakeholders at the end of the Sprint and we follow that up with the Sprint Retrospective. Each of these practices provides opportunities to inspect and adapt, but it is the Retrospective meeting where the team comes together privately to exhale at the end of the Sprint and work out how they, as a unit, can become more effective.
Another interesting aspect of the Sprint Retrospective is the way the meeting is conducted. Teams will often start by focusing the positives and identifying what went right during the Sprint. Even if the Sprint did not go well, there is always something positive that can be gleaned from it. When the team talks about what could have gone better, the goal is to offer constructive criticism geared towards enabling them to function better as a unit. The subtle shift in from focus on “you” to “we” is a very important cultural change for those of us making the switch from a traditional approach. Before the Sprint Retrospective ends, the team will come up with an action plan for the next Sprint so that they can do more of the good things they’ve identified and take steps to correct some of the things that did not go as well as they could have.
If you are new to Agile, it may seem unnecessary to hold reviews with the frequency called for by Scrum - especially if things appear to be going well. Many rely on the old adage, “if it ain’t broke, don’t fix it”. The problem with that approach is that it becomes far to easy to overlook things until a time when they are so clearly broken, that there is no way back. If we are always inspecting and adapting, we are far more likely to catch things while we still have the ability to make any necessary adjustments.
If you are interested in learning more about Retrospectives, there is a great book by Esther Derby and Diana Larsen called Agile Retrospectives: Making Good Teams Great.