2.2 《敏捷宣言》及思维模式
2001年,软件业思想领袖共同发表《敏捷宣言》,正式宣告敏捷开发运动(参见图2-1)的开始。
图2-1 《敏捷宣言》四大价值观
源自这些价值观的十二大原则如图2-2所示。
图2-2 《敏捷宣言》十二大原则
尽管这些原则源自软件行业,但已经扩展到许多其他行业。
这种思维模式、价值观和原则定义了敏捷方法的组成部分。今天所使用的各种敏捷方法都植根于敏捷思维模式、价值观和原则。它们之间的关系如图2-3所示。
图2-3 《敏捷宣言》价值观、原则和通用实践之间的关系
如图2-3所示,在艾哈迈德·西德基 (Ahmed Sidky) 启发下提出的模式将敏捷明确表述为一种思维模式,它由《敏捷宣言》的价值观所界定,受《敏捷宣言》原则指导,并通过各种实践实现。值得关注的是,虽然术语“敏捷”在《敏捷宣言》发表后流行开来,但今天项目团队所使用的方法和技术却在《敏捷宣言》发表前已经使用多年,有些已经使用了几十年之久。
“敏捷方法”是一个囊括了各种框架和方法的涵盖性术语。图2-4结合上下文将敏捷定位为一个总称,它指的是符合《敏捷宣言》价值观和原则的任何方法、技术、框架、手段或实践。图2-4还将敏捷方法和看板方法视为精益方法的子集。这样做的原因是,它们都是精益思想的具体实例,都反映了诸如以下概念:“关注价值”“小批量”和“消除浪费”。
敏捷是一种方法、手段、实践、技术还是框架?根据具体情况,上述词语均适用。除非使用其他词语明显更为合适,否则,本实践指南使用“方法”一词。
图2-4 敏捷是许多方法的一个总称
一般而言,可通过两种策略践行敏捷价值观和原则。一种策略是采用正规的敏捷方法,它们为特意设计,经证明可达成期望的成果。那么,在变更和裁剪之前,就需要花时间学习和理解敏捷方法。不成熟和随意的裁剪会让敏捷方法的效果大打折扣,从而限制了收益。(参见附录X2中的“建议”。)
第二种策略是,以一种适合项目背景的方式对项目实践进行变更,以便在核心价值观或原则方面取得进展。使用时间盒创建功能,或者使用特定技术迭代优化功能。在适用于特定项目背景下,考虑将一个大项目划分为几部分发布。实现有助于项目成功的变更,这些变更不必是组织的正式实践的组成部分。最终目标不是为了敏捷而敏捷,而是为了向客户持续交付价值流,并达成更好的商业成果。