This is a sample agenda for a sprint planning meeting. Depending on your context you will have to change the details, just make sure the outcomes stay the same.

Meeting purpose: Plan and prepare for the upcoming sprint
Meeting duration: ca. 1 hour for a 2 week sprint (it will be less if you’re an experienced team and know your domain well)

Part 1:

1. Intro & set the scene

Remind everyone that the purpose of the meeting is to plan the work for the next sprint.
Remind everyone of the sprint duration and demo date.

Share the desired meeting outcome:
– A sprint goal
– A sprint backlog including tasks

Share the planned agenda:

  • Define the sprint goal
  • Decide how much to chew off
  • Decide which stories to do this sprint
  • Create tasks for stories

2. Define the Sprint goal

Come up with a sprint goal: The purpose of having a goal is to be able to select user stories that support the goal, i.e. help you work towards something bigger than just delivering a collection of stories or unrelated features. It’s also really useful to assess at the end of the sprint whether you have been successful or not. Success is achieving the sprint goal, not just delivering all the stories you had planned to get done.

Examples could be:

  • Build edit delivery feature
  • Make the app hotter!
  • Demo advanced property search” (It’s okay to have a goal that is to collect feedback through a demo/prototype)
  • Fix push notifications and improve motors search” (One goal is better but if it is way too small it’s okay to have a dual goal. Just make sure you don’t end up with just a collection of unrelated user stories)

3. Decide how much to chew off

If you are using story points or count the number of stories delivered as a measure of velocity it’s a good idea to decide on a target velocity next. Base that decision on looking at a combination of past velocity, people’s availability (any holidays?) and just plain gut feeling.

Make sure you take past data into consideration, not just wishful thinking about how much you feel you “should” get done. This is also the reason why I like to discuss target velocity before choosing stories for the sprint: It is all too easy to get carried away with enthusiasm and optimism.


If you don’t have any data yet, don’t worry – just go by gut feeling and start collecting data now.

4. Decide which stories to do in this sprint

Take your product backlog and discuss for each candidate story what it means, what you’re trying to achieve and what success looks like. Do this for all the stories you think you might be able to schedule into the sprint.

Choosing which stories to consider for your sprint is mainly determined by the sprint goal. Other considerations are:

  • What if we can do more than just the stories that support the goal?
    You could have a secondary goal (“Fix push notifications and improve motors search”) but make sure these are prioritised against each other. Or you could “fill” with bug fixes, enhancements and smaller, not necessarily related requests. Make sure to communicate that these are less important though than things that support the sprint goal and will get dropped if the goal is in danger.
  • What if there’s stuff we really want to do such as re-paying some technical debt?
    I like agreeing on one or two of such items for each sprint. I have found ca. 20% of a sprint’s work dedicated to the team’s wishes to be a good thing.
  • What about high risk items?
    It sometimes makes sense to prioritise a risky story higher to just learn, gather knowledge and be able to plan. Early prototypes for hairy features are a good idea.

What it comes down to is to have a discussion between the team with their technical expertise and the Product Owner as the representative of end users and stakeholders and to decide together what you want to do during the next couple of weeks.

Also, make sure not to “fill up” your entire sprint with planned work but to leave some room for unexpected opportunities or complexities.

Once you have decided which stories to aim for during the next sprint, move on to part 2.

Part 2:

5. Task planning

I like planning individual tasks for each user story and to make work visible at a granular level. This makes it easier for people to collaborate around user stories and to help each other reach a shared goal.

As an example for the user story “As a photographer I want to make some of my albums private so that no one else can see them” we identified the following tasks:

If you find it hard to make tasks ask yourself how you would get started. And what you would do next? And then? You’ll find you can come up with quite a lot of useful tasks that need to be done.

Try to keep tasks to less than a full day’s work so that stuff moves through on a daily basis and there is a sense of progress and opportunity for collaboration during the daily standup. Also, try to split them in a way so that in theory different people could do different tasks.

Remember that you don’t need to get the tasks right upfront: It’s perfectly fair to add new tasks to a story or to delete tasks that are no longer needed during the sprint.

And don’t assign tasks upfront! It will just make you wait for each other and cheat you for opportunities to collaborate and help each other.

Part 3: Set up your visual workspace

This is the outcome of your sprint planning meeting: A visual workspace with a list of user stories and associated tasks.

Here’s an example:

If you aren’t co-located you can of course achieve the same in Jira or some other tool. I really like the tactile and highly visible nature of the post-it note board though, so if you have the option I’d definitely use one of these.

HOW TO RUN A SPRINT PLANNING MEETING (THE WAY I LIKE IT)的更多相关文章

  1. OneZero第一次站立会议&Sprint Planning Meeting(2016.3.21)

    会议时间:2016年3月21日 11:40~12:00 会议成员:冉华,张敏,王巍,夏一鸣. 会议目的:列举第一周工作内容,确定第一周工作分配.即挑选出一个Story作为本次迭代完成的目标. 会议内容 ...

  2. 一张图看懂Sprint Planning Meeting

    本文主要参考<Scrum精髓>这本书的内容 每个Sprint都是从Sprint Planning Meeting开始,Scrum团队成员聚集在一起商定下个Sprint目标,并且确定在Spr ...

  3. 敏捷软件开发实践-Sprint Retrospective Meeting(转)

    介绍: 在敏捷开发模式中,Sprint Retrospective Meeting 也是一个必不可少的环节,它通常发生在每个Sprint的结尾,其主要作用是对于当前的迭代周期做一个阶段性的总结,包括好 ...

  4. Scrum的三个仪式:Sprint规划会,Scrum每日站会,Sprint评审会

    转自:http://blog.sina.com.cn/s/blog_6997f01501010m21.html Sprint Planning Meeting(Sprint规划会) 根据Product ...

  5. A Practical Guide to Distributed Scrum - 分布式Scrum的实用指南 - 读书笔记

    最近读了这本IBM出的<A Practical Guide to Distributed Scrum>(分布式Scrum的实用指南),书中的章节结构比较清楚,是针对Scrum项目进行,一个 ...

  6. [转载]敏捷开发之Scrum扫盲篇

    现在敏捷开发是越来越火了,人人都在谈敏捷,人人都在学习Scrum和XP...      为了不落后他人,于是我也开始学习Scrum,今天主要是对我最近阅读的相关资料,根据自己的理解,用自己的话来讲述S ...

  7. iOS项目分析及优化

    iOS项目分析及优化  来源:吴白的简书   从代码看一个程序员的笔力 从代码的整洁度上就可以看出一个程序员的实力,规范其实就是让你养成一种良好习惯的标杆,在此面前我们应该顺从.本篇我们以OC为例,统 ...

  8. ACCEPTANCE CRITERIA FOR USER STORIES

    One of the teams I have recently coached quickly got a grasp of how to phrase user stories but found ...

  9. [转] Agile Software Development 敏捷软件开发

    原文作者:kkun 原文地址:http://www.cnblogs.com/kkun/archive/2011/07/06/agile_software_development.html 敏捷是什么 ...

随机推荐

  1. Moving Average from Data Stream

    Given a stream of integers and a window size, calculate the moving average of all integers in the sl ...

  2. log4j使用总结

    1.不同包的日志,记录到不同文件 log4j.logger.com.gyoung.service.impl=INFO,Doc log4j.appender.Doc=com.gyoung.logger. ...

  3. Android搜索功能的案例,本地保存搜索历史记录......

    开发的APP有一个搜索功能,并且需要显示搜索的历史记录,我闲暇之余帮她开发了这个功能,现把该页面抽取成一个demo分享给大家. 实现效果如图所示:  本案例实现起来很简单,所以可以直接拿来嵌入项目中使 ...

  4. select初始化添加option,通过标签给出回显值,由于回显值和初始化值option中有一个值重复,去重等问题!

    第一张图片: 第二张图片 /** *该方法是为了去重,所谓去重就是 因为回显给select附上了值并设置为selected选中状态,而在我们初始化所有的select添加option元素中于回显的值重复 ...

  5. libsvm数据处理初略流程

  6. Linux C编程学习6---字符串处理、数据转换

    1.字符串 应用程序按其功能可分为数值计算.非数值计算以及输入输出操作等.非数值计算程序占相当大的比例,其核心就是字符串处理1.1.字符测试 1.1.1.测试字符是否为英文字母 int isalpha ...

  7. PHP7函数大全(4553个函数)

    转载来自: http://www.infocool.net/kb/PHP/201607/168683.html a 函数 说明 abs 绝对值 acos 反余弦 acosh 反双曲余弦 addcsla ...

  8. 解决升级PHP7后 微信公众号收不到消息

    服务器配置Linux+Nginx+PHP5.5+mysql index方法配置微信的关注回复.菜单事件.多客服.自动回复等 public function actionIndex() { if (is ...

  9. 高性能的JavaScript--数据访问(2)

    动态作用域 无论是with表达式还是try-catch表达式的catch子句,以及包含()的函数,都被认为是动态作用域.一个动态作用域只因为代码运行而存在.因此无法通过静态分析(查看代码机构)来确定( ...

  10. Chrome 中的彩蛋,一款小游戏,你知道吗?

    今天看到一篇文章,介绍chrome中的彩蛋,带着好奇心进去看了一眼,没想到发现了一款小游戏,个人觉得还不错,偶尔可以玩一下,放松放松心情!^_^ 当 Chrome 无法连接到互联网时, 或者上着网突然 ...