使用像SCRUM这样的迭代敏捷开发方法时,如何避免等待需求?


7

我们尝试在当前的工作中进行敏捷开发,并且我们大部分都取得了成功。主要的问题似乎是,项目的开发人员总是在冲刺开始时等待需求,并急于最终解决问题。那些提交需求的业务分析师总是不停地工作以完成需求。

编辑:附加信息: 我们正在为我们的内部使用定制COTS应用程序。我们的“用户故事”仅包括我们将在特定sprint中定制的应用程序的哪一部分,以及我们将在内部与哪些系统进行集成。与不同系统的集成通常工作得很好,因为我们可以马上开始工作。 '自定义x屏幕'是主要问题领域,因为开发人员无法做任何事情。我们必须等到我们能够真正做到任何事情之前,才能从保荐机构获得要求。

编辑:更多的洞察力/混乱也许: 我不知道这个问题的部分原因是正在定制的屏幕已经存在,因为这是一个COTS产品正在被大量定制。人们建议用户故事应该沿着'制作X屏幕'的方向。这已经完成了。也许没有一个好的方法来处理这些需求的用户故事......也许这需要成为一个全新的问题。

9

不要等待。根据您的最低要求构建原型,并尽快从产品所有者处获得反馈。往往他们不知道他们想要什么 - 如果你能向他们展示一些有形的作为出发点,你更有可能获得有用的反馈。另外,一旦你对真正的需求有了更好的理解,你可能已经从开发原型中获得了很多洞察。


3

在之前的位置,我们通过要求我们的企业客户提前一周左右来实现这一目标。当然,这违背了敏捷的一些严格解释,但它使事情变得更加容易。我们希望测试和业务能够在一周或两周内完成,因此当开发人员在进行迭代2时,测试正在研究IT1产生的结果,IT3产生的业务。如果一个故事特别灵活(即业务不得不花费大量时间在迭代过程中修改事物),但总体上运行良好,则总是优先考虑积极开发。

更新,以应对questioneers更新

在我看来,那些不真正站在自己的故事,然后,也许是浐灞队需要重新评估他们是如何写故事。我的意思是你不能用定制的X屏幕来重新“告诉一个故事”。理论上讲,一个故事应该是这样的:“当用户去屏幕X时,他们应该能够修改(并保存)floozit”

  0

嗯......问题是屏幕已经存在......所以这些改变是沿着'将此字段移到这里'或'这个字段需要像XXXXXXX那样计算而不是现在它是如何计算的' 。我们的要求文档基本上是这些要更改屏幕的大列表。 23 9月. 082008-09-23 20:30:43

  0

有趣。那么我的第一个想法就是为什么不让这些故事中的每一个都成为复杂性非常低的故事。如果这不是可行的,或者只是浪费时间,我会和其他人说的一样,并要求协会将这些清单在流程中早些时候汇总。 23 9月. 082008-09-23 20:32:34

  0

这就是问题所在。 BAs将大量积压这些需求文档放在一起。它会在每次冲刺评论会上提出来。我们要求他们尽早完成,但他们正在不停地工作。 23 9月. 082008-09-23 20:41:07

  0

在旁边注释...你的名字由于某种原因似乎很熟悉。我想我已经确定你是Ben Lee的朋友,我在2007年曾和他一起工作过。 23 9月. 082008-09-23 20:47:39

  0

你是100%正确的,他是我的一个老大学生。 24 9月. 082008-09-24 01:06:55

  0

哈哈小世界 24 9月. 082008-09-24 13:37:35


2

听起来像BBA可能不会将您的用户故事及时。

我认为从你说的话中没有冲刺计划会话。

鉴于Scrum的一个重要原则是开发团队对每次冲刺的工作承担责任,这听起来对我来说不是太敏捷! ( - :

除了短冲刺是。

  0

我们的企业主和Scrum大师拿出我们为冲刺做的事情的清单,然后分配谁做他们。在我们的计划会议上,我们通常只提供估算值,所以它们不是很有用。我们曾经为sprint计划中的任务进行志愿服务......现在我不再想 23 9月. 082008-09-23 19:28:45


4

如果我正确理解你的情况,BA是落后的。有两件事你可以尝试。

  1. 尝试小冲刺或更小的需求块。无论哪种方式,BA的工作应该更加简洁和可管理。

  2. 采取一个interation重做或bug南瓜。这应该让BBA有时间领先于曲线。

但是,如果问题是BAS的需要看,在“野”以前的要求,让你有更大的问题,更多的要求了。 :)

  0

我开始怀疑我们的用户故事是否存在问题,因为他们提前太模糊/设置了。 23 9月. 082008-09-23 19:43:29


1

好吧,一些事情可能会有所帮助 - 在SCRUM过程中,有产品负责人的概念,这是一个猪角色,它代表了顾客。因此,您可以邀请PLM或客户的主要联系人参加您的SCRUM会议。这将使您的客户对您的流程有一定的认同,并让他们与您“一起工作”,以您的目标为基础。 - 每周构建给客户端可能会有所帮助。所以,每周下降的基本思路是向客户展示“进展”。所以如果几周没有进展,这应该引出“为什么?”的问题。然后你应该能够解释它是因为缺乏需求最终确定。

希望这有助于


1

“用户故事”是一个占位符为未来的对话,所以得到客户面前,问他们;如果这是广管局的工作,点燃火灾;-)


1

您的用户故事不完整。 '自定义X屏幕'是一项任务,它没有描述任何要求或完成标准。用户故事应该是'允许Nancy查看库存物料的相关采购订单'。然后在冲刺期间将其分解成可以处理的任务。

一旦BBA开发出可行的用户故事然后将其添加到您的产品积压列表中,并对其进行优先级排序,并计划您的冲刺数据以用于积压物品。 BBA应该开发用户故事并添加到您的冲刺日志中,而不会影响您的冲刺。在冲刺期间,任务完成并且用户故事不会改变。在发布客户提供的反馈信息后,这些反馈信息将作为更多用户故事进入产品积压。


0

我看到有一些方法来处理这个问题:

选项1,在SCRUM,你应该是谁在管理你的产品积压,这应该包含该软件的功能,要求产品负责人。如果这个功能由一些含糊不清的东西组成,比如'自定义屏幕X',并且你决定将其添加到你的冲刺中,那么冲刺任务应该是具体的,分解的任务,并且我会说其中一个任务必须是'定义屏幕的需求X'。

在日常SCRUM期间,当您询问每个团队成员的三个问题时,拥有该屏幕修改任务的开发人员会说“我已经阻止等待来自BA的要求”,并且您的scrum master尽他们所能让这一切顺利进行。

在我看来,选项2是物品不会进入您的产品待办事项列表,直到它们被定义为足以完成至少一些有效的工作为止。我们都知道需求会发生变化,但重要的是,您应该有足够的时间来开始。


0

简单。

让自己想到的Scrum的严格规定外,并取回你的瘦根: http://availagility.wordpress.com/2008/04/09/a-kanban-system-for-software-development/ http://leansoftwareengineering.com/2007/10/31/spreadsheet-example-for-a-small-kanban-team/ http://www.infoq.com/articles/hiranabe-lean-agile-kanban

信任我,一旦你得到的大流,你永远不会回头。


0

如上所述,通常在每个冲刺开始时,您应该优先考虑现有的积压并为当前冲刺挑选一些故事。如果开发人员没有足够的用户故事,则应该将开发人员转移到另一个项目,并让产品所有者花一些时间为该项目创建一个体面的(足够大以支持某个团队)积压。