FDD代表功能驱动开发。它是一种敏捷迭代和增量模型,专注于改进开发软件的功能。 os 功能驱动开发的主要动机是为客户提供及时更新和工作的软件。在 FDD 中,所有级别都需要报告和进度跟踪。
历史
FDD 于 1997 年首次应用于Jeff De Luca的实际应用程序,用于具有 15 个月和 50 人特定需求的大型软件开发,并于 1999 年在Java Modeling in Color with UML一书中作为讨论发表。
FDD 生命周期
- 建立整体模型
- 构建功能列表
- 按功能规划
- 按功能设计
- 按功能构建
FDD的特点
- 短迭代: FDD 生命周期以简单和短迭代的方式工作,以有效地按时完成工作并为大型项目提供良好的节奏。
- 以客户为中心:这种敏捷实践完全基于客户对每个功能的检查,然后推送到主要构建代码。
- 结构化和功能聚焦:生命周期中的初始活动在时间线的开头构建领域模型和功能列表,并且超过 70% 的工作分配给了最后 2 个活动。
- 频繁发布:功能驱动开发提供软件中功能的持续发布并保持项目的持续成功。
FDD的优势
- 所有级别的报告都可以更轻松地跟踪进度。
- FDD 为更大规模的团队和项目提供持续的成功。
- 随着整个模型和设计在更小的部分中构建,可以观察到风险的降低。
- 由于特征分割,FDD 在项目成本估算中提供了更高的准确性。
FDD的缺点
- 这种敏捷实践不适用于较小的项目。
- 高度依赖首席程序员、设计师和导师。
- 缺少可能会在事后产生问题的文档。