当项目团队开始一项新的软件开发计划时,他们会选择一种既能满足产品规范又能满足客户要求的开发方法。增量方开发和迭代开发是大多数人的选择。
增量方法将软件开发过程分解为小的、可管理的部分,称为增量。通过逐步建立功能,最终完全完成产品。
迭代开发是团队逐步建立特性和功能,但不要等到每个特性和功能都完成后再发布。它允许团队及其客户在开发过程的每个阶段测试产品的多个版本。
增量开发
增量开发将产品分割成一个个模块并分别构建,也就是增量。每个新的增量都建立在现有的已发布的功能上。
示例:电子商务网站
一个团队考虑使用增量开发构建电子商务网站。最终目标产品包括搜索、产品信息、购物车、结账、收藏夹和客户评论。
对于第一个发布的增量,团队构建了购买产品的基本功能。它包括搜索、产品信息、将产品添加到购物车和结账。第一个模块只有在完成后才会发布。
第二个发布的增量基于该基本功能,并将添加另一个功能,如收藏夹。收藏夹功能完成后将发布。
第三个发布的增量在完成后添加客户评论,以此类推。
迭代开发
使用迭代开发,团队发布每个特性的基本版本,并在后续迭代发布中添加到该特性,通常基于发布的基本版本的反馈。
示例:电子商务网站
假设一个团队使用迭代过程构建相同的电子商务网站。
第一个版本有一个真正精简版的所有必需功能;即搜索、产品信息、购物