敏捷项目项目管理的三大方法——精益、极限编程和Scrum(敏捷开发项目管理方法)

敏捷宣言和敏捷12原则并不足以推动一个敏捷项目,因为理论和实践还是有区别的。今天我们来详细分享一下敏捷开发的三大方法:

  1. 精益
  2. 极限编程
  3. Scrum

《敏捷宣言》

我们通过身体力行和帮助他人来揭示更好的软件开发方式。经由这项工作,我们形成了如下价值观:

个体与交互 重于 过程和工具
可用的软件 重于 完备的文档
客户协作 重于 合同谈判
响应变化 重于 遵循计划

在每对比对中,后者并非全无价值,但我们更看重前者

敏捷项目项目管理的三大方法——精益、极限编程和Scrum(敏捷开发项目管理方法)

在敏捷开发中,我们遵循以下准则:

1.我们的最高目标是,通过尽早和持续地交付有价值的软件来满足客户。

2.欢迎对需求提出变更——即使是在项目开发后期。要善于利用需求变更,帮助客户获得竞争优势。

3.要不断交付可用的软件,周期从几周到几个月不等,且越短越好。

4.项目过程中,业务人员与开发人员必须在一起工作。

5.要善于激励项目人员,给他们以所需要的环境和支持,并相信他们能够完成任务。

6.无论是团队内还是团队间,最有效的沟通方法是面对面的交谈。

7.可用的软件是衡量进度的主要指标。

8.敏捷过程提倡可持续的开发。项目方、开发人员和用户应该能够保持恒久稳定的进展速度。

9.对技术的精益求精以及对设计的不断完善将提升敏捷性。

10要做到简洁,即尽最大可能减少不必要的工作。这是一门艺术。

11.最佳的架构、需求和设计出自于自组织的团队。

12.团队要定期反省如何能够做到更有效,并相应地调整团队的行为。

敏捷项目项目管理的三大方法——精益、极限编程和Scrum(敏捷开发项目管理方法)

敏捷是一系列技术和方法的总称,他们具有如下共性:

  • 在多次迭代中开发,成为迭代开发;
  • 强调简洁、透明和因地制宜;
  • 跨职能、自组织团队;
  • 将可工作软件作为测量进度的标准。

需要我们注意的是敏捷项目管理是一种凭经验主义的项目管理方法。换言之在项目管理中,敏捷团队根据经验而不是理论来调整你的方法。经验主义的方法信奉如下理念。

  • 透明度。开发过程中涉及的每个人都理解该过程,并且能够为其改进作出贡献。
  • 检验。检验员必须定期检查产品,并且具备发现偏离验收标准的技能。
  • 调整。为了进一步减少产品的偏差,开发团队必须能够迅速调整。

敏捷项目项目管理的三大方法——精益、极限编程和Scrum(敏捷开发项目管理方法)

精益

精益起源于生产,eBuy公司是将精益原则用于软件开发的早期采用者。公司每天响应客户的需求去更新网页,在短周期中开发出高价值的特性进而一路领先。精益的重点是实现商业价值和是产品开发之外的活动最小化。玛丽和汤姆·波彭迪克在他们的博客和书中谈论了关于精益软件开发的一套精益原则。如下:

整体优化。解决问题,而不只是征兆。交付可工作的产品。制定解决方案时着眼长远。

消除浪费。浪费包括没有从工作中总结经验,构建错误的结果以及白忙一场(大量的产品特性都只能部分实现)。

打造质量。最后验收前纠正缺陷。在开发实践中进行优先测试。打破依懒性,所以你可以随时开发任何特性。

持续学习。在学习中提升产品的可预测性。灵活的编码使得项目改进成为可能,你甚至可以在最后一刻做出决策。

快速交付。速度、成本和质量并不是互斥的。同时处理更少的工作。管理工作流程,而不是时间表。

建立亲密伙伴关系。通过自主工作、优化技能和对工作目标的认定来激励开发团队。

保持成长。从失败中学习,敢于挑战标准。使用科学的方法——通过假设实验寻找解决方案。

使用精益来支持产品的开发实践方法:

  1. 不开发那些不太可能使用的特性;
  2. 以开发团队为中心,因为他们创造的价值最大;
  3. 让客户确定特性的优先级,他们知道哪些是最重要的。通过优先处理高优先级的事项来创造价值;
  4. 利用工具来支持并优化有关各方的沟通。

敏捷项目项目管理的三大方法——精益、极限编程和Scrum(敏捷开发项目管理方法)

极限编程

极限编程(XP)是另一种流行的产品开发方法,主要应用于软件领域,它推动软件开发的实践走向极致。极限编程的重点是客户满意度。极限编程的原则和敏捷开发原则非常的相似:

编码是核心活动。通过编写代码不仅可以交付解决方案,而且还可以用来探索问题。

XP团队做大量的测试。如果仅仅做一点测试就能帮助你发现一些错误,那么大量的测试将帮助你发现更多的错误。事实上,在开发人员制定出需求的成功标准和设计好单元测试之前,他们不会开始编码。一个程序漏洞所反映的并不是编码的失败,而是未进行正确的测试。

让客户和程序员之间直接沟通。程序员设计技术方案之前,必须了解商业需求。

对于复杂的系统,超越任何具体功能的、某一层次的总体设计是必不可少的。在极限编程项目中,所谓总体设计指的是,在定期的代码重构中使用系统地改进代码的流程来提高可读性,降低复杂性,提高可维护性,并确保其在整个代码库中的可拓展性。

敏捷项目项目管理的三大方法——精益、极限编程和Scrum(敏捷开发项目管理方法)

极限编程的关键实践:

1.规划游戏:所有的团队成员参与规划。在业务和技术人员之间不存在隔阂。

2.整个软对:客户需要和开发团队在一起(物理位置在一起),保持足够的参与度,从而使得团队所提出的细节问题迅速得到解答,并最终交付与客户期望值相匹配的产品。

3.编码标准:使用编码标准以确保一致性,不要反复改变组织中产品开发的标准。统一代码标识符和确定规则是说明你拥有编码标准的两个示例。

4.系统隐喻:当描述系统如何工作时,使用一个隐含的比较和一个容易理解的简单的故事。

5.代码集体所有权:整个团队对代码的质量负责。任何工程师可以修改另一个工程师的代码,以推进项目流程。

6.可持续发展的步伐:过渡劳累的人是不会有效率的。太多的工作会导致错误的产生,继而导致更多的工作,在产生更多的错误。对于较长的一段工作周期,要避免每周工作时间超过40小时。

7.结对编程:两人共同处理一个编程任务。一个人偏战略,一个人偏战术。他们相互解释各自的方法。没有一行代码是只有一个人理解的。

8.设计改进:通过重构代码,不断提高设计。

9.简化设计:更简约的设计,更低的改变软件代码的成本。

10.测试驱动开发:在你开始进行任何编码之前,先编写自动化客户验收测试程序和单元测试程序。在你报告进展之前先测试你编码的正确性。

11.重构:期望持续地改进代码。依赖越少,效果越好。

12.小版本发布:经常性的向客户发布产品价值。

敏捷项目项目管理的三大方法——精益、极限编程和Scrum(敏捷开发项目管理方法)

Scrum

Scrum是软件开发中最流行的敏捷框架。Scrum是一种迭代的开发方法。其核心是冲刺。冲刺是一个循环的过程,包括:冲刺计划会议——冲刺——冲刺评审——回顾——冲刺计划会议。在一个敏捷项目中,使用检查和调整原则会成为日常基础工作的一部分。

  • 在冲刺中,你对照冲刺目标以及发布目标不断进行检查以及评估进展情况。
  • 你在组织中召开每天例会,评审项目团队昨天已完成的工作和接下来要完成的工作。
  • 在冲刺结束,你通过召开回顾会议来评估绩效和对必要的改进做出计划。

Scrum的角色、工作和事件:

产品负责人。代表项目的业务需求方,并负责解释需求。

开发团队。执行日常工作。开发软对专注于项目并且是跨职能的。

Scrum主管。负责保护团队远离组织的干扰,移除障碍,并保证过程的一致性。

Scrum有形三种可交付成果:

  1. 产品待办列表。完成的需求列表,通常用来记录定义产品的用户故事。
  2. 冲刺待办列表。一个给定的冲刺中的要求和任务列表。
  3. 产品增量。可用的产品。

Scrum的4中关键会议:

  1. 冲刺计划会议。
  2. 每日例会。
  3. 冲刺评审会议。
  4. 冲刺回顾。

敏捷项目项目管理的三大方法——精益、极限编程和Scrum(敏捷开发项目管理方法)

三种敏捷方法——精益、极限编程和Scrum拥有同样的脉络。

精益:争取人心、整体优化、更快交付。

极限编程:整体团队集体所有权、测试驱动开发持续集成、小版本发布。

Scrum:跨职能开发团队、产品增量、1-4周的冲刺。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年6月30日 上午10:31
下一篇 2022年6月30日 上午10:33

相关推荐