目录
一、概念
- 1.Agile Development。
- 2.敏捷开发的总体目标是通过"尽可能早地、持续地对有价值的软件的交付"使客户满意。
- 3.通过软件开发过程中加入灵活性,敏捷方法使用户能够在开发周期的后期增加或改变需求。
- 4.敏捷过程的典型方法有很多,每一种方法基于一套原则,这些原则实现了敏捷方法所宣称的理念(敏捷宣言)。
二、敏捷方法
2.1 极限编程(XP)
2.2 水晶法(Crystal)
2.2.1 说明
- 1.水晶法认为每一个不同的项目都需要一套不同的策略、约定和方法论,认为人对软件质量有重要的影响,因此随着项目质量和开发人员素质的提高,项目和过程的质量也随之提高。
- 2.通过更好地交流和经常性的交付,软件生产力得到提高。
- 3.水晶与水晶法的理念相契合,即追求透明度和清晰性。在敏捷项目管理中,透明性是非常重要的,意味着团队成员之间需要开放、诚实地沟通,项目的状态和进展需要清晰可见,以便及时调整策略和解决问题。水晶法强调这种透明性,使团队成员能够清楚地了解项目的现状和未来方向。
2.2.1 特征
- 1.经常交付:注重频繁且小批次,以便及时获取客户反馈并调整项目方向,从而提升产品价值
- 2.反思与改进:在迭代开发过程中,团队需要不断反思出现的问题,并快速找到解决方案,以确保项目的顺利进行。
- 3.渗透式交流:鼓励团队成员之间的紧密合作和沟通,通过面对面的交流和协作来解决问题,提高团队效率。
2.3 并列争球法(Scrum)
- 1.并列争求法使用迭代的方法,其中,把每 30天一次的迭代称为一个"冲刺",并按需求的优先级别来实现产品。
- 2.多个自组织和自治的小组并行地递增实现产品。
- 3.协调是通过简短的日常情况会议来进行,就像橄榄球中的"并列争球"。
2.4 自适应软件开发(ASD)
- 1.ASD有6个基本的原则。
- 2.有一个使命作为指导。
- 3.特征被视为客户价值的关键点。
- 4.过程中的等待是很重要的,因此"重做"与"做"同样关键。
- 5.变化不被视为改正,而是被视为对软件开发实际情况的调整。
- 6.确定的交付时间迫使开发人员认真考虑每一个生产的版本的关键需求。
- 7.风险也包含其中。
2.5 敏捷统一过程(AUP)
2.5.1 说明
- 1.敏捷统一过程(Agile Unified Process,AUP)
- 2.采用"在大型上连续"以及在"在小型上迭代"的原理来构建软件系统。
- 3.采用经典的UP阶段性活动(初始、精化、构建和转换),提供了一系列活动,能够使团队为软件项目构想出一个全面的过程流。
- 4.在每个活动里,一个团队迭代使用敏捷,并将有意义的软件增量尽可能快地交付给最终用户。
2.5.2 执行的活动
-
1.建模。建立对商业和问题域的模型表述,这些模型"足够好"即可,以便团队继续前进。
-
2.实现。将模型翻译成源代码。
-
3.测试。像 XP 一样,团队设计和执行一系列的测试来发现错误以保证源代码满足需求。
-
4.部署。对软件增量的交付以及获取最终用户的反馈。
-
5.配置及项目管理。着眼于变更管理、风险管理以及对团队的任一制品的控制。项目管理追踪和控制开发团队的工作进展并协调团队活动。
-
6.环境管理。协调标准、工具以及适用于开发团队的支持技术等过程基础设施。