7

极限编程、Scrum 和测试驱动开发绝对是目前最流行的敏捷方法。但是最近有人建议我看一下功能驱动开发。

你有没有成功地使用过这种方法?使用它有什么好处?

4

2 回答 2

8

我喜欢将 FDD 视为一种包装方法,因为它允许您应用一种方法来管理非常高级别的项目,但它仍然允许您在较低级别使用其他方法。

FDD 的重点是能够设定估计和时间表,并报告整个项目的状态,或者在非常精细的层面上,但它没有规定应用特定的方法来创建时间表,离开这由你决定。这个想法是,您可以查看您的项目并确定项目状态是什么,无论您是否准时,滑倒,早等等等。

我使用 FDD 将我的项目组织成可管理的阶段,以便我知道何时签署并开始任何给定的阶段。但就其本身而言,FDD 将毫无用处。例如,我个人使用基于证据的调度和组合的 BDD/TDD 作为在某种 FDD 保护伞下管理的开发过程的元素。就个人而言,我无法在不遇到问题的情况下完成完整的 XP 或 SCRUMM,因为如果我的项目和团队被迫参与其他方法的实践,而这些方法不会为我们自己的独特环境增加价值,他们就会受到阻碍。

无论如何,最好不要拘泥于任何给定的方法,因为公司和项目的需求/条件可能会定期变化,如果您希望项目成功,您需要灵活地管理项目. 没有单一的方法是灵丹妙药,所以诀窍是确定哪些方法适合您并调整您的方法以满足您的个人需求。这就是“敏捷”的根本意义所在。

于 2010-01-13T05:08:20.267 回答
4

FDD 是一种较旧的方法。它有很多其他敏捷方法的想法,但忽略了其中一些。与 Scrum 一样,它有点注重管理,我认为您需要 XP 中的一些元素来实际实施。

FDD 的研究当然很有趣。但就像 Scrum 和 XP 一样,我认为你必须了解机制,而不仅仅是实施实践才能获得成功。如果你只是“做 FDD”或“做 Scrum”,那么你的适应能力就不如你应该的那样。

如果您想了解敏捷,我会研究的事情是

Scrum 或 FDD 以了解管理可以从敏捷中得到什么。
XP 了解如何从技术角度实现敏捷。
清晰地了解通信方面。
精益敏捷以获得对敏捷方法的完全不同的看法

顺便说一句,我不会将 TDD 称为敏捷方法。这是 XP 的一种实践,但本身并不是一个完整的方法。

于 2008-09-04T08:50:40.363 回答