有无数 敏捷软件开发 方法。您在实践中使用了哪些方法来交付成功的项目,该方法对成功有何贡献?

有帮助吗?

解决方案

我参与过不少声称以“敏捷”方式工作的组织,他们的处理通常似乎是基于 XP(极限编程),但他们中没有一个遵循任何接近所有的实践。

也就是说,我可能可以评论一些 XP 实践

  • 单元测试 如果从项目一开始就完成,似乎证明非常有用,但进入现有代码库并开始尝试添加单元测试似乎非常困难。如果您有机会从头开始,测试驱动开发将是一个真正的帮助。

  • 持续集成 似乎是一件非常好的事情(或者更确切地说,缺乏它真的很糟糕)。也就是说,我见过的组织通常都很小,以至于任何其他方法都显得愚蠢。

  • 用户故事卡 很好,因为有一个物理对象可以用来确定优先级是很棒的,但它们还不够详细,除非您的开发人员真正了解该领域,或者您有现场客户(我从未真正见过) 。

  • 站立会议 对于新团队成员了解每个人以及他们的工作非常有用。老手们很快就会放松下来,只是说“我仍在开发 X”之类的话,这是他们过去一周一直在做的事情 - 需要一个强有力的领导者才能迫使他们深入研究细节。

  • 重构 现在是一个被误用的术语,但是当您进行了足够的单元测试时,从概念上将“更改现有代码的设计而不更改功能”与“添加新功能”的活动分开确实非常有用

其他提示

Scrum 因为它可以显示偷懒者在哪里。它还可以更快地识别业务部门通常不知道他们真正想要交付什么

Scrum。

每日站立会议是确保事情步入正轨并取得进展的好方法。我还认为让产品/市场人员以真正、有意义的方式参与这个过程是关键。它将创建一个更具协作性的环境,并消除当产品团队和开发团队是独立的“孤岛”时出现的大量对抗性垃圾。

定期进行回顾是帮助团队变得更加高效/敏捷的好方法。这种实践不仅可以遵循敏捷的特定风格,还可以帮助团队确定哪些方法有效并适应不断变化的环境。

只要确保主持回顾的人知道他/她在做什么,否则它可能会沦为抱怨会议。

您可以带领团队进行许多练习,帮助他们反思并从回顾中获取价值。我建议听听采访 琳达·瑞辛 软件工程广播上有很好的介绍。

在 Google 上搜索“Heartbeat回顾”以获取更多信息。

我一直在与一个团队合作,使用 XP 和 Scrum 实践,并加入一些精益实践。这是非常富有成效的。

每日站立会议- 帮助我们完整跟踪每个人的工作内容和工作地点。

结对编程- 改进了我们的代码库并帮助消除了引入系统的“愚蠢”错误。

迭代开发- 使用 1 周迭代有助于通过设定更直接的目标来提高我们的速度,这也有助于我们确定尺寸要求

时分双工- 帮助我改变了我的编程方式,现在我不会编写任何无法修复损坏的测试的代码,也不会编写任何没有明确定义的要求的测试。我们还一直在使用可执行需求,这确实帮助开发人员和 BA 达成需求理解。

看板- 实时显示我们所在的位置。我们有一个用于里程碑和当前迭代的版本。一目了然,您就可以看到还有哪些工作要做、哪些工作正在完成、哪些工作已完成和已接受。如果您没有在每日站立会议中报告与董事会上的内容相关的内容,您就必须解释要做的事情。

同一地点的团队- 每个人都跟上进度并了解其他人正在做的事情。沟通是及时的、非常富有成效的,我一点也不想念我的立方体。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top