序言
客户对持续创新和降低试验成本的需求,标志着从预见性开发方式到适应性开发方式的重大转变。不确定性、不断缩短的进度以及迭代研究的需求不仅限于新产品开发。但只有创新和更快的开发还不够,公司必须给客户交付更好的、更符合需要的产品。虽然公司需要从高强度的产品开发工作中获得成果,但不应该以质量为代价。敏捷开发强调速度、机动性和质量,要创造高质量的产品且速度要快。为了实现这个目标,个人和团队必须要有高度的纪律性,这里说的是自律而不是被迫遵守纪律。
构建创新产品、流程和商业模式需要有一个新的通用的管理方法和有针对性的项目管理方法。一个良好的敏捷项目管理需要实现5个关键的商业目标:
- 持续创新——满足当前客户的需要:致力于向客户提供价值,以及创造满足当今客户需求的产品,是这个持续创新流程的推动力。开发新产品和新服务都需要创新意识,创新思想并不会在模式化的、独裁的环境中产生,而会在基于自我组织和自我约束为原则的不断适应氛围中产生。
- 产品适应性——满足未来客户的需要:在敏捷项目中,卓越技术通过两方面判定:一是现在提供客户价值的能力,二是创造强适应性产品的能力。敏捷技术的做法将重点放在减少技术债务(提高适应能力),将其作为开发流程的组成部分。
- 缩短交付进度——满足市场,提高投资回报率(return on investment,ROI):敏捷项目管理的迭代开发、基于功能的本质可以通过下列3种方式缩短交付周期:突出重点、简化流程和培养技能。首先,在短暂的迭代期间不断关注产品各项功能及其优先次序,这使得团队仔细地考虑产品应该包括的功能数量以及这些功能的深度。通过排除用处不大的功能,以减少总体工作量。其次,像精益开发一样,敏捷项目管理将简化开发流程使其效率更高,将重点集中在增值的活动上。最后,敏捷项目管理注重让每个成员都发挥其长处从而提高小组效率。
- 人员和流程适应性——对产品和企业变化作出迅速反应:不仅产品需要长期适应市场,而且人员和流程都需要。如果我们想要适应能力强的产品,就必须先建立一支适应能力强的队伍。敏捷项目管理的指导原则和架构鼓励把学习和适应当作向客户提供价值的组成部分。
- 可靠的结果——支持业务增长和盈利能力:由于需求和新技术都存在着不确定性,所以敏捷项目不能产生已知的、完全预先规定的结果,但可以产生有价值的结果,即一个满足客户目标和商业需求的可以交付产品。
敏捷项目管理
什么是敏捷?
敏捷是制造并响应变化从而在动荡的商业环境中创造利润的能力。
敏捷是平衡灵活性和稳定性的能力。
制造变化需要创新:开发新产品、建立新的销售渠道、缩短产品开发周期、为日益变小的细分市场定制个性化产品。此外,公司还必须能够迅速响应竞争对手和客户制造的可预见和不可预见的变化。
敏捷的核心价值观是什么?
敏捷强调的是态度而不是流程,它是氛围而不是方法。
团队为何存在、要创造什么产品、为谁而创造以及如何共同工作,这些组成了敏捷项目管理的核心原则。“在业绩优良的团队中,领导管理原则,而原则管理团队。”想要创造优秀的产品,就需要优秀的人才,想要留住优秀的人才,就需要有优秀的原则。
任务管理&团队管理:
团队管理者鼓励团队成员自我管理,通过完成拆分任务从而实现产品功能的开发。而任务管理者只关注任务的完成情况,并用其评估团队是否遵循计划行事。团队管理者是帮助团队(或者更广泛意义的项目组)成员协同有效的工作从而保证他们能够成功的完成任务。而任务管理者只是监督其成员,以确保他们在工作并能跟上计划进度。
敏捷项目管理者应该具有的核心价值观:
- 交付价值胜过满足约束(价值胜过约束)
- 领导团队胜过管理任务(团队胜过任务)
- 适应变化胜过遵循计划(适应胜过遵循)
1. 价值胜过约束
提供客户价值涉及三个重要话题:一是将重点放在创新和适应性而不是效率和优化,二是专注于执行,三是精益思维。
- 创新:创新推动公司发展,可以创造最大价值。创新不拘泥于任何形式,可以是新的产品、新的商业模式、新的流程,或者是新的业绩。效率和优化是生产型项目的有利助推器,而创新和创造力却是探索型项目的助推器。敏捷项目管理的主要目的是创造新产品和新服务,这就需要不断的技术革新、增加竞争优势、产生新的创意和不断地缩短产品开发周期。
- 执行:如果把精力集中于交付活动,那么就是为项目增加价值,而如果集中于计划和控制,就只是增加管理费用。敏捷项目管理是侧重于执行的模型,首要任务是促进产品构想的构思,并指导团队去实现该构想。
- 精益思维:精益生产的一个基本原则是系统地消除浪费,即减少不向客户提供价值的活动。
传统瀑布式开发方式在项目结束时交付价值,而敏捷项目可以快速并递增地在整个项目期内交付价值。采用迭代、基于功能的交付方式,能在早期捕获价值,而且通常可以极大地提高项目的投资回报率。
敏捷的迭代组成部分主要有:迭代、基于功能、时间框和增量。迭代开发是指要建造产品的部分版本,然后通过连续的短期开发以及评审和修改,拓展该版本。时间框强制迭代的结束,强迫在充分准备之前,制造出部分实体。增量开发是指建造的产品,在经过一次或者多次迭代后可以及时的被调用。
迭代长度分为三种——每周、每月和每季度。每周的迭代目标是维护和微小改进工作,每月的迭代目标是专项改进,每季度的迭代目标是重要的新功能的开发。
2. 团队胜过任务
敏捷领导者领导团队,非敏捷领导者管理任务。“敏捷”是社会技术运动,它有两个推动力:一个是愿望——创造一种特定的工作环境;另一个是信念——适应性强的环境是向客户提供创新产品目标的关键。
自我组织团队是敏捷项目管理的核心,他们结合了自由和责任、灵活性和结构。在自我组织的团队中,个人负责管理自己的工作量,根据需要和最合适的原则轮班工作,并对团队效率负责。
敏捷领导管理团队,敏捷团队管理自己的任务。敏捷领导阐明团队目的和目标、产品构想、关键性能和约束,然后激励团队成员交付——团队人员自己弄清楚如何完成任务的细节。这种方式赋予团队灵活性和适应性,而不是盲目遵循既定的任务,而且这种方法可以鼓励团队自我组织,找到最好的方式实现目标。
3.适应胜过遵循
传统的项目管理者注重按计划行事,尽量做到和计划没有出入;而敏捷项目领导者关注如何成功地去适应不可避免出现的变化。适应性原则可以概括如下:
- 预测变化(不确定性),然后做出相应调整,而不是遵循过期计划;
- 根据需要调整流程和做法。
许多组织实施敏捷的障碍是没有处理遗留代码中技术债务问题(创新试验耗时耗钱)。所以通过经常集成,减少遗留问题,尽早发现问题。敏捷开发需要短期迭代,做短期迭代需要找到快速、低成本的做重复事情的办法,快速、低成本的做事情促进创新,使得团队可以适应变化。
有效的团队在进行回顾时往往涉及四个领域:产品——从客户角度和技术质量角度;流程——团队正在使用的优秀流程和做法;团队——作为高绩效团队的工作情况;项目——项目按计划进行得如何。
开发优质的产品需要探索,而不是遵循计划。探索和适应是创新的两个特质——拥有探索未知世界的勇气、拥有承认错误并适应形势的谦逊。
敏捷项目如何进行绩效评估?
一个组织要想保持快速增长,就必须明确绩效评估方法。
传统项目管理绩效评估铁三角:范围、进度和成本。许多情况下范围被认为是首要要素,而成本和进度是可变的。
早期衡量敏捷项目铁三角:进度是固定的,范围可以有变化。实质上,跟前一个评价方式是一样的。
敏捷三角形:考量指标是价值(向客户交付价值)、质量(需要向客户交付可持续的价值)、约束(范围、进度和成本)。这里,约束仍然是重要的项目评估参数,但不是最终要实现的目标。价值是目标,为了提升客户价值,这几个约束可以随着项目的进展适时做出调整。
因此敏捷项目评估的3个目标为:
- 价值目标——提供可交付的产品
- 质量目标——提供可靠的、适应性强的可交付产品
- 约束目标——在可接受的约束内,实现价值和质量目标
敏捷项目的管理架构
敏捷项目管理交付方法包括五个阶段:构想、推测、探索、适应和结束。
- 构想阶段产生一个清晰明白的业务或者产品构想,为后面的阶段划出边界。确定产品构想、项目目标和控制要素、项目社区以及团队如何共同工作;
- 推测阶段,团队推测产品的规格,制定一个发布计划,随着项目的不断进行,技术要求和客户要求会随着新知识的不断演变。制定基于性能和功能的发布计划,确保交付构想的产品;
- 探索阶段,它和迭代平行作业,其中要完成最初的功能和需求设计。在短期内计划和提供它经测试的功能,不断致力于减少项目风险和不确定性;
- 适应阶段,这些试验的结果需要经过技术、客户和企业的个案审查,以便在下一次迭代过程中继续做出调整。审核提交的结果、当前情况以及团队的绩效,必要时做出调整;
- 结束阶段,终止项目、交流主要的学习成果。