每一个重要的运动或者趋势都会有一个宣言,这是一种公开表达其政策和意图的方式。无论是艺术运动、政治运动,还是其他你能想到的任何事物,都有可能有自己的宣言。然而,在项目管理领域,最为人们所熟知的可能就是《敏捷宣言》了。
敏捷在项目管理领域是一个有争议的话题。有些人认为它是一种方法论,而其他人则认为它是一种框架。不管是哪种观点,敏捷都提供了一种快速和灵活的工作方式。最初,敏捷主要用于软件开发领域,但后来它的影响力扩展到了几乎所有的行业。现在,即使是那些使用甘特图和瀑布模型等传统项目管理方法的人也开始关注敏捷的相关性。
如果你对敏捷不太熟悉,或者虽然听说过这个词,但仍然没有一个清晰的认识,那么你不需要担心。你并不是唯一一个对敏捷感到困惑的人。敏捷不仅是一个引发争议的话题,对于初学者来说,它也可能是难以理解的。这就是为什么我们需要解释什么是敏捷,以及《敏捷宣言》为什么如此重要的原因。
什么是敏捷?
什么是敏捷?这是一个复杂且可能引发争议的问题。因此,我们将谨慎地尝试为你提供一个中立且不引发争议的敏捷定义。随着你对这个主题了解的加深,你可以根据自己的理解形成自己的观点。
“敏捷软件开发”这个词最早在2001年被使用,但实际上敏捷的概念在20世纪90年代中期就已经开始应用于项目中了。那时,软件开发者开始强调团队与利益相关者之间的紧密合作、频繁地交付具有商业价值的成果以及团队的自我组织能力。然而,直到《敏捷宣言》的发布,这些理念才被正式确立并广泛认可。
变革的作用
根据敏捷联盟的定义,“敏捷”是指具有创造和应对变化的能力。它为人们提供了一种方法,使他们能够在充满不确定性和动荡的环境中处理问题,并最终取得成功。
换种说法,敏捷重视的是适应性和对变化的快速反应,因为在项目执行过程中,总是会遇到各种变化。有些人认为,敏捷更像是一种思维方式,而不仅仅是一种方法论,因为它并不是那么的结构化,以至于变得过于固定和不灵活。但《敏捷宣言》确实强调了变革的重要性。
敏捷方法与软件开发中快速变化的环境紧密相连,并能够理解这种充满不确定性的环境。敏捷为应对和适应这些变化提供了一个框架。此外,使用敏捷项目管理软件可以更方便地进行计划、调度和跟踪工作。
跨职能团队的作用
敏捷方法强调协作和团队合作,特别是那些自我管理、跨职能的团队。这意味着团队成员自己找出解决问题的方法,并且每个人都具备多种技能。因为这些团队在相对独立的环境中工作,《敏捷宣言》提供了一套行为和优先级的指导原则。
虽然仍然有经理的存在,但他们的角色更多的是服务于团队,而不是直接管理团队。他们确保团队拥有完成任务所需的正确技能,并为团队创造一个能够成功的环境。因此,经理们通常在幕后工作,但在团队需要帮助解决问题时,他们会介入。
什么是敏捷宣言?
好的,我们已经多次提到了《敏捷宣言》,现在让我们来明确地定义它。虽然敏捷的概念已经在实践中应用了一段时间,但在描述这个新兴框架时并没有一个统一或一致的方式。2001年,17位在该领域工作的专家聚集在犹他州的雪鸟滑雪胜地召开了一次会议,目的是对这种方法进行系统化的描述。这次会议的结果就是《敏捷宣言》的诞生。
尽管这个小组在所有事情上并没有达成完全一致的意见(这预示着未来围绕这个主题的激烈辩论),但他们确实为敏捷提供了两个主要的组成部分,这两部分至今仍然是敏捷的核心:一套构成敏捷软件开发基础的价值观声明,以及创造了“敏捷”这个术语本身。
这次会议产生了后来成为《敏捷宣言》的一系列想法,其中概述了4个基本的价值观和12个指导敏捷软件开发的原则。
敏捷宣言中的四个敏捷价值观
如果你想了解敏捷是如何与用于管理项目的传统方法论(如瀑布方法论)区分开来的,那么这四个敏捷价值观就清楚地勾勒出了这个框架的独特之处。
- 个体和互动高于流程和工具:这意味着在敏捷方法论中,重视团队成员之间的直接沟通和协作,而不是依赖于固定的流程和工具。人们的能力和互动被认为是成功的关键因素。
- 工作的软件高于详尽的文档:在敏捷方法论中,主要关注的是交付可工作且有价值的软件,而不是花费大量时间编写和维护详尽的文档。这并不是说文档不重要,而是强调在项目进行中,能够快速适应变化并提供有价值的软件比拥有完整文档更为重要。
- 客户合作高于合同谈判:敏捷方法论鼓励与客户的持续合作和沟通,而不是在项目开始前就通过合同谈判固定所有的需求和细节。这样可以确保随着项目的进行,客户的需求和期望能够得到更好的满足。
- 响应变化高于遵循计划:敏捷方法论认识到变化是不可避免的,并且是项目进程的一部分。因此,它倡导灵活性和适应性,鼓励团队在面对变化时能够迅速调整方向,而不是死板地坚持原有计划。
敏捷开发的12个原则
敏捷开发的12个原则是一组指南,旨在帮助团队以更灵活、更高效的方式工作。
- 最高优先级的是:通过尽早和持续交付有高价值的软件,满足客户
- 欣然面对需求变化,即使是在开发阶段的后期,敏捷流程就是用变化来为客户获得竞争优势
- 频繁交付可工作的软件,从数周到数月,交付周期越短越好
- 在项目过程中,业务人员、开发人员必须每天在一起工作
- 以受到激励的个体为核心构造项目,为他们提供所需的环境和支持,信任他们可以把工作做好
- 最有效的、最高效的沟通方法是面对面的交谈
- 可工作的软件是衡量进度的首要标准
- 敏捷流程倡导可持续开发。客户、开发人员、用户要能够共同、长期维持步调(节奏)、稳定向前
- 持续地追求技术卓越和良好的设计,以此增强敏捷的能力
- 简单 — 尽最大可能减少不必要的工作,简单是敏捷流程的根本
- 最佳架构、需求和设计,来自自组织型的团队
- 团队定期反思如何提升效率,并调节和调整自己的工作方式