第一图书网

软件开发经济学

Walker Royce,Kurt Bittner,Mike Perrow 机械工业出版社
出版时间:

2010年5月  

出版社:

机械工业出版社  

作者:

Walker Royce,Kurt Bittner,Mike Perrow  

页数:

170  

译者:

苏敬凯,金振林  

Tag标签:

无  

前言

假设你是一位富有并且经验丰富的旅行家,正在计划一个为期一个月的多国假期。听起来不错吧!接下来,你要选择一个大陆,世界上总有些你想要去探索的地方。你会从哪里开始呢?如果你实际地考虑一下这个打算,可能很快就能决定自己这个假期的起点和终点。你会想象对某些著名城市、名山大川及海滨胜地的一连串的小旅行。但是,当你开始确定这次旅行的总体路线时,你会开始计划每一顿饭、每一次晚间散步和每一次购物吗?当然不会。没有人能预先准确地计划在那些陌生的地方做些什么,或者一路上如何使用时间和资源。另外,你也知道,如果你执著于出发前设计好的那份严格的计划,那么游览的质量肯定会受到损害。 本书讲的是如何管理软件开发项目,这确实很难与悠长的假期相提并论。但从管理的角度来看,两者有很多共同点,这些共同点都与不熟悉有关——不熟悉的地区、语言、个人行为、习惯、成本和基础设施。本书所基于的经验涉及那些软件开发团队在每个项目中都会遇到这些不确定性的遭遇。那些最成功的团队会先在高层次上对自己的项目进行计划,然后(就像那些经验丰富的旅行者一样),他们会随着旅程的进展而以一些较小的步骤进行计划,这就是迭代。 对于大多数对改进业务结果感兴趣的经理们,我们将尽量使用一些他们能理解的词汇来解释这些成功。考虑到这种情况,对于这部分读者而言,我们没有假设他们有大量的技术经验,但是我们必须假设他们承诺要成为成功的领导者。本书的目标读者是那些在某个商业组织中处于不同领导职位的人,特别是那些要采购、管理或开发软件并以此作为业务策略一部分的组织。我们的目标是描述在迭代式的项目中频繁修正航向的好处,如何度量那些中间结果,以及统筹兼顾的方法是如何对底线做出有意义的贡献的。 最后这一点使得所有的事情都与本书的根本主题有关,那就是:经济学。从最广泛的意义上来讲,良好经济性意味着有效地管理有限的资源以获得最优结果。软件经济学同样以这些原则为基础。我们花了些时间来探索差的经济学——以老式的管理风格为基础的,包括那些把软件项目当作传统工程项目(例如造桥)来管理所发生的低效率。当到了软件构造阶段,这些低效率在时间、预算和在市场上失去的机会方面都代价高昂。相反,现代的迭代式开发方法能够以实用性地管理团队的有限资源为基础来改进这一结果。因此就有了本书的书名。 本书安排章节的顺序很显而易见。第一部分“软件驱动的经济”讲述在今天这样的商业气候下的软件开发和管理的情景、成功的难点以及失败的结果。第二部分“提高软件开发的经济效益”关注的是以迭代式开发的原则和实践为基础的软件工程的现代方法。当然,我们并非无所不知。但是,通过几十年对于“我们知道什么不起作用”的观察,我们对于“什么能起作用”也了解了很多。第三部分“软件工程的实用度量”更详细地讲解了如何通过度量来确定这些技术能够起作用。正如“你不能管理你不能度量的东西”这句更新过的箴言那样,本书的最后一部分关注度量的目的,包括可以用怎样的方式在整个项目周期中降低差异。 无论你是一位正在寻找迭代式开发原则概述的经验丰富的软件项目经理,还是一个正在寻找这些概念的入门知识的新手,你都会发现本书的价值。

内容概要

本书讲的是如何管理软件开发项目,从经济学的角度介绍了如何有效地管理有限的资源以达到最优结果,描述了在迭代式的项目中频繁修正航向的好处,以及如何统筹兼顾和度量中间结果。 本书第一部分讲述在当今商业气候下软件开发和管理的情景、成功的难点以及失败的结果;第二部分介绍以迭代式开发原则和实践为基础的软件工程的现代方法;第三部分更详细地讲解了如何通过度量来确定所采用技术的优劣。本书适合商业组织中的各级领导人以及任何希望成功管理软件项目的人员阅读。

作者简介

Walker Royce 是IBM全球服务的副总裁,他管理过许多大型的软件工程项目,为许多软件开发组织提供咨询,在软件管理方面发明了许多创新方法,并编著了《Software Project Management: A Unified Framework》(Addison-Wesley, 1998)一书。

书籍目录

第一部分 软件驱动的经济 第1章 软件项目管理的挑战   1.1 软件开发中的高风险   1.2 制度上的关注   1.3 传统的软件项目管理   1.4 瀑布方式的问题   1.5 小结  第2章 达成结果:软件经济学的案例   2.1 迭代式开发   2.2 基于结果的方式的益处   2.3 成功的标志   2.4 小结 第二部分 提高软件开发的经济效益  第3章 软件经济学的趋势   3.1 软件经济学的简化模型   3.2 软件工程:40年历史回顾   3.3 改进的关键:平衡的方法   3.4 小结  第4章 降低软件项目的规模或者复杂度   4.1 管理范畴   4.2 降低人工编写的代码的规模   4.3 使用面向服务的架构增强复用   4.4 小结  第5章 改进开发的过程   5.1 项目过程   5.2 使用迭代式的过程   5.3 及早应对重大风险   5.4 增量式地改进实践以达到目标   5.5 小结  第6章 提高团队效率   6.1 提高个人绩效     6.2 改进项目的团队协作   6.3 提高组织级能力   6.4 小结  第7章 通过集成工具来提高自动化   7.1 提高个人生产力   7.2 减少错误源   7.3 使过程改进可能进行   7.4 小结  第8章 通过常识来加速文化的改变   8.1 成功组织的特征   8.2 成功的关键    8.2.1 低中级管理者是关键的执行者    8.2.2 需求、设计和计划要可变并且具体    8.2.3 鼓励进行雄心勃勃的演示    8.2.4 项目性能的好坏在生命周期的早期更明显    8.2.5 早期的迭代应该是不完全的    8.2.6 详细完整的工件在早期不太重要,在后期比较重要    8.2.7 真正的问题会系统化地出现,也应系统化地加以解决    8.2.8 质量保证是每个人的职责,不是一个单独的行当    8.2.9 应该把在自动化方面的投资看作是必要的   8.3 建议:选择正确的项目、正确的人、正确的目标   8.4 小结 第三部分 软件工程的实用度量  第9章 实用的软件开发度量观   9.1 度量与目标   9.2 易变性和目标   9.3 度量与迭代开发   9.4 度量工作何时会出错   9.5 事先制定详细计划错在哪里   9.6 在每个阶段分别确定要度量什么   9.7 小结  第10章 在起始阶段度量什么   10.1 评估财务可行性   10.2 评估技术可行性和估计总体项目成本   10.3 起始阶段中的迭代   10.4 其他度量   10.5 小结  第11章 在细化阶段和构造阶段度量什么   11.1 细化阶段的度量工作   11.2 如何度量风险的降低   11.3 如何度量进展情况   11.4 构造阶段的度量工作   11.5 如何度量backlog   11.6 如何度量测试覆盖率   11.7 如何度量构建稳定性   11.8 构造阶段的预期进展趋势   11.9 小结    11.9.1 细化阶段    11.9.2 构造阶段  第12章 在交付阶段度量什么   12. 1交付阶段的度量工作    12.1.1 度量什么    12.1.2 分析趋势和评估测试结果    12.1.3 影响可发布性的其他一些需要考虑的事项   12.2 如何对交付阶段进行总结   12.3 小结  第13章 在嵌入规划的项目中度量什么   13.1 将项目组织起来构成规划   13.2 如何度量规划的进阶   13.3 小结 附录 A迭代式项目管理起步 推荐书目

章节摘录

插图:除了这些机构以外,软件业的专业人士们也在频繁地求教于其他行业所公布的一些指南,比如Six Sigma(发源自Motorola公司的一套以降低缺陷为目标的工作规范)和精益制造(丰田公司开创的一种“以减少制造过程中的浪费为目标”的概念)。无论是精益制造还是Six Sigma,都不是专门为软件产业所设计的,但是这种对于解决软件项目管理难点的执著还是一直激励着业界领袖和从业者们去思考各种通用的为项目管理而编制的指南。此外,自从2000年以来,各种组织和专业联盟已经提出了很多不同的新方法来解决软件项目中天生的难点,比如敏捷联盟、Scrum联盟、极限编程社区,更别说还有如OpenuP(the Open unified Proeess)那样的各种开源的(非商业性的)项目了。每个组织都推出了不同的开发方法,每种方法都对特定的软件开发团队有所帮助,团队的规模、风格、集体的经验程度决定了其中一种方法更适合自己。尽管这些专业团体和公司的观点和目标不同,但它们的方法都强调了一个共同的目的,那就是:要克服那些从20世纪60年代就开始流行的传统软件开发技术的不足。总结起来说,在这些新方法与那些较传统的方法之间,最主要的差别就是:新方法代表的是迭代式的增量开发的实践,而旧方法代表的是瀑布式的开发实践。这在某种程度上似乎是一种粗略的特征划分,但这一区分足够合理,能够达到我们想要的目的。


编辑推荐

《软件开发经济学》编辑推荐:高效的软件开发不再仅仅是IT人员关注的事:今天,它对于整个企业都至关重要。然而,商务人员通常没有准备好如何对软件活动做出明智的决定,《软件开发经济学》将帮他们做好准备。作者利用自己几十年的经验来展示如何利用实用的、以经济学为基础的技术来计划和管理软件项目,从而得到最大的技术投资回报。〈br〉作者从破除那些广为流传的软件成本神话开始,解释了在当前的开发环境下传统的以工程为基础的软件管理为什么会产生令人无法接受的低效率。接下来,作者展示了业务经理和技术经理如何将经济原则与迭代式的开发相结合,从而利用有限的资源得到最佳的结果。只要使用这些技术,就能构建出那些能使业务创新和过程改进最大化的系统。〈br〉《软件开发经济学》重点包括:〈br〉如何反复地量化项目所要交付的价值,如何在需要时迅速调整方向。〈br〉如何降低软件项目的规模、复杂度以及其他一些会导致项目失败的因素。〈br〉如何确定并淘汰那些不起作用的软件开发过程。〈br〉如何改进开发过程、减少返工、规避风险和识别低效率。〈br〉如何通过提高个人技能、团队交互和组织级能力来建立一支更熟练的团队。〈br〉如何使用集成的自动化工具改进效率。〈br〉在项目的起始阶段、细化阶段、构造阶段和交付阶段,分别该度量什么。〈br〉《软件开发经济学》能够帮助业务经理和技术经理在软件开发的整个过程中做出更好的决策,并帮助团队领导和项目领导随时跟踪一个项目或创新活动,从而更快地交付更多的价值。

图书封面

图书标签Tags

广告

下载页面


软件开发经济学 PDF格式下载



相关图书