尽管敏捷方法在许多行业中都很有价值,但事实证明,它在软件开发和软件开发生命周期(SDLC)中最为成功。 敏捷方法源于《敏捷宣言》的十二项核心原则,它包含着重于持续监控和改进可交付成果的迭代过程。
开发了敏捷过程,以替代传统的瀑布技术。 Waterfall方法是一种顺序设计过程,需要先完成一个步骤,然后再进行下一个步骤。 按照惯例,瀑布方法已被证明可以成功地进行构建; 但是,对于技术含量更高的行业,敏捷方法具有更大的价值。 与遵循分步方法不同,项目的所有阶段都是并行完成的。 敏捷过程试图通过识别错误并消除完全重启项目的需求来应对开发周期的不可预测性。
敏捷方法论
敏捷方法学的核心原则是通过持续交付成果来满足并提供客户价值。 敏捷方法不是将项目长期解决,而是将项目分解为更小,更简单,更易于管理的任务,这些任务可以有效,快速地完成。
Spotify以其敏捷的流程而著称:该公司规模最小的小组单位,称为小分队,表现为自主创业公司。 每个小组都专注于特定功能,并根据最低可行产品进行迭代,并尽早发布更新。 根据定义,最低限度可行的产品是产品的最新版本,它使团队可以收集所需的最大信息量,以确定什么可行和不可行。 在Spotify,每个小组都负责一个小项目; 但是,每个项目的目标都是创造更大的客户价值。
通过尽早且经常交付产品,组织被迫消除任何不会增加价值的东西。 由于每个小型团队长期专注于一项任务,因此个人可以成为开发周期某些领域的专家,这有助于识别和消除错误。 而使用瀑布法,则在花费大量时间,金钱和精力之后,将在项目结束时提供反馈,而敏捷方法则可以通过持续的反馈来进行改变。 通过不断的反馈和在遵守原始计划方面的灵活性,添加或更改功能可以使组织保持行业最新动态。
敏捷项目中的任务由迭代驱动。 迭代是一个时间框架,通常为一到两周,在此期间,客户的需求得到发展并转化为可运行的可测试产品。 敏捷方法学的一个关键特征是假设项目由一系列迭代组成。 团队可以使用他们的速度来跟踪他们在每次迭代中完成的工作量,以使计划切合实际并避免过度使用。 在每次迭代中,都要经过分析,设计,测试,质量保证和用户体验,才能完成可运输产品。 尽管可能缺少所有经过微调的功能,但是团队成员应该确信,如果需要,他们可以发布产品。
Scrum方法论
敏捷方法中存在多个框架,包括Scrum,精益和极限编程。 过渡到敏捷方法论的大多数组织由于其简单性和灵活性而选择从Scrum开始。 Scrum项目为公司和客户提供角色,会议和规则的结构。 团队成员负责学习和适应流程,以应对不可预测的情况。
每个Scrum项目都有一个待办事项列表或工作清单。 在计划阶段,积压的任务,目标和执行时间表被填充。 在讨论了积压之后,该项目分为冲刺阶段,这是一到两个星期的时间,旨在完成许多积压项目。 在每次冲刺期间,团队每天召开会议,讨论当前进度,未来进度以及任何阻碍进度的因素。 在每次冲刺结束时,应在可能的产品发布时完成所有必要的步骤。
接下来,产品负责人进行审核,以确定sprint待办事项中的所有故事是否已充分完成。 此时,ScrumMaster与团队开会进行回顾。 团队成员会反思自己的流程,以适应未来冲刺的行为。 ScrumMaster避免常见的障碍并为讨论创造令人鼓舞的环境至关重要。 由于软件和产品开发的不可预测性,每个冲刺都是唯一的,必须适应变化。
产品所有者,ScrumMaster和团队促进了Scrum项目。 在每次冲刺期间,由自我管理的个人组成的团队负责确定和委派如何完成所有必要的工作。 在团队中,每个成员都有一个专业领域; 但是,没有正式标题或层次结构。 ScrumMaster是一个敬业的人,可以解决障碍并确保团队步入正轨,同时确保sprint积压的透明度。 最后,产品负责人负责创建和传达产品愿景,并决定产品应该进行更多开发还是准备发布。
底线
如今,敏捷方法已广泛用于软件开发中,它是针对缺乏定义流程的工作而开发的。 与顺序方法不同,敏捷方法不适合重复性工作。 许多行业已经并继续在其业务结构中实施敏捷方法论。
敏捷框架包含多个子集,包括Scrum,精益和极限编程,可帮助个人应对不可预测性和灵活性。 从表面上看,敏捷方法可以帮助改善端到端流程。 但是,个人必须致力于,适应和学习,以使其发挥作用。