注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络行业软件及应用善工利器 程序员管理范式

善工利器 程序员管理范式

善工利器 程序员管理范式

定 价:¥119.80

作 者: [美] 米奇·W.蒙托,[美] 罗恩·利克蒂 著,王小刚,陈连生 译
出版社: 人民邮电出版社
丛编项:
标 签: 暂缺

ISBN: 9787115572592 出版时间: 2022-01-01 包装: 平装
开本: 小16开 页数: 365 字数:  

内容简介

  这是一本系统阐述在面对容易失控的软件开发团队时,如何管理、建设和赋能团队,以及成功交付开发成果的书。本书总结了两位作者多年的软件开发实践经验和软件团队管理经验,通过深刻的观察和分析,围绕软件开发管理的核心问题——人的管理,讲解如何真正理解程序员、如何找到合适的程序员、如何与程序员顺畅地沟通等困扰大家已久的问题,进而扩展到如何以人为本地建设团队、管理人员、管理项目。相较于第1 版(《告别失控:软件开发团队管理必读》),第2 版(本书)增加了如何招聘和培养程序员,并搭建卓有成效的团队的相关内容。

作者简介

  作者[美]米奇·W. 蒙托(Mickey W. Mantle)从事软件开发工作超过50 年,作为软件和硬件产品创建者、管理者和领导者,先后供职于Evans & Sutherland、Pixar、Br?derbund Software和Gracenote公司。他现在从事移动/平板应用开发、写作和咨询工作。他的经验包括指导全球的研发团队和管理跨职能的团队进行7×24 小时的高效工作以交付成功的产品。凭借在印度、俄罗斯、加拿大、日本和韩国挑选、创建和管理离岸开发机构的经验,他对使用跨时区、跨地域的不同人员和团队进行软件开发所面临的管理挑战有深刻的见解。[美]罗恩·利克蒂(Ron Lichty),从事软件开发工作超过35 年,历任程序设计经理、开发总监、产品与工程副总裁,先后供职于苹果、富士通、Schwab、斯坦福大学。他是6家创业公司的顾问,也是硅谷历史悠久的开发者组织SVForum的董事会成员。他曾开设敏捷和Scrum相关的演讲和在线讲座。译者王小刚,《软技能:代码之外的生存指南》和《软技能2:软件开发者职业生涯指南》译者。毕业于西安电子科技大学计算机学院,“计算机及应用”专业,研究生学历;曾先后服务于华为、IBM、中国移动无线数据研发中心,参与过3G(第3代无线通信技术)基站、MISC(移动互联网服务中心)等产品的研发工作,担任过项目经理、质量保证经理、质量总监等职务。他是业界知名的咨询顾问和培训讲师,拥有NPDP及NPDP认证讲师、PMP、PBA、ACP、CSM、CAL等多项认证资质,华为云MVP(最有价值专家,授予领域:产品研发管理),六西格玛黑带;致力于产品研发管理、项目管理和团队管理等领域的研究工作,帮助研发企业持续提升产品创新与研发管理能力,先后为100多家企业的超过30000名各级各类管理人员和研发人员提供过咨询培训服务。(译者)陈连生,敏捷从业者、咨询师,在互联网、IT行业具有超过15年工作经验,在互联网以及软件领域的产品研发、敏捷项目管理、DevOps落地等方面有丰富的经验。在他的敏捷咨询师的生涯中,他为十余家公司提供过敏捷转型与研发效能提升等方面的辅导,也在多家咨询客户内部建立起完整的产品研发体系,从源头帮助企业开发出贴合市场要求的产品并取得市场竞争优势。他是EXIN Agile Scrum Master、EXIN Agile Business Professional以及EXIN DevOps Professional等敏捷课程以及PMI-PBA、NPDP 等产品研发类课程的授权讲师,并以布道师的身份,言传身教地将敏捷、产品研发等理念与实践推广到企业。

图书目录

第 1 章 程序员为何难以管理 / 1
1.1 程序员的特点 / 3
1.2 优秀的程序设计经理从何而来 / 6
第 2 章 了解程序员 / 8
2.1 程序设计工作的不同类型 / 9
2.1.1 嵌入式程序员和物联网程序员 / 9
2.1.2 前端程序员 / 10
2.1.3 后端程序员 / 10
2.1.4 数据库程序员 / 11
2.1.5 Web 开发人员及其他脚本编写者 / 12
2.1.6 全栈程序员 / 12
2.1.7 DevOps / 13
2.1.8 DevSecOps / 14
2.2 程序员的不同类型 / 15
2.2.1 系统工程师/架构师 / 15
2.2.2 系统程序员 / 15
2.2.3 应用程序员 / 16
2.2.4 非真正意义上的程序员 / 17
2.3 领域知识 / 17
2.4 程序员的工作要求与能力 / 18
2.5 雇佣关系类型 / 22
2.5.1 内部员工 / 22
2.5.2 远程员工 / 23
2.5.3 合同制员工 / 23
2.5.4 根据合同管理团队和外包公司 / 24
2.6 代沟 / 24
2.7 个性特点 / 27
2.7.1 左脑型与右脑型 / 28
2.7.2 夜晚型与白天型 / 29
2.7.3 “牛仔”与“农夫” / 29
2.7.4 “英雄” / 30
2.7.5 内向的人 / 31
2.7.6 愤世嫉俗的人 / 31
2.7.7 “奇葩” / 31
2.8 本章总结 / 32
2.9 工具 / 32
第3 章 寻找并延揽出类拔萃的程序员 / 33
3.1 确定要招聘哪种程序员 / 35
3.2 编写岗位描述 / 36
3.3 沟通招聘需求 / 40
3.4 招聘全职员工 / 41
3.4.1 招聘工作一直在路上 / 42
3.4.2 招聘预算 / 43
3.4.3 招聘案例分析 / 44
3.4.4 内部推荐 / 46
3.4.5 高效的招聘 / 47
3.4.6 招聘小贴士 / 48
3.5 招聘合同制员工 / 50
3.6 审查简历 / 51
3.7 缩小面试范围 / 52
3.8 准备面试 / 53
3.9 面试 / 59
3.10 做出决定雇用一位候选人 / 62
3.11 给候选人发出恰如其分的录用通知 / 65
3.12 持续跟进,直到候选人答应入职 / 71
3.13 本章总结 / 71
3.14 工具 / 72
第4 章 帮助新员工顺利入职 / 73
4.1 引导新员工尽早入职 / 73
4.2 为新员工的到来做好准备 / 75
4.3 第 一天必须要做的事 / 76
4.4 向新员工介绍公司 / 79
4.5 确保新员工成功融入团队 / 80
4.6 对新员工最初的预期 / 82
4.7 本章总结 / 84
4.8 工具 / 85
第5 章 成为高效的程序设计经理:向下管理 / 86
5.1 赢得技术层面的尊重 / 86
5.2 招聘出类拔萃的程序员 / 92
5.3 锤炼现有的团队,强化他们的技能 / 92
5.3.1 因人制宜,因人施“管” / 92
5.3.2 引导 / 97
5.3.3 仪表盘 / 97
5.3.4 保护团队 / 98
5.4 绩效考核和改进 / 100
5.4.1 设立目标 / 100
5.4.2 绩效评估 / 102
5.4.3 清楚何时止损 / 107
5.4.4 裁退清单 / 109
5.5 人员组成结构方面的考量要素 / 109
5.5.1 人员配置 / 109
5.5.2 组织 / 114
5.5.3 职能化程序设计团队 / 120
5.5.4 跨职能团队 / 121
5.5.5 敏捷团队 / 123
5.6 对功能失调的组织进行故障诊断 / 123
5.7 交付成果和庆祝胜利 / 124
5.8 本章总结 / 124
5.9 工具 / 125
第6 章 成为高效的程序设计经理:向上管理、对外管理以及自我管理 / 126
6.1 向上管理 / 126
6.1.1 了解你的领导 / 127
6.1.2 准备好沟通材料 / 128
6.1.3 了解你领导的领导 / 129
6.1.4 时机 / 130
6.1.5 成为模范员工 / 131
6.1.6 小结 / 132
6.2 对外管理 / 132
6.2.1 与部门内的人合作 / 132
6.2.2 了解其他部门 / 133
6.2.3 有效利用重要的职能部门,获得他们的支持和协助 / 135
6.2.4 管理跨公司关系 / 139
6.2.5 小结 / 145
6.3 自我管理 / 145
6.3.1 个人风格 / 146
6.3.2 时间管理能力(优先级管理) / 148
6.3.3 沟通管理能力 / 150
6.3.4 管理实践 / 153
6.3.5 跟踪管理能力 / 157
6.3.6 虚心好学、处处请教的能力 / 158
6.3.7 小结 / 159
6.4 本章总结 / 159
6.5 工具 / 160
经验法则与至理名言 / 161
管理中面临的挑战 / 163
人员管理 / 181
管理团队,顺利交付 / 204
第7 章 激励程序员 / 222
7.1 激励理论 / 222
7.1.1 马斯洛的需求层次理论 / 222
7.1.2 麦格雷戈的X-Y 理论 / 224
7.1.3 赫茨伯格的激励因素和保健因素理论 / 225
7.2 适用于程序员的激励因素 / 226
7.3 理论付诸实践 / 229
7.4 保健因素—缺乏会导致不满的因素 / 230
7.4.1 赢得员工的尊重 / 230
7.4.2 趣味性 / 234
7.4.3 学习与成长 / 235
7.4.4 良好的工作条件 / 236
7.4.5 合理的公司政策和管理 / 241
7.4.6 爱人以德 / 243
7.5 关键激励因素 / 247
7.5.1 改变世界 / 248
7.5.2 学习与成长 / 249
7.5.3 工具和技术 / 250
7.5.4 认可与赞许 / 251
7.5.5 趣味性 / 252
7.5.6 利益 / 253
7.6 个人承诺 / 254
7.7 对新技术的攻守之道 / 256
7.8 了解你的程序员的动力—从头开始 / 257
7.9 本章总结 / 258
7.10 工具 / 259
第8 章 建立成功的程序设计文化 / 260
8.1 准确定义“成功”的概念 / 261
8.2 程序设计文化 / 261
8.3 公司文化 / 262
8.3.1 化繁为简,降低公司文化的复杂度 / 263
8.3.2 趋利避害,远离公司的负面文化 / 264
8.3.3 弹斤估两:技术在你的公司中扮演什么样的角色 / 265
8.3.4 探本溯源:哪种力量推动你的公司的发展 / 266
8.4 成功的程序设计文化的特征 / 268
8.4.1 互相尊重 / 269
8.4.2 创新 / 269
8.4.3 合规 / 271
8.4.4 高品质交付 / 271
8.4.5 高效率交流 / 272
8.4.6 虚拟团队间的沟通 / 273
8.4.7 公平 / 275
8.4.8 授权 / 276
8.4.9 职业精神 / 277
8.4.10 直面问题 / 277
8.4.11 追求卓越 / 278
8.4.12 奖励程序设计中的卓越表现 / 279
8.4.13 团队精神和协作 / 279
8.4.14 激情 / 279
8.4.15 客户至上 / 280
8.4.16 持续学习 / 281
8.4.17 良好的环境 / 282
8.5 本章总结 / 283
8.6 工具 / 283
第9 章 成功管理软件交付过程 / 284
9.1 激励目标 / 285
9.2 定义“成功” / 286
9.2.1 识别无法调整的交付日期 / 288
9.2.2 奖励计划 / 289
9.3 确保需求清晰 / 290
9.3.1 通过合作来进行优先级排序 / 293
9.3.2 把需求限制在“做什么”而不是“如何做” / 296
9.3.3 力求取悦客户 / 297
9.4 定义“完成” / 298
9.5 估算所需工作 / 300
9.6 确保适当的架构与设计 / 306
9.6.1 多少设计才足够 / 308
9.6.2 概念论证、原型和Spike 的价值 / 309
9.6.3 进行设计评审 / 310
9.7 支持工作 / 310
9.7.1 你需要一个计划 / 313
9.7.2 确定项目的节奏 / 315
9.7.3 设立共同认可的里程碑 / 315
9.7.4 确保每个人都在沟通 / 316
9.7.5 聚焦于使命 / 318
9.7.6 消除障碍 / 319
9.7.7 确保达成商定好的标准与需求 / 320
9.7.8 采用测试驱动开发 / 321
9.7.9 坚持代码审查 / 322
9.8 交付上线 / 323
9.8.1 不再增加新功能 / 324
9.8.2 运行产品 / 324
9.8.3 准备好宣布成功以及开启更新版本的工作 / 325
9.8.4 知道何时减少损失 / 326
9.8.5 OEM 或国际版 / 327
9.9 圆满完成 / 328
9.9.1 庆祝 / 328
9.9.2 回顾 / 329
9.9.3 分享 / 332
9.9.4 重构 / 332
9.9.5 小版本升级 / 332
9.10 本章总结 / 333
9.11 工具 / 333
第 10 章 敏捷团队中的管理者 / 334
10.1 为什么管理者可能会觉得被冷落 / 335
10.2 敏捷如何改变管理者职责 / 336
10.3 敏捷组织中管理者的职责 / 338
10.4 敏捷组织结构调整如何改变管理者的职责 / 339
10.5 敏捷团队中管理者的十大关键职责 / 342
10.5.1 培养敏捷文化 / 343
10.5.2 拥抱敏捷价值观 / 344
10.5.3 辅导和指导良好的敏捷实践 / 348
10.5.4 消除敏捷误区 / 351
10.5.5 铭记敏捷模式和反模式 / 356
10.5.6 牵头组建跨专业团队的实践社区 / 360
10.5.7 消除障碍 / 361
10.5.8 咨询与辅导 / 362
10.5.9 雇用 / 363
10.5.10 解雇 / 364
10.6 本章总结 / 364
10.7 工具 / 365

本目录推荐