Project management Scrum和项目估计时间

Project management Scrum和项目估计时间,project-management,agile,scrum,methodology,Project Management,Agile,Scrum,Methodology,如果客户问我整个项目的预计完成时间,可以使用Scrum给出吗 例如,使用(可怕的)瀑布方法,我将有一个技术规范来进行半合理的评估。是的,您可以(而且确实)评估Scrum项目。[注:“Scrum”是一个英文单词,不是首字母缩略词或缩写词。不应使用所有大写字母。] 您可以这样估计Scrum项目 写下积压的工作 将待办事项分解为sprint 将冲刺从最有价值到最没有价值进行优先排序 向客户提供此Sprint的优先列表 他们可以随时停止工作,因为每个冲刺都是有用的,而第一个冲刺是系统中最有用和最重要的部

如果客户问我整个项目的预计完成时间,可以使用Scrum给出吗

例如,使用(可怕的)瀑布方法,我将有一个技术规范来进行半合理的评估。

是的,您可以(而且确实)评估Scrum项目。[注:“Scrum”是一个英文单词,不是首字母缩略词或缩写词。不应使用所有大写字母。]

您可以这样估计Scrum项目

  • 写下积压的工作

  • 将待办事项分解为sprint

  • 将冲刺从最有价值到最没有价值进行优先排序

  • 向客户提供此Sprint的优先列表

  • 他们可以随时停止工作,因为每个冲刺都是有用的,而第一个冲刺是系统中最有用和最重要的部分


    这是估计数。当然,在scrum中,您可以确定成本和时间。然后,让特性变化。因此,您可以告诉客户这将在XX/XX/XXXX完成,费用为$YYY.YY。然后由他们对想要的功能进行优先级排序,以确保在这些约束条件下完成最重要的功能。

    对于给定的预算,您知道可以完成多少迭代。然后,产品负责人应该对工作进行优先排序,以获得产品积压工作的最大价值。这就是敏捷的工作方式,固定的时间和可变范围的团队规模(敏捷是关于范围管理的)。一旦知道了团队的速度,你就可以预测可以完成多少工作(以点数为单位)(#冲刺x速度=可以完成的工作的大小)

    通常,客户得不到,想要“在给定时间内他们认为需要的一切”(即固定范围)。在这种情况下,您最终会进行某种前期分析,将所有内容压缩到足够小的项目中,以便对其进行评估。完成这项工作后,您可以通过猜测速度来预测需要多少冲刺(#of sprint=总大小/速度)。这对于具有瀑布式背景的人来说是一种非常常见的情况,通常会导致不准确的结束日期(固定范围和团队规模,时间可变),因为你无法真正猜测速度,项目的开始是最糟糕的估计时间

    在这两种情况下,都需要速度。问题是,在团队开始工作之前,速度实际上是1)未知的,2)将随着时间而变化

    要解决1),您可以按照第二种情况中讨论的那样估计和猜测速度,但这不是非常“敏捷”。理想情况下,您应该让团队开始测量实际速度(在早期迭代中可能不准确)。中间场景是给出第一个非常粗略的估计,并在收集了更多关于项目的知识并减少了不确定性后,在几次迭代后以更精确的估计返回给客户


    为了解决2),我跟踪测量的速度随时间的变化,并使用最高和最低速度以及最后3次冲刺的平均速度作为工作假设。这使我能够(分别)进行乐观、悲观和现实的预测

    是和否。我相信Scrum是让所有者参与Sprint计划的一个很好的方法

    因此,就估算而言,很难说“我们将在30天内完成项目”。相反,所有者会对在第一周和第二周内完成的事情有一个预期,并对30天内完成的事情有一个感知

    在我看来,这比给出30天的估计值,然后运气好,或者离目标太远更有价值


    此外,您还可以更好地估计在不久的将来将要做什么。Scrum的另一个优点是,您可以根据可能的更改或删除项来定制部署,从而在30天后获得更可用的产品,而不是使用瀑布式开发完全不可用的产品。

    这取决于您想要预测的内容

    你可以保证一个n周的冲刺需要n周,而m个冲刺需要n*m周。因此,进度估算很容易。考虑到一定的团队规模和项目持续时间,成本/工作量估算也很容易。您无法可靠地承诺的是,哪些功能最终能够交付,哪些功能无法交付

    项目有四个主要控制变量:范围、成本/工作量、进度、质量。您可以选择哪些变量是项目的驱动因素(即固定变量),哪些变量不是。您不能同时将它们全部用作驱动程序,至少需要保留一个变量以允许平衡项目

    使用传统瀑布,您有固定的范围(规范)和固定的时间表(目标日期)。您可以通过增加成本/工作量(例如增加人员、加班)或在质量上走捷径来平衡项目。这些平衡因素不是线性的,如果你把它们推得太远,你会在其他方面遇到问题


    使用包括Scrum在内的敏捷,您有固定的时间表(迭代或冲刺)和固定的质量级别(完成的定义)。成本/努力与团队中的人数成正比。范围是主要的平衡因素。它具有很好的线性特性:范围的增加或减少不会导致其他驱动因素发生巨大的非线性变化。成功的关键是对功能进行优先级排序,以从您可以提供的范围中获得最大价值。

    正如Steve McConnell在中所说,无论何时您需要提供评估:

  • 计数
  • 如果你不会数数,那就计算吧
  • 如果你不能计算,那就判断
  • “专家判断”或清算是最后的资源。尝试计算真实事物和/或参考历史数据来计算有意义的数字

    无论您使用何种方法,无论是Scrum还是其他任何方法,这都是适用的。

    F