敏捷管理是软件项目应用中常见的管理方法,今天基于概念和实践讲讲敏捷管理。
一、敏捷的起源
先不解释敏捷的基础理论,我们从一些易懂的背景展开:通过查阅资料,我并没有找到“敏捷” 的明确来源,许多出处说法不一,比较靠谱的说法是上世纪90年代的“软件危机”的诞生,进而引发的2001年敏捷宣言的发表。发展至今,敏捷最常见的应用场景仍是软件工程。
我们来看看原因,软件开发过程中通常有3个现象:开发周期紧张;范围不可控;需求变动频繁。然而传统的瀑布式开发显然不适应目前多变的开发流程,我们需要采取更加高效的开发方法,以确保团队能发挥最大综效。以上根本原因在于软件项目的需求、技术以及人力等不可控因素对着技术日益更新也逐渐趋于复杂,所以解决“软件危机”的关键在于克服软件固有的复杂性问题。
那么对于复杂性问题我们该如何解决?最可行的就是进行经验性过程控制,对目前可见的工作进行拆解,在小范围内计划并监控。简单来说,就是通过缩短生产周期适应变化,在过程中持续改进,从而达到既定的目标。最典型的例子就是说丰田的“精益生产”(Just In Time),该思想的核心有几点:追求零库存;快速反应;企业内外环境和谐统一;以人为本。
显然,由于所处时代互联网产品的复杂性,需求往往取决于日新月异的行业及技术发展,没有任何一个人能够准确预见这种不确定性,敏捷也因此大多应用于互联网软件项目中。
需要注意的是,敏捷(Agile)是一个方法论,可以应用于多种场景,比如项目管理、开发管理、工作管理,甚至自我管理都可以。
二、 敏捷基础概念
为便于更的理解,引用一些敏捷相关的基本概念:
1. 敏捷宣言
(1) 个体与互动高于流程和工具
- 人是软件项目获得成功最为重要的因素
- 合作、沟通及交付能力比淡出的软件编程能力和工具更为重要
- 方法和工具是死的,人是活的,最重要的是协作
(2) 工作的软件高于详尽的文档
- 过多的面面俱到的文档往往比过少的文档更糟
- 软件开发的主要和中心活动是创建可工作的软件
- 直到迫切需要并且意义重大时,才进行文档编制
- 编制的内部文档应尽量短小并且主题突出
(3) 客户合作高于合同谈判
- 客户不可能做到一次性地将他们的需求完整清晰的表述在合同中
- 为开发团队和客户的系统工作方式提供指导的合同才是最好的合同
(