我为什么要使用功能驱动开发?

时间:2008-09-02 20:26:49

标签: agile feature-driven

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

您是否曾使用此方法取得任何成功?使用它有什么好处?

2 个答案:

答案 0 :(得分:8)

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

FDD的重点是能够设定估算和时间表并报告整个项目的状态,或者在非常精细的层面上报告,但它没有规定应用的具体方法来创建安排,由你决定。这个想法是你可以看看你的项目,并确定状态是什么,项目状态是什么,你是按时,滑倒,早期等等。

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

在任何情况下,最好不要注意任何给定的方法,因为公司和项目的需求/条件可能会定期更改,如果您需要,您需要灵活处理项目的管理方式要成功。没有一种方法是灵丹妙药,因此诀窍在于确定哪种方法适合您并调整您的方法以满足您的个人需求。这就是“敏捷”从根本上讲是什么。

答案 1 :(得分:4)

FDD是一种较老的方法。它有很多其他敏捷方法的想法,并且错过了其中的一些。像Scrum一样,它有一点关注管理,我认为你需要XP中的一些元素来实现实现。

FDD无疑是值得关注的。但就像Scrum和XP一样,我认为你必须了解机制,而不仅仅是实践成功。如果你只是“做FDD”或“做Scrum”,你就不会像你应该的那样适应。

如果你想了解敏捷,我会考虑的事情是

Scrum或FDD,以了解管理层可以从敏捷中获得什么 XP从技术角度理解如何实现敏捷 Crystal Clear了解沟通方面。
精益敏捷能够对敏捷方法有一个完全不同的视角

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