首页 » 博客 » 产品开发:使用敏捷方法进行软件开发

产品开发:使用敏捷方法进行软件开发

大多数软件开发可以归类为敏捷或 瀑布类型的方法。开发方法是工程团队构建给定产品的过程。

敏捷方法是一种迭代式的产品开发方法,由自组织团队在协作环境中执行。该方法以经济高效且及时的方式生产出高质量的软件,以满足利益相关者不断变化的需求。

待办事项:优先需求列表

每次产品发布都以一份名为“待办事项”的清单开始,该清单由一系列优先需求组成。这不是传统意义上的待办事项,而是一份待完成的工作清单。正如文章《确定产品发布》中所述,使用项目三角时,您必须在进度、范围和成本之间做出选择。

使用敏捷方法,团队将始终调整工作范围,以确保首先完成最重要的项目。软件开发人员按照重要性顺序从此列表开始工作。待办事项是一组动态需求,可以每周更改(取决于迭代的长度)。

如果您选择与当前团队在特定日期发布产品,那么需要完成的需求范围将不断调整。如果您决定必须完成所有需求,那么您的流程将需要额外的迭代(见下文)。

软件开发中的迭代(或冲刺)

您可以将工作分为“迭代”,而不是在发布结束时交付整个待办事项。迭代(也称为冲刺)是按重要性顺序从待办事项中抽取的较小数量的已交付需求。查看本文末尾的示例,了解如何将需求分解为迭代。

迭代周期较短,根据团队经验,从一周到四周不等。如果您与一个未在敏捷环境中工作过的团队合作,建议使用一到两周的迭代周期,因为这样您可以在迭代结束时快速更改优先级。

迭代的一个关键要素是,关于哪些需求应该被构建的优先级在迭代内不会改变(例如,在两周的时间内);这个列表应该只在一次迭代和另一次迭代之间改变

在迭代过程中,团队会完成整个开发周期(从分析到测试)。最后,他们会向利益相关者展示一个可用的产品。

请注意,一次迭代可能无法产生可销售的版本;可能需要多次迭代才能发布并完成所有待办事项。但是,团队应该能够在迭代结束时展示所有商定的功能。

风险管理

敏捷方法承认项目变更是不可避免的。使用小规模迭代可以快速吸收变更,而不会造成重大项目风险。随着业务优先级的发展,待办事项顺序可以调整;在下一次迭代中,团队可以适应这些优先级。

敏捷方法与瀑布方法

在产品发布的背景下,技术上最困难的项目(即风险最大的项目)往往在早期迭代中完成,以确保将风险降至最低。

这种降低风险的方法是与瀑布方法的主要区别。瀑布方法不是在开发过程中进行调整,而是提前规划和研究每项任务。但是,如果在投入这项前期工作后需要更改项目,团队往往会抵制修改,而且修改成本也可能很高。

跨职能团队

敏捷团队(由五到九人组成)包括更大的开发组织的职能,例如开发人员、测试人员、文档编写员和产品经理。

团队成员自我组织;他们决定在迭代中如何以及由谁来交付需求。如果在此过程中出现问题,可以联系产品经理以快速解决任何问题。

产品经理的角色

产品经理的角色已融入敏捷方法论。他或她创建并维护待办事项并提供发布要求。产品经理参与整个过程,随时解答问题。

敏捷方法强调面对面的对话和测试案例,以促进协作并使团队保持一致的关注点。该方法还强调可证明的功能是跟踪进度的主要指标。考虑到这些因素,敏捷方法产生的书面文档比其他产品开发方法要少。

每日站立会议

在迭代期间,团队每天都会举行站立会议(也称为 Scrum)。在这次会议上,每位开发人员都会概述前一天的进度以及遇到的任何障碍。目标是解决问题并提高开发人员的生产力。

Scrum 主管(即流程负责人)负责消除障碍 — 例如,他们将确保召集合适的人员讨论业务问题,或修复计算机问题。产品经理应参加这些会议以解决业务问题或相关困难。

客户输入

由于产品团队在每次迭代结束时都会提供可演示的功能,因此获取客户反馈的过程变得简单,因为可以在那时向客户展示功能,而不必等到最终发布的产品。

开发期间测试

测试团队在敏捷方法中扮演着不可或缺的角色。荷兰电报数据 这些团队成员在交付新功能时对其进行测试。虽然回归测试可能会在流程结束时进行,但测试用例会在每次迭代中执行,因为问题可以在项目期间的任何时间发现,而不仅仅是在开发阶段完成时。

示例: 产品开发——敏捷方法

如果一个团队要使用敏捷方法开发客户地址簿,则工作顺序如下(时间框架仅用于演示目的):

1. 需求:产品经理创建需求文档,包含以下需求(按优先顺序):

  • 用户应该能够创建新的联系人。
  • 用户应该能够查看他们的联系人。
  • 用户应该能够从其他程序导入联系人。
  • 用户应该能够从地址簿向联系人发送电子邮件。
  • 用户应该能够添加图片来代表他们的联系人。

这些需求文档将很简单,并将包括用户场景。在处理每个项目时,会出现问题,并且有机会在问题出现时进行讨论。从此列表中,选择第一次迭代的需求(从优先级最高的项目开始)。

时间范围:  1周

2. 迭代 #1:团队致力于开发创建新联系人和查看联系人的功能。这包括这些项目的设计、开发和测试。在迭代结束时,团队向产品经理演示该功能,以便产品经理提供反馈。

时间范围:  2周

3. 迭代 #2:团队致力于实现导入联系人、发送电子 在线声誉——您的客户对您有何评价? 邮件和向联系人添加图片的功能。这包括这些项目的设计、开发和测试。在迭代结束时,团队向产品经理演示该功能,以便产品经理提供反馈。

时间范围:  2周

4. 迭代#3:团队进行回归测试并准备发布产品。

时间范围:  1周

5. 发布:产品功能发布。

总 耗时:6 周

请注意,如果在此项目期间需求发生任何变化, 欧洲比特币数据库 则每次迭代都会进行相应调整。

敏捷与瀑布方法

关于瀑布式和敏捷式两种不同的产品开发方法的优点,存在很多争论。最终,由您的组织来选择最合适的方法。

滚动至顶部