摘要: 第5章 快速开发中的Core Issues 人们感觉许多软件项目进展缓慢,但是,不同项目却以不同的方式“缓慢着”。有一些项目确实龟速前进,而另外一些项目则是因为无法达到预先估算的进度目标而“显得”慢。 软件项目暗藏着太多的变数,以至于根本无法为其设定一个百分之百准确的进度计划。任何一个软件项目,它绝不可能有一个项目完成的特定日期,而只会存在完成日期的范围:有些日期范围在概率上更有可能完成项目,... 阅读全文
posted @ 2012-07-15 22:31 李嘉 (Justin) 阅读(877) 评论(0) 推荐(0) 编辑
摘要: 第4章 风险管理 软件经理必须悉心学习风险管理,才能在项目中避免项目失控。正如Tom Gilb所说:“如果你不主动击败风险,它们就会主动击败你。”一个成功的软件项目,应该着眼于事前识别和防范风险及事中监控风险,而不是对项目风险坐视不理直至风险变成现实。 下表列出了最常见的进度风险及其化解方法。 表 4-1 最常见的进度风险 进度风险 ... 阅读全文
posted @ 2012-03-31 06:54 李嘉 (Justin) 阅读(648) 评论(0) 推荐(0) 编辑
摘要: 第3章 软件开发的基础性实践 人们经常劝导你要采用标准的软件工程实践,因为它们是“正确”的或者它们会提高产品的质量。但是,采用软件开发的基础性实践的原因不在于它们“正确”,而在于它们可以切实减少费用和缩短产品面市时间。软件开发的基础性实践分为管理实践、技术实践和质量保证实践。 3.1 管理的基础性实践 3.1.1 Planning(项目规划) 软件业界的最佳完成项目都具有这个鲜明特征:强有... 阅读全文
posted @ 2012-03-31 06:50 李嘉 (Justin) 阅读(867) 评论(0) 推荐(0) 编辑
摘要: 第1章 软件开发策略 1.1 软件开发中的四维 任何软件项目,都有四个重要的维: people、process、product和technology。为使项目能顺利进行,软件经理必须充分发挥这四维的作用。下表是对这四维的总结。 表 1-1 软件开发中的四维 维度 如何优化 ... 阅读全文
posted @ 2012-03-04 21:19 李嘉 (Justin) 阅读(1463) 评论(0) 推荐(0) 编辑
摘要: 关心你的技艺 Care About Your Craft 如果你不在乎能否开发出漂亮的软件,你又何必要浪费时间去开发软件呢? 思考你的工作! Think! About Your Work 我们向你发出挑战: 在你做每件事情的时候,思考你在做什么.它是对你每一天、在每一次开发上所做出的每一项决策的批判评估.不间断地思考, 实时地批判你的工作. 提供各种选择, 不要找蹩脚的借口 Provide... 阅读全文
posted @ 2011-09-12 21:40 李嘉 (Justin) 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 第 V 篇 在这里工作应该很开心 这一篇介绍软件经理要做些什么来让程序员觉得工作是充满乐趣的。 第 24 章 混乱和秩序 如果一个项目进行得按部就班、循规蹈矩,那么也就意味着这个项目没有太多挑战性,对程序员而言,这样的工作和项目就是无趣的。软件经理对此能做点什么呢?一个最基本的回答是:给项目引入一些未知和混乱,从而提高项目的难度,从而激发起工程师的兴趣... 阅读全文
posted @ 2011-09-03 09:06 李嘉 (Justin) 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 第 III 篇 适当人才 这一篇探讨软件经理应遵循怎样的选人标准来为工作岗位物色合适的人员。 对任何努力的最终成果,谁做这项工作往往比这项工作如何做的影响更大。然而现代管理科学几乎不注意雇用并留住适当的人。管理学更关注的是管理者在工作中扮演的重要战略家和战术家的角色。在本篇中,我们试图消除战略家型管理者的观点所造成的损失,并鼓励软件经理用下面的方式追求成功: l 雇用合适的人 l 使他... 阅读全文
posted @ 2011-09-03 08:59 李嘉 (Justin) 阅读(409) 评论(0) 推荐(0) 编辑
摘要: 第 II 篇 办公环境 本篇讨论软件经理应该为程序员营造怎样的工作环境。 在办公环境中,有许多分散程序员注意力的事情。这些事情让程序员宝贵的时间被浪费在本与工作无关的事情上了。如果软件经理在为提高团队生产力的问题而苦恼,那么可以最先从工作环境的改善入手,因为这是最立竿见影的做法。 第 7 章 家具警察 软件经理若想提高团队的生产力,那么一... 阅读全文
posted @ 2011-08-22 21:08 李嘉 (Justin) 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 第 I 篇 管理人力资源 这一篇中的章节讨论软件项目经理如何管理手下的程序员。 绝大多数软件经理有一种特别不好的习惯:总是把人当作模块组件来管理。这种习惯的起源可能是软件经理在作为技术人员期间接受了很好的“模块化”的熏陶,因此当他们成为管理人员之后,这种“模块化”的思维也惯性地成为了他们的管理方式。 不幸的是:这种方法并不有效。我们将在本篇中讨论管理程序员的“非模块化”方法。 第 1... 阅读全文
posted @ 2011-08-22 21:05 李嘉 (Justin) 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 第六章 我怎样在官僚体系下生存 6.1 米德市的三角职位轮换 相比于开发新产品代码, 维护遗留代码对程序员而言是个沉重的负担. 所以, 为了减少这种施加给维护程序员的负担, 新代码在开发时就必须坚持高品质, 并时时刻刻替今后的维护人员着想. 6.2 大型机构、小型计算机和独立程序员 随着PC的普及, 软件行业出现了一种趋势: 个体的程序员除了做一份有稳定收入的工作外, 还开始在业余时间接私活来做.... 阅读全文
posted @ 2011-08-09 21:39 李嘉 (Justin) 阅读(380) 评论(0) 推荐(0) 编辑