出版时间:2012-1 出版社:电子工业出版社 作者:查尔斯·G·科布 页数:236
Tag标签:无
前言
谁需要阅读本书? 本书的目的是帮助企业从一个全新的角度来观察敏捷方法和非敏捷方法,帮助它们理解在企业业务战略中,如何有效地采用这些方法在灵活性和可控性之间寻找一种平衡。本书的读者范围很广,虽然书中的一些案例来自软件开发领域,但大多数内容在任何产品开发过程改进上都是适用的,无论是软件、硬件还是服务。 听众类型本书的价值 所有读者对那些敏捷方法和传统方法中令人混淆的相互冲突的各种方法,本书将为你揭开它们的神秘面纱 消除敏捷方法将改朝换代的想法,有些人认为采用敏捷方法就要抛弃传统开发过程中的所有方法 更好地理解多种方法如何互相补充、互相支持,以及如何在整个业务管理环境中使用 业务部门经理、IT经理、产品开发经理学会如何在灵活和控制之间寻找平衡。在获得最大业务价值的同时,不牺牲其他的管理目标,如风险管理、时间管理和成本控制 学习并理解各种可选择的方法,了解实施敏捷的产品开发方法的好处和权衡 依据企业的业务目标,建立一套策略、行动计划和方法体系来提高企业的产品开发流程的敏捷度。 项目管理部门经理、项目经理及业务分析师深刻理解敏捷和非敏捷方法中的原理,依据所处业务环境、风险及具体项目的复杂性来制定项目管理方法 理解敏捷方法对未来的项目管理和业务系统分析的影响,采取主动姿态来应对这些挑战 很多企业的产品开发流程非常繁复并且官僚,严重地损害了其竞争力。一般来说,这些流程的目的是能够预测及控制成本和时间。但是过分强调控制会导致流程不够灵活,以至于无法适应业务需求。在今天的很多商业环境中,灵活性及对于变化的快速响应变得非常重要,被置于同成本控制和时间控制同样重要的地位。 一个项目虽然在计划时间内和规定预算内完成,但是由于时间上目标定得不够积极而错失市场时机,这样的项目不能算是成功的项目。 一个项目由于开发过程不够灵活,导致不能快速响应业务需求的变化,最终没能获得预期的业务上的成果,即便其在计划时间和规定的预算内完成,这样的项目依然不算成功。 如果放宽对项目成功的定义,我们需要更谨慎地审视传统项目管理中对成本和时间控制的过分强调。如果要达到平衡的结果,需要重新思考项目管理的方式,如果方法正确的话,其实在获得灵活性的同时并不会完全失去成本和时间的控制。要达到在控制和灵活之间的平衡需要一些技巧,并且在不同的业务环境中方法也不尽相同。 采用平衡的方法对于项目经理意味着新的挑战: 项目经理需要在更大的范围内考虑方法、原理和实践方式(既包括敏捷的方法,也包括传统的方法)。 项目经理需要依据所处业务环境、风险及具体项目的复杂性来选择方法或方法的组合(敏捷或非敏捷的),而不是将某个标准的方法强加到项目上(敏捷或非敏捷的)。 这需要项目经理对不同的方法及方法背后的原理有更广泛和深度的理解,以保证他们可以依据所处业务环境、风险及具体项目的复杂性来制定方法。 过去有些项目经理的角色类似饭店里的“帮厨”--他们可以做一些有限的菜品,有时可以跟着菜谱做些菜。在将来,仅仅做一个好的“帮厨”是不够的,项目经理需要能够成为“主厨”--他们需要能够做更多的菜,除了提供标准的菜单的菜肴外,他们还应该能够根据特殊的业务和项目环境来制定甚至创新菜品。 本书的两大目标: 1)让所有读者(尤其是高级管理人员)了解如何在整体业务战略中采用敏捷方法,以达到控制和灵活的最佳平衡。做到这一点,需要仔细地分析和细致地计划。在很多情况下,敏捷方法只被应用于开发领域,而在此之外我们需要从更广的视角,在业务战略、企业项目治理及项目管理等方面了解如何采用敏捷方法。 2)本书帮助项目经理更深入地理解敏捷方法的原理、具体方法和最佳实践,使他们可以在各自的项目中建立更为灵活的项目管理方法,并学会如何灵活地整合敏捷方法和传统开发方法,使他们可以依据所处业务环境、风险及具体项目的复杂性量体裁衣地采用敏捷方法和传统开发方法,获得在灵活和控制之间的平衡。主要议题包括: 在敏捷项目中,项目管理所扮演的角色发生了怎样的变化。项目经理需要什么新技能及新的职业规划以应对这种改变。 如何开发出一种项目管理方法,同时适用于敏捷和非敏捷的项目管理。 如何整合新的还在快速发展的敏捷方法和既有的项目管理知识如《项目管理知识体系指南》(PMBOK®Guide)(第4版)。 如何依据所处业务环境、风险及具体项目的复杂性来选择方法或方法的组合(敏捷或非敏捷的),而不是将某个标准的方法强加到项目上(敏捷或非敏捷的)。 本书不会深入探讨某种具体方法的实施,主要有两个原因: 市面上有一些其他的书籍提供了这方面的信息。 探讨过多方法实施的细节会影响读者从一个全局的高度和视角来理解敏捷方法,而后者才是本书的主要目的。 最近我参加了一个区域敏捷组织的会议,听了一个叫做“传统项目经理的革命”的演讲。演讲者有15年的项目管理经验,在通篇演讲中,她表达了她终于看到了“曙光”,抛弃了其之前管理项目的一切方法,成了一个敏捷方法的坚定支持者。 该演讲者做了一系列关于项目管理非常负面的评论,而她做出的这些评论来自许多对项目管理定义的刻板教条、捕风捉影、错误理解和陈旧观点。她说了一句“敏捷方法本身是一个矛盾体”。我完全不同意她说的这些,但是她的这番言论说明了在传统项目管理和敏捷项目管理间有一条宽大的鸿沟。而跨越这条鸿沟的真正障碍是站在鸿沟两边的人充满偏见和狭隘的思维。 一部分项目经理顽固地认为传统的、以计划驱动的、强调控制的方法是唯一正确的项目管理模式。 许多敏捷项目经理则极端地认为实现“敏捷”的唯一方法就是完全摒弃项目管理,他们认为项目管理只是一个角色而不是一系列可以应用于其他领域的技能,就像敏捷方法也可以被用于其他不同领域。 笔者曾经在产品开发和其他领域中从事多年的项目管理工作。这些经历让我理解了在不同的情况下,什么是行得通的,什么是行不通的,我的经验是从来没有任何一种单一的方法能适用于所有的项目。掌握某种特定项目管理方法的项目经理容易迷失在应用这种方法的具体事务中,而无法退后一步通盘考虑可能更加适合该项目的其他方法。 本书试图在传统项目管理和敏捷项目管理间宽大的鸿沟上搭建一座桥梁,使得鸿沟两边的人从不同的角度看待所有的方法。这条鸿沟其实没有人们想象得那么宽,其实际宽度取决于人们认为它有多宽。这个话题对于项目经理来说是战略性的。受过传统项目管理方法训练的项目经理,敏捷方法需要他们建立一个全新的视角。 项目经理拓展其知识库里的知识储备,来拥抱全新的和更敏捷的项目管理。 过去项目经理可能试图将某个项目管理方法强加给特定项目,因为这个方法是他们所熟悉的。敏捷方法则更强调对各种方法的组合和制定以适应具体业务环境、风险和项目的复杂性。 项目经理若能针对某个项目选择最恰当的方法,必须对各种方法有更广的和更深入的理解。企业中的CIO、CTO、开发经理和业务部门经理同样需要理解敏捷方法以提高组织机构效率,更及时地提供灵活的软件解决方案以满足日益增长的业务需求。 我在职业生涯中的一些特殊经历让我下定决心来写这本书。 1)在20世纪90年代中期,我在一家开发通信应用软硬件的公司担任质量部门总监。这份工作非常具有挑战性,因为: 产品质量较低,公司的客户服务也存在缺陷,导致软件质量引发的问题居高不下。 软件开发部门有非常优秀的开发人员,但是他们拒绝采用任何既定的方法和流程。 公司通过并购快速发展,它并购了4家公司分别位于4个地方,包括英国曼彻斯特、马萨诸塞州的堪东、得克萨斯州的达拉斯及位于堪萨斯的维其塔,而这4个分支又分别有各自不同的做事方法。 我当时的主要工作是在整个公司范围内确定一种开发方法,让每个员工在工作中统一地采用这种方法,最后需要通过一个外部审计机构对整个实施过程进行审计。我是从项目管理转到质量管理领域的,所以一开始的出发点就是冲着来自瀑布模型的可控性和可预测性而去的。我当时同一些软件开发人员和开发经理一起工作,他们对于软件开发比当时的我了解得更多,我从他们身上学到了很多东西。 我开始意识到强迫大家接受一种方法如瀑布模型根本行不通,这种方法太过笨重了,给公司的项目增加了较多的管理成本。就算我们把它定为公司的标准,那些软件开发人员也根本不会按其行事。同时某些项目也确实适合采用这种方法。最后,我们提出了几种不同的生命周期管理模型,项目经理可以从中选择他们认为对于他们的项目最合适的模型并可以改动,以适应具体的项目。 另外一个重要的经验是,我们不能将任何一种方法奉为圭臬。项目经理必须有选择地使用它们,乃至根据具体的项目情况、风险和复杂性来改进这些方法。 这就意味着,项目经理必须受过相应的培训,理解这些方法背后的概念和原理,这样才能够做出正确的决定。 2)从那时开始,我在许多公司中的很多不同的应用领域中工作过,实施过很多项目管理方法(包括敏捷的和非敏捷的)来帮助公司改进产品开发过程。同时我也有很强的实际开发工作的背景,这让我掌握了如何开发出优秀软件的第一手信息。 3)2003年,我写了一本书--《从质量到卓越经营:一种管理的系统方法》。这本书的主要目的是阐述在过程改进和质量管理方面使用的一系列方法(六西格玛、全面质量管理、业务流程再造等),而这些方法有时是令人混淆和相互竞争的。当时六西格玛是非常热门的,就像今天的敏捷方法一样,人们盲目地接受它,把它奉为包治百病的济世良药。但是人们只是用了其形而非其神,很多人并不了解如何才是正确地使用它。 如何使用本书 本书按照以下方式组织以实现以上的目标。 第1部分 本书的第1部分针对本书的第一目标:了解如何在整体业务战略中采用敏捷方法,以达到控制和灵活性的最佳平衡。这部分适合所有的读者,包含如下章节: 章与章节标题内容描述/评述 第1章概述本章勾勒了整本书的框架,并概要地介绍了全书内容及主要观点 ……
内容概要
本书作者曾在多个领域从事项目管理工作,在丰富实践经验基础上创作了本书。本书试图帮助项目经理从一个全新的角度来观察敏捷方法和非敏捷方法,更深刻地理解精益和敏捷的原理、方法和具体实践,使项目经理有能力建立一套更加敏捷的项目管理方法。本书还将介绍如何根据需要融合和制定敏捷和传统方法,根据具体业务环境、风险特性和复杂性,达到灵活和控制间恰当的平衡。本书还具体介绍了在敏捷项目中,项目经理角色的变化,以及如何整合正在快速发展的敏捷方法和既有的项目管理知识。
书籍目录
第1部分 概览
第1章 概述
1.1 “敏捷”的含义
1.2 瀑布模型的含义
1.3 关于敏捷方法和传统瀑布方法的偏见
1.4 盲目跟风现象
1.5 对项目管理的影响
1.6 常见的对敏捷的误读
1.7 敏捷不是万能的
第2章 敏捷的价值、原则和实践
2.1 精益软件开发的原则
2.2 敏捷开发的历史和概况
2.3 敏捷的观念和现实
2.4 通用的敏捷实践
2.5 敏捷技术和实践概述
第3章 深入敏捷
3.1 敏捷收益与权衡
3.2 敏捷的障碍
3.3 让敏捷变得更敏捷
第4章 案例分析
4.1 沙宾特咨询公司
第5章 第1部分小结及行动计划
5.1 小结
第2部分 概览
第6章 敏捷项目管理
6.1 敏捷方法中的项目管理角色
6.2 敏捷项目管理方法
6.3 敏捷项目管理实践
6.4 敏捷与《项目管理知识体系指南》
第7章 软件开发生命周期的基本原则
7.1 通用软件开发生命周期的思考
7.2 选择生命周期模型时考虑因素的内在联系
7.3 需求定义和管理的方式
7.4 风险管理、不确定性和持续计划方法
7.5 领导力和培训的角色
7.6 文档的角色
第8章 软件开发生命周期
8.1 软件开发生命周期的类别
8.2 软件生命开发周期的原则总结
8.3 选择一个软件开发生命周期模型
第9章 第2部分总结及行动计划
9.1 对项目经理及美国项目管理协会产生影响
9.2 为项目经理制定行动计划
第3部分 附录
附录A 敏捷开发实践概览
A.1 极限编程
A.2 特征驱动开发
A.3 测试驱动开发
A.4 结对编程
A.5 代码重构
A.6 持续集成
附录B 敏捷项目交付框架概览
B.1 Scrum
B.2 动态系统开发方法
B.3 敏捷建模
B.4 敏捷统一过程
B.5 术语表
图书封面
图书标签Tags
无
评论、评分、阅读与下载