No Sprint Planning meeting will be the same, but I have observed some very practical steps to help you power through your sprint planning and ensure the essentials are covered.
- Iterations are 2 weeks in length. (adjust time boxes listed below if you do 1 week or 3-4 week sprints)
- Teams have some level of cross-functionality
- Product Owner is embedded in the team and in attendance
Sprint Planning Agenda:
- (15-30 min) Recap of current sprint
- What is done?
- What is left and why?
- (5-10 min) Prioritize any leftover items – The PO decides if left over stories should move to top of sprint backlog or sent back to the backlog. (Do not assume that because something was a high priority before that it for sure is a top priority again!)
- (5 min) Close previous sprint in ALM tool (Jira, VersionOne, Rally, etc)
- (15-30 min) Revisit estimates for carryover stories. (Look for TOTAL effort, not just remaining effort. This is key for establishing velocity)
- (5-10 min) Evaluate capacity of the team (check for PTO, training, etc)
- (90-130 min) Create the Sprint Backlog – Pull stories from the backlog to create the sprint backlog one story/task at a time.
- Break each story/task down to sub-tasks
- Estimate hours for each sub-task (optional)
- Quickly Re-visit the estimates for the stories after tasks are created. Still seem good? (Your estimate was first created in backlog grooming, now you’ve gotten more specific and need to make sure it still is accurate)
- Note: if the team is not yet highly cross-functional you will need to take a look and who these tasks might be assigned to. If you only have 1-2 people, a team with a specific skill set you do not want to create a situation where the rest of the team is blocked because they have too much work. If the team is cross-functional you do not need to assign anything to anyone other than the first task an individual will work on after sprint planning.
- (10 min) Fist of Five – Ask the team about their confidence level for the upcoming sprint items. Specifically, this is trying to gauge if they feel their commitments are realistic, and there is nothing blocking them out of the gates. If there are outliers take the time to discuss and adjust sprint forecast as appropriate. Remember, you can always pull additional items from the backlog should the team finish all items in the sprint backlog.
- 5 fingers: I am 100% sure we will complete everything this sprint.
- 4 fingers: I think it’s probable we will complete everything this sprint.
- 3 fingers: There’s a 50/50 chance we will complete everything this sprint.
- 2 fingers: I think it’s unlikely we will complete everything this sprint.
- 1 finger: I am 100% sure we won’t get everything done this sprint.
- (10 min) Create sprint theme/goals – This could be action items from Retro, or focus on collaboration, or some vision from the PO about a feature.
If you are a part of an agile team, you probably are doing daily standups (daily scrum), right? As many things in life go, repetition can cause something to be less and less enjoyable, even to the point of dread. If the grind of the 3 questions (what did you do yesterday, today, and what are your blockers?) has got you down, here are some tips to optimize your daily standups.
1.) Start on time – Even if everyone is not there on time. This may seem counter-productive, but who wants to wait around every day for 2-5 min while people wander in with their Starbucks or like to take a bathroom break every day before standup? If you consistently start on time, people will get the hint that they need to be on time or will always be late. Also, This rewards those who tend to be on time more often than not. If you really want to have fun with it, start a standup tip jar. every minute late you have to throw in a dollar to pay for the team’s beer run. 🙂
2.) Standup – There is a temptation to walk into a room, put down and open up your laptop, and settle in with a warm beverage. This is a sure fire way to drag out your standups. By standing up people are slightly less cozy and more apt to get down to business and move on with their day.
3.) Do not turn standup into a status reporting session – In my opinion, the standup should be more focused on the plan forward than going over what took place in the past. There is often value to sharing what you’ve done if it helps share knowledge and communicate that you’ve completed something. I always try to go by the 80/20 rule for standups. Let me explain: Only 20% focused on the past and 80% of your update focused on the present and future. another way of saying it is to spend 80% of your time discussing your plan forward and any impediments in your way.
4.) Be inclusive of remote team members – This could be a completely separate blog post, but here a few of the most important suggestions I can make. First, use video if at all humanly possible. You lose so much in translation without seeing someone’s face. Next, consider having someone at the location where the team is mostly co-located be on point to making sure the remote folks are considered. I’ve worked on many distributed team, and it’s very challenging to keep them in mind unless you are intentional about it. This article from Leading Agile has more great tips.
5.) Utilize a parking lot – if you or your team has a challenge with going deep into solutions at standup, it’s probably time to start using a parking lot. Or as I’ve heard some people dub it, “The after party”. If a conversation has gone too far into the weeds someone should propose it get’s added to the parking lot. Quickly write it down on a sticky note, etc. Then after everyone has given their update have the folks who need to keep discussing the parking lot item stick around. I’ve worked with some coaches/scrum masters who are very legalistic about the parking lot. I say, use common sense. If the team wanders into the weeds once and a while it’s fine, don’t shut it down. But at the same time, you don’t want 7 team members that don’t need to be involved to have to sit through a conversation that could be had by 2-3 people.
6.) Streamline standup with other agile events if possible – Here is an example: You have a two-hour backlog grooming session from 1PM, then standup at 4PM. Do you really want the team to go back to their desk to try to work for an hour, then go to standup? I sure hope not, because context switching is costly and to be taken seriously! The team should think ahead to try to minimize this context switching when possible.
7.) End on time or early – For a team for 6-12 I highly suggest going NO longer than 15 minutes for standup. And as we know tasks often expand to the time allocated. This is why it is important to keep the conversation moving so you can finish early or on time, every time.
8.) Try mixing up the format once and a while – I was on a team once that did “third person Thursdays” where you had to give your entire update in the 3rd person. It still accomplished the goal of standup but it was a fun way to mix things up. Another thing you could try is have team members attempt to give an update for the person standing next to them based on what you think they did and are going to do. This method is slightly less productive but still fun. If your standup is in the morning, try surprising them with donuts or gourmet coffee once and a while. Another thing you could do is a brief quiz at the end of standup. “What did Suzie say she was blocked on?” The first person to answer get’s a $5 Starbucks gift card. I think you get my drift…mix it up!
I’d love to hear your ideas and experiences on how to make standups rock, and keep them from sucking!
“Start with Scrum.” Have you ever heard someone say this? I’ve heard this statement multiple times over the years when folks are talking about agile transformation, and it rubbed me the wrong way. The problem is, I couldn’t quite put my finger on why. In many ways, it makes sense right? Scrum can help someone wrap their mind around work decomposition, shorter feedback loops, retrospection, and being connected to the customer more through user personas. But why are so many teams struggling to find agility with scrum? I think I finally can explain why I think this approach isn’t the right thing to do if your end goal is agility.
1 – Scrum is a framework and agile is a mindset.
Source: Michael Sahota
Last year when I was presenting at the Global Scrum Gathering, we borrowed from Michael Sahota who said something to the tune of “If you adopt agile practices you could see a 20% benefit. If you adopt an agile mindset you could see 300% benefit!” So many people I meet that are interested in agile for their organization just want the benefits but without the mindset shifts needed to get there. I don’t fault them for that because when you look at the Agile Manifesto it reads out very well and sounds like positive things for most rational people. What is sorely missing is the “counting the cost”. If becoming agile as an organization was as simple as doing some training and doing the Scrum Events, there wouldn’t be agile coaches.
2 – Scrum is so 1990’s. (just like these awesome “hackers” in 1995)
Look…I love scrum. I really do! It’s something that opened up a doorway for me to be exposed to agile manifesto which has changed my life and career aspirations. But, while I was working on a blog post entitled “The History of Agile” it dawned on me that Scrum was a response to waterfall. And it was a tremendous leap in the right direction away from fixed cost/scope/timeline type projects. Then came along the agile manifesto which was a response to scrum and the various flavors of agility frameworks sprouting up. But we need to look ahead and allow the agile mindset to lead us into the great unknown. Ron Jeffries, one of the great original thought leaders in agile even said “I may have invented points. If I did, I’m sorry now.” The point is, we need to inspect and adapt as technology changes, culture changes, and people change.
Here’s another awesome 90s picture just because I found so many great ones to use for this article.
3 – Training wheels can create improper habits.
I was listening to a presentation by Joshua Kerievsky last week and he told a story about teaching his daughter how to ride a bike. He said that many people talk to him about how Scrum is like training wheels for their organization to adopt agile. He pointed out though that training wheels don’t actually teach you balance, they just teach you how to steer and peddle. He took his daughter to the park one day and had her learn how to ride a bike by keeping her feet of the peddles and just pushing herself and lifting her feet to learn the balance. She quickly got comfortable with keeping balanced which is typically the hardest part of learning how to ride a bike. And in no time she was ripping around on the bike! What’s the lesson here? You don’t always need training wheels to begin your journey towards agility.
In conclusion, starting with Scrum may not be the right strategy for your team(s). My personal guidance as an agile coach is to only start with Scrum if you envision something close to Scrum being your destination. And even in that is your situation, always start with trying to adopt an agile mindset before trying to implement a framework. By doing this, you are allowing your organization to tap into their creative potential, untethered to just one framework.
Backlog grooming is an activity many agile teams perform each sprint. This is the process of adding detail, estimates, and order of priority to items in the Backlog. This is an ongoing process in which the Product Owner and the Team collaborate on the details of Product Backlog items. During Product Backlog refinement, items are reviewed and revised. The Product owner is responsible for having stories ready for grooming, and the Scrum Master is responsible for making sure the stories are groomed before sprint planning (via backlog grooming).
What is Backlog Grooming?
- Removing user stories that are no longer relevant or needed
- Re-assessing the relative priority of stories based on emerging information
- Applying estimates to stories which have yet to be estimated
- Correcting estimates based on newly discovered information
- Creating new user stories in response to newly discovered needs by the team, product owner, or customers
- Splitting user stories which are high priority but too large to fit in an upcoming sprint
Grooming will allow for:
- A better understanding of user stories
- Identification of dependencies and potential gaps for stories
- User Story estimation for upcoming and future sprints
Product Owner’s Role
The Product Owner’s role in backlog grooming should start before the actual meeting. The PO will need to make sure that the stories are already prioritized. This is vital to making sure the team’s time is used to groom the most important items first. The PO should also add acceptance criteria or user acceptance test cases to stories as appropriate, depending on how soon each story will be pulled into a sprint. Backlog grooming should not be done without the PO.
Scrum Master’s Role
For this project The Scrum Master will schedule the meeting and take care of any other logistics. The Scrum Master should also be in contact with the PO before the grooming session to make sure the stories are ready to be groomed. Backlog grooming can be done without the SM.
The Team’s Role
Having the team involved with grooming is imperative. While the PO has a great deal of the content identified up front, the team can help round out the technical aspects, dependencies, and other considerations. With the team’s help, the acceptance criteria can be modified and expounded upon. If the team has the ability to even briefly review the top upcoming items, its ideal.
What’s the potential impact of not having backlog grooming?
- Your stories will not be prepared for sprint planning.
- The connection of work items to big-picture vision will grow stale.
- A dev may be looking or hearing about a story for the first time as they are having it assigned during sprint planning. This typically can increase ramp up time.
Who Should Attend Grooming Session(s)
- Pre-Grooming: Discipline Leads (UX/Component), Product Owner, Scrum Master (OPTIONAL)
- Grooming: Same audience as above and including all Dev members and the QA teams.
Just Getting Started?
For the initial 1-2 sprints it’s suggested that both Pre-Grooming and Grooming sessions take place. Cadence and details below:
(Optional but highly recommended during early stages): A more focused group review to prepare stories for the full team grooming sessions. Goals:
- Review story scope
- Identify blockers and agree on an plan of action to unblock items
- Ensure the stories contain the minimum needed information to the team to be able to discuss and estimate.
Pre-Requisite: Product Owner has reviewed stories for Pre-Grooming and they are ready for review.
Timebox: Try to have 30-60 min planned each sprint for pre-grooming .
A collaborative discussion and elaboration of user story details and estimates. All stories on the agenda won’t always be estimated as some will require additional discussion / decisions. Goals:
- Stories should be understood by all members of the team
- Blockers should be closed or workable
- Stories should be ready for sprint placement
Pre-Requisite: Product owner has reviewed stories for Grooming and they are ready for review.
Timebox: Try to have 1-2 hours planned each sprint for grooming. For teams that are new to this you may want to plan for 2 hours and finish early if you get through everything.
Back To Basics
After your backlog begins to take on a level of refinement, you may find that it’s no longer necessary to have two separate backlog grooming meetings. A great indicator for determining this would be to ask the following question: “Are all of the stories for the next two sprints containing enough detail that the entire team attend grooming without wasting time?”
If you made it this far, you’ve consumed a lot of information. Feel free to comment with questions or some suggestions you might have.
The timeline above contains some key moments in the history of agile, and some other interesting events taking place at that same time for reference.
- 1970 – Waterfall Model was created (by Winston W Royce.) Interestingly enough some of the risks he called out have been realized and are much of the reason we saw agile come into existence.
- “I believe in this concept, but the implementation described is risky”.
- “The required design changes are likely to be so disruptive that the software requirements upon which the design is based and which provides the rationale for everything…. are violated. Either the requirements must be modified, or a substantial change in the design is required. In effect the development process has returned to the origin and one can expect up to a 100-percent overrun in schedule and/or costs.”
- 1970 – Also, Gas is 36 cents per gallon. Wut?!
- 1990 – Jeff Sutherland and Ken Schwaber conceived the Scrum process in the early 90’s.
- 1991 – Also, the release of Nirvana’s Nevermind signified the start of the Grunge era that would dominate the music scene up to the mid-90’s.
- 1995 – Scrum is codified in 1995 in order to present it at a conference in Austin, Texas (US) and published the paper “SCRUM Software Development Process”.
- Scrum was first tried and refined at Individual, Inc., Fidelity Investments, and IDX (now GE Medical). These weren’t simply startups with greenfield development efforts.
- 1995 – Also, OJ Simpson was found NOT GUILTY!
- 2001 – In February 2001, Jeff and Ken were amongst 17 software development leaders creating the Manifesto for Agile Software Development. – Their goal was to take all the good things they’ve learned and create a “charter” for others to use. By this time there had been many variations of agility that evolved. The manifesto was taking the best of the best and boiling it down to principles rather than a framework or methodology.
- 2001 – Also, Lord of the Rings comes out in Theaters
Key Takeaway: Agile is not a flash in the pan, and is something that has been evolving for 20+ years. I believe we are even starting to see Agile become more of the “norm” in Software development. Agile as a mindset opens up the door for so much more than just SW Development. What do you think will be the key points in time for agile 20 years from now?
Dr. Winston Royce first described a model for working with large software systems in 1970, which we’ve grown to know as “Waterfall”. Interestingly enough what many never read in his writings on SW development, is the following quote: “I believe in this concept, but the implementation described above is risky and invites failure.” (Source: Dr. Winston Royce. Proceedings, IEEE WESCON, August 1970) Why could he have said this? Could it be that many times requirements are emergent? Perhaps it’s that estimating large and complex bodies of work based on a requirements document can be incredibly inaccurate?
While I have a large bias towards Agile methodologies, as a consultant it’s my responsibility to evaluate what truly is the best solution for a client. I was recently on a project in a marketing organization, and while there certainly were some opportunities for Agile principles to be utilized, a framework like Scrum or Kanban just would not have been possible. I’ve heard some waterfall purists sum agile up to a bunch of people who want to get out of documentation and commitments to timelines. Ouch. But I also hear a lot of criticism from agile truthers about anyone who leverages waterfall as being clueless and archaic. Can’t we all just get along? Yeah, we can actually. But we have to start to recognize that Agile and Waterfall have value in different ways.
I’d love to have some discussion about what is seemingly a great divide between Agile and Waterfall methodologies. To help those in each “camp” understand why a specific method has value towards solving their business problems. What are some examples where you think a Waterfall process was truly the best solution for a project? What were some of the identifiers you had to come to that conclusion? Have you had success with using a “ScrumerFall” model where the Requirements, and design is all done up front, but Execution is done in sprints?
I had the privilege of going to my 2nd Agile Open NW conference. I’m a huge fan of this conference and the format it’s in.
What is it? From the Agile Open NW Website “Agile Open Northwest is an annual conference about agile practices and techniques. Using Open Space, the participants themselves make the conference they want to attend.” Have you ever heard of “unconferences”? The main idea of this conference is that it utilizes some of the key agile principles and allows individuals to self organize around topics they are interested in. I never would have expected it to work, but I’m pleasantly surprised! on the first morning people start grabbing time slots on topics they want to discuss, content they want to create, or questions they want answered. You get 30 seconds to give your pitch to the group, and then people come to the sessions they are interested in. You may have 2 people show up, or 30+! Even if no one else shows up it’s encouraged that you spend the time on your topic. Why? who wouldn’t love 60 minutes to focus on a topic they are passionate about?
Who was there? There is typically a wide array of attendees. I’ve met developers, agile coaches, video game producers, and newbies to the agile world. Some are there to be a sponge and absorb from others, but I think everyone ends up contributing to some degree.
What were the takeaways? This year’s theme was “Agile: How will you know it when you see it?” While the sessions don’t have to directly align to the theme, somehow they tend support it tie back to it. For me, I was surprised that my greatest takeaway was a session that I had not originally planned to attend. I started at a session about enterprise agile transformations, and just wasn’t feeling it. Since we are encouraged to utilize the law of two feet, I moved on. I stumbled across a session called “Agile Family”. It was about how to apply some Agile/Scrum principles into your family. It was fascinating to hear what others are doing in their families like stand ups, scrum boards, and dot voting to set priorities for the day. Not only did it inspire me to put to test more of the principles of agile in my personal life (Our family now has a scrum board and votes on what we do Sat/Sun!), it also helped me reflect back towards how I can use them better in my professional life. I also attended a few sessions where people presented ideas for new agile methods by taking rituals/practices from other frameworks and melding them into one. It was quite valuable to talk to others in the industry and be reminded of what’s most important.
This is a picture of the “Schedule Wall” that was used for showing when/where each session was.
Across the conference center you will find flip charts with tons of brainstorming notes from sessions. Even if you missed a session you can just want around during a break and snap pictures of what people created.
Fear not agile warrior, you are not alone and help is on the way. They are many situations where someone just knows that agile could help or even change the face of the entire company if utilized…yet someone or many people within an organization are opposed to the idea. So what should you do? First off what are some reasons someone would be against agile?
- The’ve been on a team where agile was used, and failed.
- They don’t know enough about agile or have misconceptions.
- They don’t believe agile is right for their organization/product.
- They’ve worked with an Agile Coach/Scrum Master/Consultant that was not very good at their role. Yes, not everyone does their job well…even in the wonderful agile community.
- They are from the past (I kid…I kid! That was an IT Crowd reference)
Now for the part you really came to this blog post for: What are ways I can help my organization adopt and/or support agile?
- Start emphasizing agile principles in whatever work you are doing. As a consultant that works on a wide array of projects with a variety of methodologies, I’m often tested with how to apply principles on a personal level. Getting out of the theoretical and nitty gritty practical application is a great exercise towards see if/how agile could work at your organization. If this is something you feel is “out of your league” or you just don’t have the time to do, it’s OK. There’s other ways to makes strides towards becoming more agile.
- Propose solutions to problems from an agile perspective but without using agile lingo. Some people are just turned off to agile terms and immediately roll their eyes when you say “backlog grooming” or “daily scrum”. But if you are able to problem solve using agile principles you could begin to win over even the harshest of critics.
- Create a mini scrum board for tracking your own work. I heard a story of a person who was trying to advocate for their company to adopt agile, and started doing a scrum wall in a shared space. Pretty soon scrum boards were up all over the company. Some were labeled “Inspiration wall” or “Wall of vision”. Everyone from IT to Sales was using them. Baby steps can be better than no steps, right?
- Contact consulting companies. See if they would be willing to share about agile within your organization. Some consulting companies will do this for free because it’s a great way for them to help your cause, as well as demonstrate their expertise in this area should you need their services down the road. Or see if they are willing to just share free resources with you.
- Join user groups and contribute to the agile community. There have been times where my primary daily function was far from an agile focus, but I was able to stay energized by attending local groups or writing blog posts in my personal time. Also, sometimes effective reflection comes when you are looking in from the outside.
- Find a new opportunity. (Please take this with a grain of salt as it’s just my opinion.) This for many reasons isn’t the first option anyone would like, but it may be the right solution. As the industry seems to be moving more and more towards adopting agile, it’s less likely that a company is just flat out rejecting agile. It could be that they proclaim to use agile but it’s very broken or dysfunctional. These kinds of situations can cause stress if you are a firm believer in the agile principles. But is the disappointment or stress consistently outweighing the rewards or satisfaction experienced? If yes, it may be time to look for new opportunities. Robbie Bach wrote a relevant article you may find useful called “Knowing When To Walk Away“
What about you? What advice would you have for someone in this scenario? I’d love to hear what other people have done or are doing.
What is it?
Someone developed this handy website for online Planning Poker sessions. Their website says it best “Online, virtual and co-located agile teams use this application during their planning/pointing sessions to effectively communicate points for stories.”
- It’s FREE! It’s hard to be overly critical of a free tool right?
- You can set custom point values. this is useful if you want to simplify your backlog grooming discussions.
- It’s fast to setup a session and requires no authentication. In my opinion you want to spend as little time focused on getting into the tool as possible. No credentials or software = a breeze.
- Enables remote team members or distributed teams to work together.
- The timer is super useful for keeping on track. Until you press “Clear Votes” the timer keeps going.
- The interface is a bit outdated.
- If you are concerned about security, this may not be the tool for you. While it’s not required to put sensitive or specific information on the site, all one needs is a session ID to see the contents of a session.
- You can make your name whatever you want when you join the session. Follow me on this one. Depending on your team’s sarcasam-o-meter you could see some interesting names join your session. 🙂 If you are trying to run a smooth session with multiple people it could be a little clunky until you figure out who’s who.
I love the tool, and have yet to find anything that works as well as this. Well done!