内容简介
混沌是指编程中的无序场面—为计算机和因特网开发各种应用软件的各种项目中,其日常活动的真实情形就是如此。作为一部汇集业界专家的精粹论文集,本书体现了作者们深刻的洞察力和智慧,向读者展示了软件项目开发及组织中关键的实践过程、设计方法、团队管理等。通过那些引导思考的、实用的、具有里程碑式的精悍文章,对实际工作者在软件开发、网络应用开发、软件工程和技术管理等领域提出了指导和建议。 前言 混沌,不是指宇宙演化早期的那种混沌状态,也不是指数学中的那门混沌分支学科,更不是指社会转型中那些狂风暴雨式的革命场景,而是指编程中的无序场面——为计算机和因特网开发各种应用软件的各种项目中,其日常活动的真实情形就是如此。 在这种混沌中,无数的管理者为保持控制力和稳定而努力,为软件性能和可预测性而竭尽心思。席信息官负责战略方向和企业间的协调工作,而项目负责人向他们上交日常的管理和开发进程报告。站在项目负责人的角度,他们试图理解和管理无比复杂的开发技术和流程,但技术变化的步伐却越来越快,从而导致复杂性不断,也更加难于管理。 放牧松鼠,圈养野猫,教化好战的游牧部落。无论采取何种暗喻,软件开发管理中的各种挑战都意味着一个传奇故事。对规模不同、范围各异的项目来说,不管是由分工明确的数千名程序员和测试员,还是由一小队自由职业者来开发,这些故事的警告性意味是一样的。项目支出可能会加倍超出,交货日期不断推延,所有的一切就像高速公路上飞奔的汽车不得不拥塞在出口处一样。如果存在预算上限、技术目标和交货日期的话,软件开发项目的支出很少有低于项目预算的情形,技术目标也很难全部实现,交货日期往往后延。应用软件远比高耸的写字楼复杂得多,可项目启动时的规划有时不过是写在餐巾纸背面的草图。 一些管理者放弃了对这种混沌的抵抗,并且坦然接受为项目的工作状态、无可改变的现实,以及为了管理这个难于理解的高薪行业而不得不付出的代价。他们努力让乱哄哄的人群变得有序,不断追求尽可能高的技术系统运转能力。有时候,产品需求不过是行政人员的幻想,而不知内情的市场人员却在任意设置交货日期,此时他们也只好试图从中寻找某种确定性。 而另外一些管理者则在让人昏沉的编程手册和详细解释各个步骤的流程说明中寻求避风港。他们通过严格周密的管理来产生对项目的可预测性,从而也使支出由此变得庞大的系统听起来十分合理。 还有一些管理者指鹿为马,将失败说为成功。他们对无法管理的混沌举杯庆贺——因为那是创造的熔炉。如果要释放数字天才的能量从而改变地球人的生活,那么混沌是无法缺少的必要环境。 但是在混沌的身后,除了投降和庆贺之外,隐藏着另外一种对软件开发的观点—— 软件开发项目和软件开发者其实都是可以管理的,混沌不是无法避免的必然情形,也不是开发过程中挥之不去的阴影。在这个观点中,拯救的力量存在于需求分析的细化工作中,成功来源于敏锐的洞察力,控制来自于用心的观察和规划。 专家见解的在于看法的多样化。本书汇集了体现他们各自洞察力、所受启示和实用技巧的文章,以及那些工作在第一线的管理者和咨询师—— 一群按月向管理论坛栏目提供稿件的专家的稿件,他们这些精英对争议颇多的问题提出了自己的看法。管理论坛是极负盛名的行业出版物《软件开发》杂志的一个定期专栏,它已经被为是该杂志欢迎的专栏之一。 管理论坛专栏为忙碌在一线的管理者服务,它提供了发人深思的实用短文,由工作在软件开发、网络应用开发、软件工程和技术管理等领域的那些水平的和实干家撰写,如艾德·约登、凯珀斯·琼斯、米勒·佩吉-琼
目录
译者序 前言 作者简介 第1部分 关于人的论述 1 第1章 管理麻烦的人:改变那些可以改变的人 3 第2章 避免反馈陷阱:改善与顾客和委托人的交流 11 第3章 卓有成效的培训:吸收并固化知识 19 第4章 保持平衡:管理工作关系 27 第5章 衡量工作:关于如何雇用的人 35 第6章 问题求解的共性:人的习惯 43 第2部分 项目管理 51 第7章 要事先行:项目管理入门 53 第8章 钱包和棒球棒:支持原则 61 第9章 以数字衡量的开发效率:加快和延缓软件开发的因素 69 第10章 对杂乱数据的管理:管理数据迁移 79 第11章 与每一个人都有关:软件可用性的责任 87 第12章 “创新式”设想:摈弃幻想,脚踏实地 95 第13章 软件协作:管理合作的复杂性 103 第14章 管理转包项目:内部项目管理的外部化 111 第15章 对待挑剔的客户:采取双赢策略 119 第16章 避开冰山:注意项目开发中的危险警示 127 第17章 在柠檬果里提取柠檬汁:从项目失败中汲取教训 135 第3部分 在压力下工作 143 第18章 死亡之旅:从一个没有希望的项目中生还 145 第19章 网络时间开发:高速的软件工程 153 第20章 从危机模式中摆脱危机:强制加班的可替代方法 161 第21章 缩短发布周期:突破瓶颈,跨越障碍,走出困境 169 第22章 网络公司管理:消除创业型公司综合症 177 第23章 化繁为简:模型驱动网络开发中的捷径 185 第4部分 应达到的质量 195 第24章 不要再找借口:创新的技术与无关的离题 197 第25章 混乱都是你的错:站在软件行业的角度看 205 第26章 重复应用的诱惑:实现可重复应用的组件 213 第27章 现实的需求:在质量和交付期限之间抉择 221 第28章 规则说了算:作为需求的商务规则 229 第29章 驯服狂野的网络:网络开发中的业务调整 237 第30章 稳定公司的免疫系统:抵制风险厌恶的倾向 245 第31章 创造软件:需要上的突破 253 第5部分 过程与实践 261 第32章 自由的有序:适应性的有机模型 263 第33章 超越第五级:从化到适应性 271 第34章 化还是适应性:向典范看齐 279 第35章 适应性软件开发:一个经验报告 287 第36章 创造诚信的文化:期限、纪律和管理成熟度 295 第37章 前线归来的突击队员:总结一线战斗的教训 303 第38章 通用模型—— 企业资产的一种 311 第39章 送给管理者的卡片戏法:用于设计和 决策的简单方法 319 第40章 一次性软件:在软件开发中应用废弃原则 327 第41章 软件霸权:超越通用的解决方案 335 第6部分 领导与团队合作 345 第42章 规模扩大:大型团队合作 347 第43章 维持团队合作:在开发周期内促进项目开发 355 第44章 来自基层的管理:俄国大使馆的方法 363 第45章 如何成为:给未来项目开发经理的建议 371 参考文献 385