关于敏捷:您如何构建开发冲刺?

关于敏捷:您如何构建开发冲刺?

How do you structure a development sprint?

因此,我有很多积压的功能,我们将要开始一个相当大的项目。我正在努力定义sprint的结构,并对社区反馈很感兴趣。

我在想的是:

  • 一日冲刺计划

    • 填写待办事项,找出在此冲刺之后每个开发人员将要做什么
  • 三个星期的发展

    • 走!走!走!
  • 每日站立会议

    • 检查是否有人需要帮助或感觉偏离轨道
  • 冲刺两天

    • 代码审查在这里进行,利益相关者介绍
  • 一日冲刺回顾

    • 在上一个冲刺中我们做了什么?下次如何做得更好?

冲刺应该总是在星期二结束(以避免过多的周末压力)。

还要别的吗?显然,敏捷还比这更多。我想为团队提供一个简单的大纲,说明在开始该项目时我们将如何运作。


我会考虑尝试短于一个月的冲刺。

就个人而言,我发现一两周的迭代可以更有效地快速获得有效反馈。它还可以防止可能导致迭代级别问题累积到难以管理的级别的任何问题。

即使是30天的冲刺,对于冲刺评审来说,两天听起来可能要花很长时间...而对于回顾展,一天的声音也要花0.5天左右。我发现,如果您需要的不止于此,那么在进行迭代的过程中就会出现通信问题-因此,您可能希望将需要长期审核的问题视为可能的危险信号。

当然,这只是我的经验-大部分都是由人数较少的(4-12)团队开发Web应用程序。您的经验可能会有所不同。

就是说-我绝对会尝试短距离的冲刺。像集成版本一样-如果您更频繁地进行操作,许多事情会变得更加容易。


  • 确保"站立式"保持站立状态。滑入越来越长的会议非常容易。
  • 冲刺计划的一天和结束时的三天可能太多了。只安排您需要的时间。
  • +1为缩短迭代的想法。就个人而言,冲刺中的四个为期一周的迭代效果很好。人们擅长估算近期任务;过去,它变得越来越多。


关闭电子邮件,手机和即时消息传递应用程序以获取核心代码时间。上午10点至下午1点,下午2点至下午5点可能是个不错的选择。

在"区域"内为团队订购食物和饮料。

取消计划会议之前和之后以及审核日之前的所有其他会议。


看起来是个好方法。我同意adrianh和jedidja所说的可能更短的迭代。我自己喜欢一个星期。除了更好的估计,它还使"工作软件"的想法保持在更短的周期内。

几个问题:

为什么将代码审查保留到最后?可以配对程序,也可以随时评论。

3个星期的开发意味着"开发,测试,文档,安装程序等"吗?即您需要真正完成的所有工作?


为了管理而远离管理很重要。 SCRUM每天只需要召开1次会议,那很短。此外,在每个冲刺期间,仅有的其他会议是Spring回顾和冲刺计划。这使我们能够实施ROWE或面向结果的工作环境。让您的开发人员决定如何,何时何地进行开发。使用您的日常站立情况来跟踪他们的工作。除此之外,退后一步,惊讶于他们的生产力。

诸如"在编码过程中关闭手机,关闭IM应用程序等"之类的想法都是不好的想法。当您雇用团队时,您正在充满信心地雇用他们,他们知道如何正确地完成工作。如果您以这种理解聘用了他们,为什么要限制他们以最好的方式完成工作的能力?如果您使用的是SCRUM,那么每个开发人员都会选择他们认为可以做的工作,作为Scrum-Master的工作是消除障碍,而不是制造障碍。

代码审查:绝对必要。对初级开发人员参加会议以及对代码进行了审查的人们来说,对等的代码审查是一种很好的教学工具。

设计文件:我个人认为涵盖开发人员打算执行的工作的详细设计文件非常重要,我也认为它们是开发过程中的重要组成部分。现在,这并不特别适合敏捷开发,但是我个人经常回头参考几年前创建的设计文档,以了解原始开发人员在对模块进行编码时的想法。


我不建议将代码审查推迟到冲刺之后,它们应该成为开发过程中不可或缺的一部分。换句话说,除非对代码进行了审查(测试,记录和证明),否则不会完成任务。


我们的Sprint结构与您的大纲非常相似,只是Sprint评论是Sprint的最后一天,通常大约一个小时。冲刺审核是您向客户和任何其他有关方面展示您的作品的时间,而不是进行代码审核的时间。如果您选择进行代码审查,则应在整个sprint中定期进行代码审查。我们以前每周有一个小时的时间来浏览开发人员提名的代码,这意味着我们不会浪费时间来审查每个编写的LOC。

我们还将在星期二结束冲刺,并从星期四开始离开星期三,以结束松散的局面并解决在冲刺期间产生的技术债务。


推荐阅读